WARGAME/pwnable.kr

pwnable.kr collision write-up

msh1307 2022. 8. 15. 12:32

접속하면 col이랑 col.c, flag가 보인다.

flag는 당연히 권한이 없어서 못 읽는다.

col.c를 읽어보면, argv[1]로 받은 20바이트를 4바이트 int로 쪼개서 res에 더하는 것을 알 수 있다.

res가 0x21dd09ec면 된다.

 

편하게 0x21dd09ec를 5로 나눠서 조건을 만족하게 만들어주면 된다.

나머지가 4니까 나중에 더해주면 된다.

int로 쪼갤때마다 6c5cec8을 만족하면 조건문을 통과할 수 있다.

그리고 마지막에 나머지를 더해주면 hashcode와 같아진다.

 

0x6c5cec8을 리틀 엔디언으로 변환해주면, \xc8\xce\xc5\x06가 되고, 이걸 내게 복붙 한 다음, 마지막에 4를 더해주면 된다.

\xc8\xce\xc5\x06\xc8\xce\xc5\x06\xc8\xce\xc5\x06\xc8\xce\xc5\x06\xc8\xce\xc5\x06의 마지막을 \xcc\xce\xc5\x06로 바꿔서 \xc8\xce\xc5\x06\xc8\xce\xc5\x06\xc8\xce\xc5\x06\xc8\xce\xc5\x06\xcc\xce\xc5\x06를 argv[1]로 주면 된다.

 

 

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

pwnable.kr random write-up  (0) 2022.08.20
pwnable.kr passcode write-up  (0) 2022.08.16
pwnable.kr flag write-up  (0) 2022.08.15
pwnable.kr bof write-up  (0) 2022.08.15
pwnable.kr fd write-up  (0) 2022.08.14