SQL注入-宽字节注入

宽字节注入原理

一个 GBK 汉字占两个字节,每个字节有自己的取值范围,如果设置GBK编码后,遇到连续两个字节,都符合 GBK 取值范围,会自动解析为一个汉字。Addslashes函数防止 sql 注入,将传入参数值进行转义。例如将 '转义为 \' ,这样我们在注入的时候闭合单引号就会变成 id='1\',这样会导致闭合失败从而注入失败。

绕过方式:

输入 %df' (%27) ,本来会转义 ' \' ,但 \ (%5c) 遇上 %df ,两者会合起来被解析成一个汉字 ( ) ,这样变成 id='1運' ,在 MYSQL 中效果等同于 id= '1'( 隐式类型转换 )  ,因而成功绕过。

注入过程

1.判断是否存在漏洞

这里注入时不管是正确还是错误语句页面都回显数据,我初步判断存在漏洞且可能是字符型

2.判断注入类型

这里提示我们输入的变成了1\','被转义为了\',被转义后数据库不会认为他是单引号的作用,而将其视为一个普通字符,就起不到引起单引号缺失的作用。

这时我们为了使其回复单引号的作用我们就可以使用%df让其和转以后得\组成%df%5c也就是我们的運这个繁体字。当然不一定要使用%df,只要是能和%5c组成一个字使其失去转义功能就可以。

引起了单引号报错,确定了存在单引号闭合这个,我们就可以继续后续查询,在一开始输入id=1时页面可以回显数据,那么我就可以使用联合注入的步骤来继续后续查询。

3.联合查询

3.1猜列数

最后猜中是3列

3.2判断回显位

2,3位是回显位

3.3查询数据库名

security

3.4查询表名

在查询表名时,发现出现了报错,查看报错发现table_schema='security'的两个单引号也被转义了,那么我们就换一种方式表达数据库名,可以用ascii码值表示

我们使用工具转换,将16进制的替换上去,就查询了表名

后续查询举一反三即可,分享就到这里

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C# vs2015开发 官方下载地址: http://www.shack2.org/article/1417357815.html 简介: 超级SQL注入工具(SSQLInjection)是一款基于HTTP协议自组包的SQL注入工具,支持出现在HTTP协议任意位置的SQL注入,支持各种类型的SQL注入,支持HTTPS模式注入。 超级SQL注入工具(SSQLInjection)是一款基于HTTP协议自组包的SQL注入工具。 超级SQL注入工具支持自动识别SQL注入,并自动配置,如程序无法自动识别,还可人工干预识别注入,并标记注入位置。 超级SQL注入工具支持出现在HTTP协议任意位置的SQL注入,支持各种类型的SQL注入,支持HTTPS模式注入。 超级SQL注入工具支持Bool型盲注、错误显示注入、Union注入等方式获取数据。 超级SQL注入工具支持Access、MySQL5以上版本、SQLServer、Oracle等数据库。 超级SQL注入工具支持手动灵活的进行SQL注入绕过,可自定义进行字符替换等绕过注入防护。 本工具为渗透测试人员、信息安全工程师等掌握SQL注入技能的人员设计,需要使用人员对SQL注入有一定了解。 工具特点: 1.支持任意地点出现的任意SQL注入 2.支持全自动识别注入标记,也可人工识别注入并标记。 3.支持各种语言环境。大多数注入工具在盲注下,无法获取中文等多字节编码字符内容,本工具可完美解决。 4.支持注入数据发包记录。让你了解程序是如何注入,有助于快速学习和找出注入问题。 5.依靠关键字进行盲注,可通过HTTP相应状态码判断,还可以通过关键字取反功能,反过来取关键字。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

捞虾米

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值