[LoB RedHat 6.2] LEVEL 5: orc -> wolfman LEVEL 5: egghunter + bufferhunter 환경변수, buffer를 이용한 공격이 막혔다. 하지만 아직 argv[2]는 유효하다. bash2 실행 후 복사본 만들고 분석해보자. LEVEL 4와 payload는 같다. strcpy 호출 직후의 위치를 파악하고 그곳에 breakpoint를 건 뒤 Stack을 살펴보자 저번과 비슷하다. 적당히 0xbffffc44를 ret 주소에 덮기로 하자. argv[1]: buffer+sfp를 A 44개로 덮고, ret은 위에서 봐둔 argv[2]의 NOP sled 중간 주소argv[2]: NOP 40개 + 쉘코드 로 구성한 payload로 쉘을 얻었다. 더보기 [backdoor] magic (10p) 이번 문제는 base64 인코딩 된 문자열을 해독하는 문제이다. (10점이라 얕봤다) Python으로 이렇게 하면 쉽게 디코딩이 가능하다. 실행해보니, 다시 암호화된 문자열이 나온다. Caesar Cipher인 듯 하니 brute force 코드를 짜서 확인해보자. 이런 식으로 짜면 된다. 알파벳 범위 안에서 해야 하므로, 'Z'를 넘어선 ASCII 코드 값의 경우 26을 빼고 문자로 변환한다. 실행하면 이렇게 나오는데, 정상적인 단어가 나오는 문장이 평문이다. 위에서 얻은 패스워드를 SHA256 해시 값으로 만들어야 한다. 아래와 같이 코드를 추가해주면 된다. 이러면 해시값이 나오는데 인증하면 ??? 안된다. 대문자인 패스워드를 대상으로 해시 돌렸는데, 소문자로 해봐야겠다. 뒤에 .lower()만 붙이.. 더보기 이전 1 ··· 622 623 624 625 626 627 628 ··· 661 다음