web——ctf (登陆一下好吗??)

登陆一下好吗??

  不要怀疑,我已经过滤了一切,还再逼你注入,哈哈哈哈哈!

flag格式:ctf{xxxx}

解题链接: http://ctf5.shiyanbar.com/web/wonderkun/web/index.html                    

1:首先看源码。
















web200




	 
实验吧登陆系统
username
password

对,没什么卵用。然后

抓包呗!

web——ctf (登陆一下好吗??)_第1张图片

也没什么卵用。

看来真的是要注入了

看看它过滤了什么东西

web——ctf (登陆一下好吗??)_第2张图片

web——ctf (登陆一下好吗??)_第3张图片

看来没过滤引号‘’和“”

那么就可以用引号来注入了。

猜猜数据库的查询语句是什么呢?

$sql = “select user from flag where user=’\$_POST[‘user’]’ and password=’\$_POST[‘password’]’”; 

可能是这样

那就试一试。

select * from user where username = 'user' and password = 'passwd'  因为引号没有过滤,所以我们输入 1'='0

密码输入 1'='0

那么语句就成了

select * from user where username = '1'='0' and password = '1'='0' 

从左到右,username= ‘1’(数据库中没有pass项就会返回false,也就是0)。右边也就变为 0 = ‘0’,也就是0 = 0,所以就为真 ,也就是1,同理password 也是 。所以select语句就变为 select * from user where 1 and 1

看看效果怎么样。

web——ctf (登陆一下好吗??)_第4张图片

web——ctf (登陆一下好吗??)_第5张图片

获取flag,解题完成。

在PHP study上面做做试验

web——ctf (登陆一下好吗??)_第6张图片

web——ctf (登陆一下好吗??)_第7张图片

web——ctf (登陆一下好吗??)_第8张图片

摸拟注入可以得到结果。

如果有不当之处希望大家指出,共同学习。谢谢大家

你可能感兴趣的:(web——ctf (登陆一下好吗??))