首页 > 技术文章 > pwnable.kr col

zhaijiahui 2017-07-31 21:54 原文

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

 

推荐阅读