[BJDCTF2020]Easy MD5

打开题目后就是一个没有任何回显的查询页面

 查看源码无果,在f12中的网络功能中发现了其中一个数据包中的响应头中有提示

 

提示为:hint:select * from 'admin' where password=md5($pass,true)

可见这里最主要的是要绕过sql语句中的password=md5($pass,true),这里的话就需要绕过MD5加密的情况下构造一个万能密码

select * from 'admin' where password='' or true,可以使用ffifdyop,这个MD5加密后会返回'or'6XXXXXXXXX(这里的XXXXX是一些乱码和不可见字符)

(

在mysql里面,在用作布尔型判断时,以数字开头的字符串会被当做整型数。

要注意的是这种情况是必须要有单引号括起来的,比如password=‘xxx’ or ‘1xxxxxxxxx’,那么就相当于password=‘xxx’ or 1 ,也就相当于password=‘xxx’ or true,所以返回值就是true。

)

 绕过成功

 查看源码发现提示,弱类型比较

 用数组即可绕过

 

 再用数组绕过

 

posted @ 2024-02-22 16:37  努力的大魔王  阅读(44)  评论(0)    收藏  举报