当前位置 : 主页 > 编程语言 > 其它开发 >

宽字节注入

来源:互联网 收集:自由互联 发布时间:2022-05-30
字符型的注入点通常是用单引号来判断的,但是当遇到addslashes()时,单引号会被转义 ,导致我们用来判断注入点的单引号失效。所以我们的目的就是使转义符 \ 失效、使单引号逃逸。宽
宽字节注入 字符型的注入点通常是用单引号来判断的,但是当遇到addslashes()时,单引号会被转义 ,导致我们用来判断注入点的单引号失效。所以我们的目的就是使转义符 \ 失效、使单引号逃逸。 宽字节字符集比如GBK它会自动把两个字节的字符识别为一个汉字,绕过反斜线,使单引号实现注入功能, 特殊符号的URL编码: 原理 宽字节注入的原因

网站开发防止SQL注入添加了PHP函数:addslashes()

php语言中的addslashes()函数在指定的预定义字符前添加反斜杠,
这些字符是单引号('),双引号("),反斜线(\)与NUL(NULL字符)。
例如客户端提交的参数中如果含有单引号,双引号等这些特殊字符,
addslashes函数则会在单引号前加反斜线“\”,将单引号转义成没有功能性的字符。
宽字节注入原理

字符型的注入点通常是用单引号来判断的,但是当遇到addslashes()时,单引号会被转义 ,导致我们用来判断注入点的单引号失效。所以我们的目的就是使转义符 \ 失效、使单引号逃逸。

宽字节字符集比如GBK它会自动把两个字节的字符识别为一个汉字,绕过反斜线,使单引号实现注入功能,

特殊符号的URL编码:

%5c -> \

%27 -> '

%20 -> (空格)

%23 -> #

%3d -> =
举例:

测试字符型的注入payload:

输入的payload: ' or 1=1 #

通过addslashes()函数后的payload:\' or 1=1 #

对应的url编码payload:%5c%27%20or1%3d1%20%23

宽字节注入绕过payload

构造绕过payload: %df' or 1=1 #

通过addslashes()函数后的payload:%df\' or 1=1 #

对应的url编码payload:`%df%5c%27%20or1%3d1%20%23`

当MySQL在使用GBK编码的时候,会认为两个字符是一个繁体汉字,将参数%df%5c按照GBK编码集解析成下图中的汉字:運,然后让我们的单引号%27成功逃逸,这种方式就是宽字节注入。

前提条件

1.数据库编码设置成GB系列

这里说的GB系列编码,不是指PHP页面的编码,而是连接数据库使用的编码。如:mysql_query(“set names GBK”)

2.客户端必须和数据库的编码方式一致,这样才能使用宽字节注入方式,宽字节注入过程如下所示:

实验演示: 1.靶场环境

环境:pikachu

方式一:

本地环境

下载地址:https://github.com/zhuifengshaonianhanlu/pikachu

通过phpstudy进行快速搭建,参考链接:https://blog.csdn.net/ptxybird/article/details/121146250

方式二:

远程环境

靶场地址:https://mituan.zone/

注册账号登录后搜索pikachu,一键启动即可,首次使用需要点击初始化。

2.实验过程

注意:打开宽字节注入后,需要通过burp抓包构造payload,因为直接通过页面构造payload中%会被url自动编码,导致payload构造失败。

可以看到%通过URL编码后变成%25dc了 需要burp抓包更改一下。

1.判断注入点

可以看到爆出了所有的账户信息:

2.判断可显示字段

这里用order by判断字段数量会报错,不知道是什么原因。直接跳到下一步:用union select联合查询直接测试1,2是否为可显字段。

3.后续利用

1.可通过手注进行手注(与字符手注相同,可自行查找)

2.通过工具sqlmap自动化实现,(默认--leve 5 --risk 3 不能扫描出宽字节SQL注入,需要使用sqlmap内置脚本unmagicquotes来进行宽字节注入,参数:--tamper unmagicquotes )

宽字节注入防御

1.使用utf-8

2.mysql_real_escape_string,mysql_set_charset('gbk',$conn)

3.设置参数,character_set_client=binary

参考链接:

https://blog.csdn.net/u011721501/article/details/42874517

https://blog.csdn.net/weixin_46684578/article/details/119146170

【本文来源:香港服务器租用 http://www.558idc.com/st.html欢迎留下您的宝贵建议】
上一篇:Eureka注册中心的使用
下一篇:没有了
网友评论