墨者学院-PHP代码分析溯源(第2题)

首先,查看给的代码文件,

<?php error_reporting(0); $a1 = md5('QNKCDZO'); $a = @$_POST['pass']; $a2 = @md5($a); if(isset($a)){ if ($a != 'QNKCDZO' && $a1 == $a2) { /** 内容省略! **/ exit(); } else { echo '< script >alert('认证错误');window.location.href='/index.html';'; }} ?>

分析发现只要a != ‘QNKCDZO’ 或 $a1 == $a2,就能登陆成功,查询资料发现==是比较值,所以存在隐式转换问题,如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行。又查到md5(‘QNKCDZO’) 的结果是:0e830400451993494058024219903391,所以只要找一个值为0e开头的a2就可以完成本题。在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值