[BJDCTF2020]Easy MD5

0x00 知识点

password='".md5($pass,true)."'

链接:
https://www.jianshu.com/p/12125291f50d
aaf1f6e86410e3f9505657642fda7736.png

ffifdyop,这个点的原理是 ffifdyop 这个字符串被 md5 哈希了之后会变成 276f722736c95d99e921722cf9ed621c,这个字符串前几位刚好是 ‘ or ‘6,
而 Mysql 刚好又会吧 hex 转成 ascii 解释,因此拼接之后的形式是1select * from 'admin' where password='' or '6xxxxx'

等价于 or 一个永真式,因此相当于万能密码,可以绕过md5()函数

md5 bypass

md5()或者sha1()之类的函数计算的是一个字符串的哈希值,对于数组则返回false,如果$a和$b都是数组则双双返回FALSE, 两个FALSE相等得以绕过

0x01 解题

都是常规考点吧。。直接解:

原文地址:https://www.cnblogs.com/wangtanzhi/p/12304899.html