[BJDCTF2020]Easy MD5
一、 打开页面,看到页面如下:
点下提交,进行尝试:
网址编程这样,这里我们知道网站使用GET方式上传参数。
这里我不懂如何绕过,百度搜索到 MD5加密可以通过 ffifidyop绕过。
content: ffifdyop
hex: 276f722736c95d99e921722cf9ed621c
string:'or'6]!r,b
这里就相当于:(第一个和最后一个 ’ 是查询语句自带。
select * from admin where password=''or'6<......' 实现sql注入
二、进入这个页面
查看一下源代码:
可以看到,我们需要用get方式传入a和b。两个值需要不相等,但经过MD5加密后需要弱相等。利用MD5无法加密数组,这样null==null 就可以通过验证。
构造payload:
?a[]=2&b[]=3
三、(终于看到心心念念的flag.php啦!)
要以POST方式上传参数
== :两边式子类型可以转化,好比 0==false 返回值为真,因为0就是false。
===: 两边式子类型不会转化,0===false 返回值为假,因为0是整数型,false是bool类型。
利用Burpsuite传入:
需要在get方式的基础上,加Content-Type: application/x-www-form-urlencoded
把GET头改成POST头。
构造payload:
param1[]=2¶m2[]=3
传入,拿到flag!
flag{5f81b560-2dd1-4ce2-a776-b9081912722d}