[pwnable.kr] collision - 3 pt
2018. 5. 2. 13:12
이번에 풀어볼 녀석은 이 뭔가 송충이에 초록싹이 돋아난것같은 놈이다.
collision!
MD5 Hash collision이라고 한다... 뭔가 어려워보이는데
처음으로 1pt에서 3pt로 넘어와서 어느 정도 차이날지는 잘 모르겠다. 일단 문제를 보러가자.
flag를 얻는게 핵심이고, 프로그램에 setuid가 걸려있다.
실행파일에서 hashcode와 유저가 인자로 준 값을 check_password()에 넣어 비교하여 같다면 flag를 출력해준다.
check_password함수는 20byte string(char배열)을 int배열로 변환시켜 배열의 값을 모두 더해 리턴해준다.
int가 4byte로 총 배열의 길이는 5이고, 이 5개의 합이 hasshcode값과 같으면 될 것 같다.
hashcode를 5로 나누면 0x06c5cec8이므로 0x06c5cec8*4 + 0x06c5cecc를 하면 될 것 같다. python을 이용해 값을 string으로 넣어주자.
(참고로 리틀엔디안을 고려해서 넣어주어야한다.)
문제가 풀렸다.
'Wargame > Pwnable.kr' 카테고리의 다른 글
[pwnable.kr] lotto - 2 pt (0) | 2018.05.10 |
---|---|
[pwnable.kr] bof- 5 pt (0) | 2018.05.09 |
[pwnable.kr] blackjack - 1 pt (0) | 2018.05.01 |
[pwnable.kr] cmd1 - 1 pt (0) | 2018.05.01 |
[pwnable.kr] shellshock - 1 pt (0) | 2018.05.01 |