|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1616 [복사]
버퍼오버플로우시 만약 test 라는 취약프로그램이 있습니다.
--test---
int main(int argc,char* argv[])
{
char buffer[40];
strcpy(buffer,argv[1]);
}
근데 이 프로그램을 공격하기위해서
./test `perl -e 'print "a"x40,"\x??\x??\x??\x??"'`
--쉘코드+NOP-- + 쉘코드의 주소값
이런식으로 버퍼오버플로우를 시키잖아요?
근데 이걸 쉘코드가 들어있는 메모리주소를 찾는 brute force 어택을 하는 프로그램을 짜려면 어떻게 해야하나요??
물론 gdb로 분석해서 할줄은 압니다만... brute force 공격을 할때 어떻게 소스를 짜는지 궁금해서 그럽니다ㅠㅠ
char* ptr=0xa;
char temp[100];
sprintf(temp,"./test `perl -e 'print \"%c\"'`",ptr);
system(temp);
직접 치는거랑 쉘에 전달되는게 다른거 같습니다..ㅠㅠ 제발 저에게 지식을 알려주세요~
`perl -e 'print "\x??\x??\x??\x??"'` <- 이거랑 똑같은 기능을 하고 물음표를 랜덤으로 돌릴수있는
프로그램 소스를 쫌 짜주세요
|
Hit : 3937 Date : 2012/10/15 06:57
|