pwnable.kr writeup
fd
登录后有三个文件,查看源码:
read(0,buf,32),fd是0时是标准输入。所以我们需要做的就是将
int fd = atoi( argv[1] ) - 0x1234;fd值置0,之后输入LETMEWIN即可。注意atoi()要求被转换的字符串是十进制
结果如下:
collision
登录后有三个文件
直接看源代码
将我们的输入的char以int方式读取,也就是一次读4个字节,将5组4字节相加后与hashcode即0x21DD09EC相等即可,
直接凑0x01010101+0x01010101+0x01010101+0x01010101+0x1dd905e8,注意输入时的字节序。
shell输入./col python -c "print '\x01'*16 + '\xe8\x05\xd9\x1d'"
拿到flag:daddy! I just managed to create a hash collision 😃