BUUctf EasyMD5
一点也不easy的MD5,题目是个输入框,随便输入点啥没反应就抓包
抓包发现存在注入点,
select * from 'admin' where password=md5($pass,true)
一般情况下是考虑用1’ or 1去绕过,但这里是用别的方法去绕过,参考链接
https://blog.csdn.net/March97/article/details/81222922
加密结果如下:
来到第二部分
<!--
$a = $GET['a'];
$b = $_GET['b'];
if($a != $b && md5($a) == md5($b)){
// wow, glzjin wants a girl friend.
-->
条件就是:1、GET传入的变量a,b不等
2、MD5加密后相等
这里涉及到PHP弱类型,所以很好绕过
http://3be3072f-a87f-40f0-a49a-b415f1f30755.node3.buuoj.cn/levels91.php?a=s1091221200a&b=s1665632922a
来到第三部分
和第二部分一样的条件,但多了个限制,就是MD5加密后的两个值要完全相等
方法一就是真的传入两个MD5一样的数据
方法二就比较巧妙了
MD5默认传入参数是string,而如果传入的不是string,而是数组则会报错FALSE
那么两个值经过MD5加密后完全相等,均为FALSE