当前位置:首页 > CTF > BUU > 正文内容

BUUCTF_WEB_[BJDCTF2020]Easy MD5 1

七星2年前 (2022-07-04)BUU1169

开靶场,然后,抓包看到一个提示:

一个SQL查询语句,要输入密码,既然给了SQL语句,那大概率就是个SQL注入了。
那就从md5绕过着手吧,先看看true的作用:

也就是说,md5第二个参数为true时,返回值是二进制,
这个二进制不是正常的01,这里搭建个PHP环境,看一下效果:

有一部分还是可以被加密成可识别的字符串。

所以我们的思路也就来了,md5加密过后的字符串出现or 1=1这种就可以绕过了。

通过md5加密出1=1这种,感觉应该不太现实,所以得另辟蹊径。

在SQL查询中,如果返回值为布尔类型,则,类似

"1xxx", "3bbb", 这种以数字开头的,都会被认为是true,验证一下:

正常查询,出结果,然后使用or:

很神奇,只要是非0数字开头,都判定为true。

所以我们的SQL注入语句就很好构造了,只要md5加密出来的结果,头部是

'or'数字

就可以了,甚至不需要空格:

然后网上已经有现成的了,就不用造轮子了:

这里直接用ffifdyop:

然后来到第二个PHP:

这里有一段注释,这个简单了,就是弱类型加md5绕过
先看一个案例:

意思是说,是要开头是0e,就可以绕过这种弱类型判断了。
然后,万能的网友总结出来了如下东西:

所以这里随便传进去两个ab就可以了:

接着搞第三个:

这是和md5杠上了呀
这里用了强类型比较
就是类似这样:

这里直接用数组就可以绕过强类型:

虽然报了俩warning,但是丝毫不影响结果输出,所以post传入两个数组就可了:


七星比特|qixingbit.com

相关文章

BUUCTF_web_第二题:[强网杯 2019]随便注

BUUCTF_web_第二题:[强网杯 2019]随便注

第二题: [强网杯 2019]随便注 测试一下, 1'# 返回正常, 发现是字符注入,尝试show一下database: 1';show databases;%23 发现出结果了:...

BUUCTF_web_第七题:[极客大挑战 2019]Secret File

BUUCTF_web_第七题:[极客大挑战 2019]Secret File

f12, 获得Archive_room.php访问, 嗯, 他说什么什么快没看清, 不要紧, 我们可以让他慢下来开burpsuite, 抓取回显包, 得到secr3t.php访问,成功获得源码high...

BUUCTF_web_第八题:[极客大挑战 2019]LoveSQL

BUUCTF_web_第八题:[极客大挑战 2019]LoveSQL

打开之后, 和之前的类似, 万能密码 1' or 1=1#登录成功,给了一个admin和一串md5, md5解密失败.只能常规注入了.给了个灵魂试探:用 sqlmap 是没有灵魂的那就手工注入一下,巩...

BUUCTF_web_第九题:[GXYCTF2019]Ping Ping Ping

BUUCTF_web_第九题:[GXYCTF2019]Ping Ping Ping

是个ping, 传入/?ip=127.0.0.1看看命令执行, 立刻想到||管道符:/?ip=127.0.0.1||ls不行, 那就封号;/?ip=127.0.0.1;ls成功获得两个文件名flag....

BUUCTF_web_第十题:[ACTF2020 新生赛]Exec

BUUCTF_web_第十题:[ACTF2020 新生赛]Exec

打开靶场, 和之前的linux系统命令执行一样, 但是这个没过滤, 直接127.0.0.1||cat /flag或者127.0.0.1;cat /flag就好了...

BUUCTF_web_第11题:[护网杯 2018]easy_tornado

BUUCTF_web_第11题:[护网杯 2018]easy_tornado

开靶场, 有三个文件链接,依次点开, 有个提示:flag in /fllllllllllllag然后观察url发现,访问文件是需要提交一个filehash值的:/file?filename=/flag...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。