BUUCTF [BJDCTF2020]Easy MD5 1

尝试sql注入

发现无回显只有url中传递password参数尝试burpsuite抓包

提示我们sql语句,关于password=md5($pass,true) ,这里我们需要用到字符串ffifdyop,它的md5结果是:276f722736c95d99e921722cf9ed621c 。通过这个结果我们可以发现得到16字节的二进制被解析为字符的结果是:'or'6,sql语句变成select * from 'admin' where password=''or'6'。

参考(1条消息) PHP中MD5常见绕过_iringzh的博客-CSDN博客_php md5绕过

 

页面回显,查看源码

这里我们需要两个变量不相等,md5计算后的散列值相等

PHP中==是判断值是否相等,若两个变量的类型不相等,则会转化为相同类型后再进行比较。PHP在处理哈希字符串的时候,它把每一个以0e开头并且后面字符均为纯数字的哈希值都解析为0。常见的如下:

在md5加密后以0E开头

QNKCDZO
240610708
s878926199a
s155964671a

所以构造payload:a=QNKCDZO,b=240610708

===绕过,这个时候可以用到PHP中md5()函数无法处理数组来实现绕过。

构造payload:param1[]=1&param2[]=2

 知识点

1.md5password($pass,true)sql注入问题 字符串ffifdyop,解析结果'or'6

2.md5弱比较绕过问题 两个变量不相等,md5计算后的散列值相等,PHP在处理哈希字符串的时候,它把每一个以0e开头并且后面字符均为纯数字的哈希值都解析为0。常见字符串

QNKCDZO
240610708
s878926199a
s155964671a

3.md5===绕过 这个时候可以用到PHP中md5()函数无法处理数组来实现绕过。

参考博客(1条消息) PHP中MD5常见绕过_iringzh的博客-CSDN博客_php md5绕过

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值