首页 > Web开发 > 详细

WEB_备份是个好习惯

时间:2019-02-10 17:53:47      阅读:210      评论:0      收藏:0      [点我收藏+]

题目链接:http://123.206.87.240:8002/web16/

题解:

打开题目链接,得到一串东西

技术分享图片

题目标题为”备份是个好习惯“,故考虑修改url为index.php.bak(bak为网站的备份文件),修改后自动得到一个备份文件

http://123.206.87.240:8002/web16/index.php.bak

技术分享图片

技术分享图片

打开此文件,是一段PHP源代码

技术分享图片

可以看出题目需要我们传入两个值,分别为key1和key2,且key1和key2的值不能相同但md5值相同,通过传入值不相同的数组可以实现。但是有一点需要注意,语句str_replace(‘key’,’ ‘,$str)会将key替换为空格,这一点我们可以通过双写key对其进行绕过,最终的payload:?kekeyy1[]=1&kekeyy2[]=2

有两种方法绕过:

md5()函数无法处理数组,如果传入的为数组,会返回NULL,所以两个数组经过加密后得到的都是NULL,也就是相等的。

payload: ?kkeyey1[]=1&kkeyey2[]=2
利用==比较漏洞
如果两个字符经MD5加密后的值为 0exxxxx形式,就会被认为是科学计数法,且表示的是0*10的xxxx次方,还是零,都是相等的。

下列的字符串的MD5值都是0e开头的:

QNKCDZO

240610708

s878926199a

s155964671a

s214587387a

s214587387a

最后看看d41d8cd98f00b204e9800998ecf8427e是什么意思,拿到MD5解密试一下,结果为NULL,也就是说这是NULL的MD5值,因为默认是没有传入key1和key2的,这两个值也就是null.

payload:  ?kkeyey1=QNKCDZO&kkeyey2=s878926199a

d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427e的MD5解密为空【MD5在线解密链接:https://www.cmd5.com/

技术分享图片

综上所述,两种方法可行:

 技术分享图片

或者:

技术分享图片

即flag为:Bugku{OH_YOU_FIND_MY_MOMY}

WEB_备份是个好习惯

原文:https://www.cnblogs.com/Gzu_zb/p/10359583.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!