第二题 collision

不管,连接服务器要紧。。。

同样3个文件,同样的权限。。。,先看下源代码吧。

代码挺长的。。。 首先传入参数,判断参数长度是否等于20 ,这2步很简单,输入20个a就可以到下面的了。

但是,在下面还对你输入的数据进行一个运算。。最后判断是否等于0x21dd09ec ? 这就比较蛋疼。

读了代码后发现你输入的字符会被5段,每段转化为整数,并相加,其中由于整数是小端存储的,所以要记得给字符排序。最简答你的做法是输入 0x01010101 4 + 0x1DD905E8 (至于为什么不用00000000 4 + 0x21dd09ec 是因为00代表着字符串结束,无法继续获取字符串了),由于一些字符我们键盘没办法输入,所以我们用python 写一段脚本生成这样满足条件的字符让程序去运行。

这里 0x1dd905e5 为什么这样写是因为程序是按小段存储读取整数的,这里用到了xargs函数,用管道吧python输出的结果作为 col程序的参数,这样就可以让col 接收我们用python输出的字符了,这样就拿到flag了。
1