pikachu靶场的字符型注入(get)

pikachu靶场字符型注入(get)

字符型注入

先找一个可以正确返回的内容

在这里插入图片描述

判断闭合条件

查询vince’报错
在这里插入图片描述在这里插入图片描述

查询vince”没有报错
在这里插入图片描述

则说明是使用’闭合的。

把vince’构造可满足放回正确内容的语句

把vince’构造可满足放回正确内容的语句,在这个过程中可以利用and 1=1 和and 1=2 去判断是否构造成功
在这里插入图片描述
在这里插入图片描述

and 1=1 返回正常,and 1=2 查询不到用户。则说明构造成功了

查询字段数

在这里插入图片描述在这里插入图片描述在这里插入图片描述

查字段是否为2时,没有报错,查字段数是否为3时,报错。则说明字段数为2

查询回显位

语句vince’ union select 1,2 #
在这里插入图片描述

说明字段1和2都是回显位。
剩下的内容和搜索型的是一样的就不在写一遍了
https://blog.csdn.net/ranioe/article/details/121791183?spm=1001.2014.3001.5501

根据pikachu的字符型注入的源代码理解一下

php源代码的文件路径WWW\pikachu\vul\sqli这个目录下的php文件就是sql注入这一部分的文件。


```php
    //这里没有做任何处理,直接拼到select里面去了
    $name=$_GET['name'];
    //这里的变量是字符型,需要考虑闭合
$query="select id,email from member where username='$name'";
1.假设$name为vince 直接带入query中得到
$query="select id,email from member where username='vince'";
传入数据库的语句是select id,email from member where username='vince'
我们利用 ‘ 和 # 去做到闭合。
2.假设$name为vince’ #直接带入query中得到
$query="select id,email from member where username='vince'#'";
传入数据库的语句是select id,email from member where username='vince'#'
而#是注释符,就注释掉了最后一个’,就不会报错。如果部主事’vince’’电脑又怎么知道那两个引号是一对呢?所以报错
3.构造成功后要注入sql语句就在vince'的后面#前面,写入想注入的sql语句
例如:$name为vince' order by 2 # 
$query="select id,email from member where username='vince’ order by 2 #'";
传入数据库的语句是select id,email from member where username='vince’ order by 2 #'
这样就可以把order by 2这条语句带入数据库去查询。

sql注入的难点在于分析闭合问题

引用一下大佬的博客。不过这篇的博客只分析了数字型和字符型的闭合,没有搜索型。

?id=1’
?id=1”
结果一:如果都报错
判断闭合符为:数字闭合(不需要闭合)。

结果二:如果单引号报错,双引号不报错。
继续尝试
?id=1’ –
结果1:无报错
判断闭合符为:单引号闭合。
结果2:报错
判断闭合符可能为:单引号加括号。

结果三:如果单引号不报错,双引号报错。
继续尝试
?id=1" –
结果1:结果无报错
判断闭合符为:双引号闭合。
结果2:报错
判断闭合符可能为:双引号加括号。

注意:这里的括号不一定只有一个,闭合符里是允许多个括号组合成闭合符的,具体要判段有多少个括号,可以使用二分法来快速判断。
————————————————
版权声明:本文为CSDN博主「大大大蜜蜂」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_46634468/article/details/1204800803

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值