看了bugku的这道题,陌生又熟悉。 题目首先说【备份是个好习惯】,访问网站只有一串字符,,,,,emmmmm,这句话表明人家经常做备份,所以咯,肯定在网站哪里备份有网页信息。嘻嘻 1.搜寻和查看备份信息 扫描网站目录,自然是神器御剑好哦。 通过御剑发现有个http://120.24.86.145:8002/web16/index.php.bak文件。.bak是备份文件,为文件格式扩展名,这类文件一般就是在原有文件扩展名后面加上.bak。 查看信息,是核心代码哦。
分析这段代码,可知网页URL应该有两个参数key1和key2,网页显示key1、key2的md5值,如果这俩值比较相等,则显示flag、“取得flag” -。- so,网页已显示的原来是俩默认的md5值哦。现在关键,得到flag,需不同的key1和key2的md5值比较相等。 2.MD5值比较相等(PHP弱类型) 在PHP中,== 在进行比较的时候,会先将字符串类型转化成相同,再比较。注意,重点来了,如果比较一个数字和字符串 或者 比较涉及到数字内容的字符串时,则字符串会被转换成数值并按照数值来进行比较。 来个小栗子。var_dump(‘asdas‘,0); 和 var_dump(‘0asdas‘,0); 的结果都是true。 so,本题是要两MD5值的字符格式要么 全部是字符 要么前面数字是0。 巧滴很,有这样的值。240610708和QNKCDZO的md5值就是相等滴。 所以,本题的url是http://120.24.86.145:8002/web16/?kkeyey1=240610708&kkeyey2=QNKCDZO,结果如下。
愉快地结束。