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 + '\xE8\x05\xD9\x1D'")

 

转载于:https://www.cnblogs.com/zhaijiahui/p/7265914.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值