pwnable.kr collision write-up
접속하면 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\..