打开题目发现有注入框,简单的注入测试后发现没有效果,扫描一下,发现存在robots.txt
进入robots.txt查看文件
下载后打开发现有源代码
<?php
$flag="";
$password=$_POST['password'];
if(strlen($password)>10){
die("password error");
}
$sql="select * from user where username ='admin' and password ='".md5($password,true)."'";
$result=mysqli_query($con,$sql);
if(mysqli_num_rows($result)>0){
while($row=mysqli_fetch_assoc($result)){
echo "登陆成功<br>";
echo $flag;
}
}
?>
我们需要输入一个密码,通过md5加密后,绕过sql语句。
此时有一个字符串为ffifdyop
,经过md5为276f722736c95d99e921722cf9ed621c
,再转换为字符串为' ' 'or' 6<trach>
解析: 存在 or 即代码的两边有一边为真既可以绕过,其实为垃圾代码没有任何用的。 or
后面有6,非零值即为真。既可以成功绕过。
得到flag