블로그보다가 바이너리 있길래 easy easy.. very easy 다른거 풀다가 안풀려서 풀어봤는데 easy. 그냥 RTL 하면 된다. buf의 위치는 bp-108인데 입력은 130만큼 받는다. 고로 bof가 발생한다.system 함수는 있겠고. 설마 /bin/sh이 있나 했더니 있었다. 고로 간단하게 RTL했다. 먼저 메모리구조는buf(108byte) | sfp(4) | ret(4) | AAAA | 인자 요러케 되고 저렇게 공격하면 된다. 0x8048310 0x804a020 ("/bin/sh") 이것들을 이용해서. 123456789101112131415from pwn import * s = process("./easy") system = 0x8048310cmd = 0x804a020 payload = ..
이 문제는 간단한 bof로 값을 변경하는 문제이다. nc local 서비스 실행과 소켓 통신 오버플로우를 정리하기 위해 라이트 업을 쓴다. 먼저 이 바이너리는 소켓프로그래밍이 되어 있기때문에. while true; do nc -l -p 1234 -e filename; done 출처: http://s0ngsari.tistory.com/entry/ncnetcat-서버-만들기 [s0ngsari] 를 통해 nc서버를 열어줘야 한다. 실제 CTF에서는 열려있기 때문에 상관이 없다. 나는 따로 푸느라 nc서버를 다시 연 것이다. 최근에는 -e옵션이 없어서 따로 설정을 해줘야 한다. 이렇게 서버를 연 후 nc localhost 31337로 연결을 하면, 다른 오류없이 잘 실행이 된다. 이 문제에는 코드가 제공된다. ..
코드게이트 본선에 출제 되었던 betting write-up 이다. file64bit elf 파일이다. 카나리와 nx가 활성화 되어있다. 분석 메인함수 이다. s의 위치는 bp-20h 이다.read로 s에 입력을 0x28만큼 받을 수 있다. 카나리 변수 v24가 bp-8h이니 메모리 구조는 ebpS+etc (24byte) | sfp(8byte) | ret(8byte) 이렇게 된다. 따라서 s를 40만큼 입력할 수 있으니 canary leak이 가능하다. Hi, s가 출력된다. canary의 첫 바이트는 null 이므로 S(bp-20h) 부터 25byte를 입력받으면 저 부분에서 나머지 7byte leak이 가능하다.그 이후 scanf로 v22를 입력받는데 여기서 bof가 가능하다. 참고로helper라는 ..
[Codegate 2017] babypwn write-up 코드게이트 본선에 가고싶다.. 열심히 준비해서 꼭 본선진출하면 좋겠다. babypwn을 풀면서 소켓 payload 짜는 데 도움이 된 것 같다. 아직 잘 모르겠다 코드게이트2018에서 문제를 풀 수 있을지. 그래도 최선을 다해 준비해야겠다. 먼저 바이너리는 인터넷 상에서 구했다. 파일을 실행하면,\이러한 내용이 출력 된다. 1은 echo이고2는 reverse echo를 해주는 프로그램입이다 3을 입력하면 종료다. fileelf 32bit이다. 분석 메인 함수이다. 포트가 8181이다. 소켓프로그래밍이 되어있다. 빠르게 취약점을 찾아보겠다. first_8048B87 함수를 보겠다. 밑에 함수 3개를 쫘르륵 호출을 하는데 그중에서 두번째가 의심스러워..
ROP에 대해 공부했으면 한번씩 푼다는 ropasaurusrex를 풀었습니다. ROP를 접하고 처음 exploit을 하는 것이라 python socket에 대한 이해와 pwntool에 대한 공부가 좀 도움이 되었던 것 같습니다. 거의 하루를 오류때문에 미쳐버릴 뻔 했습니다. 아직도 무슨 오류인지 모르겠는데 모듈에 대한 문제 인 것 같습니다.. recv가 안되는 오류인데(소켓, 폰툴 둘 다) 계속 실행시키면 갑자기 안되다가 됩니다. 무슨 오류인지 아시면 댓글로 알려주세요.. 파일은 32-bit elf 파일입니다. checksec먼저 checksec을 이용해서 어떠한 보호기법이 걸려있는지 확인해 봅니다. NX가 걸려있습니다. NX는 데이터영역에서 특정 코드가 실행되는 것을 막습니다. 따라서 쉘코드를 실행을 ..
command injection을 공부하다가 좋은 문제가 있어서 풀이를 쓰게 되었습니다. 이 문제는 defcon 2015 예선문제 입니다. 원래 remote환경에서의 문제인데 저는 바이너리 파일을 구해서 제 서버에서 풀었습니다. flag파일은 제가 만들었습니다. babycmd를 실행해보면,4가지의 명령어를 실행시켜준다고 합니다. ping명령어가 잘 수행됩니다. dig 명령도 잘 수행 됩니다. 당연히 host 명령도 잘 수행됩니다. 이제 바이너리 파일을 분석하기 위해 ida를 이용해 보겠습니다. 여기서 쓰이는 함수들은 아마 저 명령어들을 실행시켜주는 함수겠죠? 좀 더 자세히 보기 위해 ping일 때 사용되는 함수인 sub_E35를 보겠습니다. 여기가 중요한 부분인 것 같은데요. sub_D65함수가 무엇인지..
- FSB
- exit
- pwnable
- 본선가고싶다
- 해킹
- fastbin
- rt_sigreturn
- shellcoding
- stack reusing
- fastbindup
- glibc
- ebp change
- HackCTF
- codegate
- fsop
- oob
- hacking
- srop
- overflow
- SQLi
- pwable
- heap
- pwnable.tw
- TLS
- tcache
- Total
- Today
- Yesterday