buuctf-web Easy MD5 1

启动靶机

 看样子或许又是存在注入。试了半天没啥反应,那我就先用bp抓包吧

 然后在响应头的地方看到了提示select * from 'admin' where password=md5($pass,true)

这下得考虑下pasword是多少了。查看一下md5()函数的true参数

 然后百度了一下,md5()参数漏洞,

发现可以找到ffifdyop字符串会造成漏洞。在本地运行了一下,

<?php

$a='ffifdyop';
echo md5($a,true);



?>

 输出的是or’6xxxxxx

在数据库语句里就构成了select * from ‘admin’ where password= ''or’6xxxxxx ’ 相当于 password= ‘’ or 1 变成永真

在bp输入ffifdyop回显是这样的,直接在输入框里直接输入就会直接跳到/levels91.php页面
跳转后查看源码

 发现了新大陆。访问这个页面

 然后我们查看一下源代码。

<!--
$a = $GET['a'];
$b = $_GET['b'];

if($a != $b && md5($a) == md5($b)){
    // wow, glzjin wants a girl friend.
-->

可以使用数组a[]=1&b[]=2绕过

使用数组param1[]=1&param2[]=2绕过

 这样就可以拿到flag

原文地址:https://www.cnblogs.com/awsole/p/13825679.html