pwnable.kr col

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 + 'xE8x05xD9x1D'")

 

原文地址:https://www.cnblogs.com/zhaijiahui/p/7265914.html