用户
搜索

[web安全] 宽字节注入

该用户从未签到

i春秋-呆萌菜鸟

Rank: 1

2

主题

8

帖子

45

魔法币
收听
0
粉丝
1
注册时间
2020-12-14
发表于 2021-1-4 16:00:17 55799

宽字节注入
宽字节注入产生的原因是在不同编码中,中英文所占字节不同所导致,GBK编码中,一个汉字占两个字节,在utf-8中,一个汉字占3个字节。
下面我们用sqllib32关复现宽字节注入
通过源码可以发现,check_addslashes()这个函数,会 , , /,产生了转义,分别转义成\ , \,\/使功能字符变成普通字符,失去其原有的作用。在通过GET方式传入的参数id,会收到check_addslashes()函数的过滤。
图片7.png

图片8.png


192.168.43.122/sql/Less-32/?id=1'  页面正常显示,发现被转义 (\’)
图片9.png

转义字符\的编码为5c,在gbk编码范围内,我们可以通过在之前添加一个16进制编码的字节%df,与5c结合起来,组成一个汉字,0xdf5c 就是一个汉字"",使5c失去其转义的作用,绕过转义,继续进行sql注入
http://192.168.43.122/sql/Less-32/?id=1%df%27 可以发现\失去转义功能,sql语句出现了语法错误

图片10.png

http://192.168.43.122/sql/Less-32/?id=-1%df%27%20union%20select%201,database(),version()%20--+ 绕过转义,继续进行sql注入,查询当前数据库和版本信息

图片11.png

发表于 2021-1-11 15:53:38
感谢分享
使用道具 举报 回复
文章不错,楼主辛苦了  还请继续加油
使用道具 举报 回复
可爱的小雨淅淅 发表于 2021-1-11 15:57
文章不错,楼主辛苦了  还请继续加油

现在就差二次注入了  能不能让楼主再来一篇二次注入的文章?
使用道具 举报 回复
发表于 2021-1-11 16:11:28
迷茫的小白白i 发表于 2021-1-11 16:08
现在就差二次注入了  能不能让楼主再来一篇二次注入的文章?

使用道具 举报 回复
感谢楼主分享
使用道具 举报 回复
发新帖
您需要登录后才可以回帖 登录 | 立即注册