드뎌 포너블 문제당
포렌식 풀면서 툴깔다가 컴터 고장나는줄 알았다ㅠ
Ida로 까보니 main에 요런 코드가 있다
Play함수의 내부이다
요건 쇼핑함수!
근데 correct()를 들어가보니 setreuid 후에 시스템함수를 호출한다
플래그가 나오겠지?
그럼 money를 음수로 만들면 된다!
그런데 어떻게?
Bof를 생각해서 money의 스택을 확인해보니 rabbit과 res와 이어져있다
introduce에서 rabbit에 bof를 시켜주면 될 듯 하다
chmod 777권한을 주고 gdb로 까봤다 rabbit에 문자열을 입력한 후 출력 전에 breakpoint를 걸어주고 실행
200개를 넣어주니 정확히 money전까지이다
아 참고로 6300860은 ida에서 확인한 money의 주소를 10진수로 바꾼 값이다
Pwntool을 사용해서 코드를 짜쟈
여기서 쓸데없는 삽질을 좀 했는데 음수 -1은 16진수 0xffffffff이다
리틀엔디언으로 200후에 bof해주면
Get flag
'CTF > KCTF' 카테고리의 다른 글
[Reversing] 난 별이 좋아! (0) | 2018.02.01 |
---|---|
[Reversing] Where am i? (0) | 2018.02.01 |
[DIGITALAPP] RDP (0) | 2018.02.01 |
[DIGITALFORENSIC] 안녕!안녕!안녕! (0) | 2018.02.01 |
[CRYPTO] Congestion (0) | 2018.02.01 |