collision - 3 pt
连接上查看col.c源码
分析一下代码,
1、hashcode等于一个固定的值
2、check_password函数取输入数据,4个一组,将输入的字符转成int,然后加一起
3、main函数 输入值为两个,输入的数据要是20字节
我们输入的数据经过check_password之后加起来与hashcode相等
我们输入的时候不能直接输十进制数,因为20位十进制数加起来到不了568134124
所以选择16进制,用\x00填充16位数据,剩下的4位0xEC09DD21直接填
据说0x09会阻塞输入
所以用\x01填充16位数据,剩下的4位 0x21DD09EC-0x04040404=1DD905E8
再输入的时候注意要将顺序转过来
./col $(python -c "print '\x01' * 16 + '\xE8\x05\xD9\x1D'")