목록분류 전체보기 (205)
Bace
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ccjBHc/btqBGrt1p3a/Hb2PLLAYTRJRQY54Zdw181/img.png)
32비트 프로그램이다. 보호기법이 안걸려있다. 프로그램을 실행하면 다음과 같이 나온다. IDA로 봐보았다. scanf로 s를 받은 다음 %p로 주소를 출력해준다. 보호기법이 안걸려있으므로, 아무 글자나 넣고 맨처음 주소를 알아내고 Again을 통해 다시 돌아가서 s, sfp의 크기인 0x88 + 4를 쉘코드와 \x90으로 다 채워주고 처음 주소를 ret으로 주면 된다. # exploit Data에 a를 넣어 맨처음 주소를 알아내고, Again으로 돌아와서 쉘코드를 넣고, \x90으로 나머지를 채우고 ret에 data를 주고 Again을 n으로 넣어 끝냈다. # 결과 flag가 떴다. HackCTF{y0u_d1d_7h3_45516nm3n7_5ucc355fully!} # Auth
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/TeyQH/btqBGqIBt5Q/es9kxr5KyhNu2lYySLtyWK/img.png)
파일은 32비트 파일이다. 보호기법은 NX와 PIE가 걸려있다. 프로그램을 실행하면 다음과 같이 나온다. aaaa를 넣어봤다. Nah... 가 나온다. IDA를 통해 확인해보았다. welcome j0n9hyun 주소 bof_pie 프로그램을 실행하면 앞의 5자리만 바뀌고, 뒤의 3자리는 welcome의 주소인 909가 그대로 박혀있다. 이 909를 j0n9hyun의 주소인 890으로 바꾸면 문제가 풀릴 것이다. # exploit p.recvuntil로 welcome의 j0n9hyun is 까지 받은 후 뒤의 주소를 받아서 data에 넣어준다. 그리고 data에서 welcome의 주소인 0x909를 빼준 후 j0n9hyun의 주소인 0x890 을 더해주면 된다. 그리고 welcome의 v1의 크기인 0x1..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bzUeZF/btqBEBEjuCh/a1Ri5eUVrZZEwhLSCTBhbk/img.png)
문제는 다음과 같다. 머리말을 생각해보란다. 일단 버프시트를 통해 127.0.0.1로 바꿔봤는데, 풀리지 않는다. 그래서 IP 관련 header를 검색해봤더니, X-Forwarded-For(XFF) 라는게 나왔다. X-Forwarded-For: IP 로 보내주면 된다고 한다. 버프시트를 통해 X-Forwarded-For: 127.0.0.1 로 보내보았다. flag가 떴다. solve