freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

SQL注入之宽字节注入
奕泽 2021-04-28 14:27:45 571369

宽字节注入:是属于SQL注入的一种绕过方式

一、宽字节概念:

1、单字节字符集:所有的字符都使用一个字节来表示,比如 ASCII 编码(0-127)

2、多字节字符集:在多字节字符集中,一部分字节用多个字节来表示,另一部分(可能没有)用单个字节来表示。

3、UTF-8 编码: 是一种编码的编码方式(多字节编码),它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

4、常见的宽字节: GB2312、GBK、GB18030、BIG5、Shift_JIS GB2312 不存在宽字节注入,可以收集存在宽字节注入的编码。

5、宽字节注入时利用mysql的一个特性,使用GBK编码的时候,会认为两个字符是一个汉字

二、addslashes()函数

1、addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。

2、预定义字符:单引号('),双引号("),反斜杠(\),NULL

3、实例

https://xxxxx?name=hello%271619591160_6088fff89997ac86e8e47.png!small

输入的单引号被转义了,没办法逃逸

然后翻看了下页面源码及请求头,发现客户端编码是gbk1619591174_60890006e50a4c6694e64.png!small

尝试输入hello%df%27,console报错提示引号未闭合了,后面就是构造而外的js代码,并把后面的对于字符注释掉,让语法正确1619591186_6089001277daa8cccc480.png!small

三、靶场实战

1.首先打开页面,看到维护信息,点进去观察其带有id参数,因为题意是宽字节注入1619591198_6089001e233cf6ec8437e.png!small

2.直接输入宽字节注入经典绕过方式:%df',即可看到报错页面,1619591209_608900293a9e32ca57fa7.png!small

3.在SQLmap中直接将id参数修改,进行常规探测1619591219_608900331102e01a28ca5.png!small

4.密码采用了MD5加密,解密以后即可得到登录密码,登录即得到KEY1619591227_6089003b66b5f1e889b20.png!small

# 渗透测试 # web安全 # 网络安全技术
本文为 奕泽 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
墨者靶场
奕泽 LV.6
微信公众号:破晓信安
  • 33 文章数
  • 23 关注者
ATT&CK实战系(三)红日靶场3
2025-03-25
ATT&CK实战系列(二)红日靶场2
2025-02-21
公众号:破晓信安
2025-02-19