作为注入关的压轴题,感觉技术上的难度不大,主要是涨涨见识,废话不多说上代码:
include "config.php"; #引入config.php
if(isset($_GET['userid']) && isset($_GET['pwd'])){
$strsql="select * from `user` where userid=".intval($_GET['userid'])." and password='".md5($_GET['pwd'], true) ."'"; #检查是否存在由get传来的两个参数,并对userid取整,对pwd进行MD5加密
$conn=mysql_connect($dbhost,$username,$pwd);#以下均为MySQL连接数据库函数
mysql_select_db($db,$conn);
mysql_query("SET NAMES 'UTF-8'");
$result=mysql_query($strsql);#执行上面的查询,如若看不懂 单独拿出来运行一下 看看结果
print_r(mysql_error());
$row=mysql_fetch_array($result);
mysql_close($conn);
echo "<pre>";
print_r($row);
echo "</pre>";
if($row!=null){ #如果查询有结果就输出flag(就不用注入了 这可还行)
echo "Flag: ".$flag;
}
}
else{
echo "PLEASE LOGINT!";
}
echo "<noscript>";
echo file_get_contents(__FILE__);
讲到这大家肯定还是不会 哈哈哈
因为只需要一个字符串:ffifdyop
让pwd等于它即可闭合单引号,让pwd为一个数字 或者在后面进行注入?
这个没试过 到这答案已经出来了。看一下这个运行后是啥吧:
网友评论