감자 텃밭

[pwnkr] - collision문제 본문

my_study/pwn.kr

[pwnkr] - collision문제

g2h 2021. 9. 1. 00:29

해당 문제와 함께 제공되는 소스코드는 아래와 같다.

해당 소스코드 내용을 보면 main 함수에서 3번째 조건문을 통과해야 플래그 값을 얻을 수 있다.

hashcode값과 check_password함수의 리턴되는 값이 같으면 플래그를 출력해준다.

우선 hashcode값은 상수값으로 0x21 DD09 EC이며 check_password함수를 살펴보면 ip포인터 변수에

인자 값으로 입력받는 p값을 넣어준다 그 후 for반복문을 이용하여 5번씩 더하며 res에 저장하여 리턴 시켜준다.

그렇다면 hashcode를 5로 나누어 나온 값을 입력하면 되는데 5로 나눌경우 다시 곱하면 4가 부족하게 나온다.

그럼 여기서 해결방법은 5로나눈값을 4번 보내고 그 후 나머지 하나에 4를 더해서 더 보내면 된다.

아래와 같이 작성하여 보내면 성공적으로 플래그를 획득할 수 있다.

 

'my_study > pwn.kr' 카테고리의 다른 글

[pwnkr] - random  (0) 2021.09.01
[pwnkr] - passcode  (0) 2021.09.01
[pwnkr] - flag  (0) 2021.09.01
[pwnkr] - bof 문제  (0) 2021.09.01
[pwn.kr] fd 문제  (0) 2021.08.31