CTFHUB-Injection V2.0

 拿到题目登录框

这里了解一下登录框的两种查询模式

一种是直接对用户输入的账号名和密码进行查询

$username=$_POST['username'];
$password=$_POST['password'];
$sql='select * from user where username='$username' and password='$password'';
#查询
#登陆成功第二种方法就是通过先查询用户名,如果用户存在之后验证密码是不是和数据库里面的密码一样。
#第二种方法就是通过先查询用户名,如果用户存在之后验证密码是不是和数据库里面的密码一样。
$username=$_POST['username']; $password=$_POST['password']; $sql='select password from user where username='$username''; 
#查询
if($row){
if($row['password']==$password) { echo 'success';
else{ echo 'fail';}
}
else{
echo '用户不存在';
}

二者区别就是用户名和密码是否同时验证

这里根据题目

admin 123  -->密码错误

admin  admin -->密码错误

aaa     123  -->用户不存在

判断出验证方式为第二种

尝试

' union select 1#

1

尝试注释符代替空格绕过

'/**/union/**/ select/**/1#

1

原文地址:https://www.cnblogs.com/xiaobai141/p/14156717.html