[BJDCTF2020]Easy MD5 WP

老样子 打开看看
你会发现 啥也没有
有一个输入框,随便输入看看 抓包发现跳转leveldo4.php
在这里插入图片描述
同时看到 hint 里面有select * from 'admin' where password=md5($pass,true) 字样
在这里插入图片描述
构造$pass字符串经md5加密后出现or ,则可令该SQL语句返回true,与万能密码的原理相同。
这里翻了翻大佬的笔记才发现ffifdyop绕过,为啥可以绕过,大概意思就是ffifdyop。 这个字符串被 md5 哈希了之后会变成 276f722736c95d99e921722cf9ed621c,这个字符串前几位刚好是' or '6 所以 这里就绕过去了
在这里插入图片描述
发包往下拉发现里面出现一个levels91.php
于是访问看看
在这里插入图片描述
得到这个界面 啥也没有 那么直接来一手国际惯例ctrl+u查看源码
在这里插入图片描述
查看源码发现这里有两个get型传参,同时是弱类型比较
那么就可以利用md5值加密后为0e开头的字符串进行绕过
常见的md5后相等的值有一下


NKCDZO
0e830400451993494058024219903391

s878926199a
0e545993274517709034328855841020

s155964671a
0e342768416822451524974117254469

s214587387a
0e848240448830537924465865611904

s214587387a
0e848240448830537924465865611904

s878926199a
0e545993274517709034328855841020

s1091221200a
0e940624217856561557816327384675

s1885207154a
0e509367213418206700842008763514

s1502113478a
0e861580163291561247404381396064

s1885207154a
0e509367213418206700842008763514

s1836677006a
0e481036490867661113260034900752

s155964671a
0e342768416822451524974117254469

s1184209335a
0e072485820392773389523109082030

s1665632922a
0e731198061491163073197128363787

s1502113478a
0e861580163291561247404381396064

s1836677006a
0e481036490867661113260034900752

s1091221200a
0e940624217856561557816327384675

s155964671a
0e342768416822451524974117254469

还有一个特殊的 0e开头  hash后也是0e开头的 
0e215962017

那么 这里直接给a和b传参

payload:http://e7cdd604-f8a6-4e88-8cb2-a4db7d46fef1.node4.buuoj.cn:81/levels91.php?a=s1091221200a&b=s155964671a

发现跳转levell14.php 并且有源码
在这里插入图片描述
这里也和前面比较差不多 具体可以看我这另外一篇 思路差不多

https://blog.csdn.net/weixin_52599204/article/details/126209588?spm=1001.2014.3001.5501

这里比较的是两个参数不相等 且md5值相等
单独使用相等的md5后的字符串是行不通的 这里需要使用数组
这里需要改post请求进行传参
在这里插入图片描述
发包得到flag
在这里插入图片描述
flag为:flag{5735e45b-2924-4abf-b017-987996fae68f}

posted @ 2022-08-09 17:03  A啥也不会  阅读(71)  评论(0)    收藏  举报