pwnable.kr - collision

2018. 8. 3. 22:36WarGame/pwnable.kr

먼저 코드부터 확인해보면



다음과 같습니다.


프로그램상 실행하면서 인자값으로 데이터를 전달받기때문에 값은 인자로 넘겨주면될 것 같습니다.


조건1 : 인자1개이상 넣어주기

조건2 : 길이 20byte로 맞추기

조건3 : hashcode와 함수를 통과한 넣어준 값일치하게하기


함수를 보면

 


인자로 받은 값을을 4byte씩 끊는 것을 볼 수 있습니다.

이렇게 총 5번을 나눠서

ㅁㅁㅁㅁ/ㅁㅁㅁㅁ/ㅁㅁㅁㅁ/ㅁㅁㅁㅁ/ㅁㅁㅁㅁ

이렇게 만들고 이거를 배열로 가정하였을때

[0] + [1] + [2] + [3] + [4] = hashcode가 되어야합니다.


그럼 hashcode를 5로 나누면 될 것 같습니다.

이대로 exploirt코드 작성해서 익스해주면??



왜 안되지...라고 생각했는데 프로그래머계산기는 나머지를 버릴수밖에 없어서 

21DD09EC - 6C5CEC8*5 해주면 -4가 남습니다.



그럼 첫번째 인자를 4btyte 더해서 넣어주면 풀릴 것 같네요!



(grin)

'WarGame > pwnable.kr' 카테고리의 다른 글

pwnable.kr blukat  (0) 2018.08.19
pwnable.kr - coin1  (0) 2018.08.19
pwnable.kr - bof  (0) 2018.08.19
pwnable.kr - random  (0) 2018.08.16
pwnable.kr - fd  (290) 2018.07.09