java 宽字节_宽字节XSS跨站攻击

简介

宽字节跨站漏洞多发生在GB系统编码。 对于GBK编码,字符是由两个字节构成,在%df遇到%5c时,由于%df的ascii大于128,所以会自动拼接%5c,吃掉反斜线。而%27 %20小于ascii(128)的字符就会保留。通常都会用反斜线来转义恶意字符串,但是如果被吃掉后,转义失败,恶意的xss代码可以继续运行。

什么是宽字节

GB2312、GBK、GB18030、BIG5、Shift_JIS等这些都是常说的宽字节,实际为两字节。(英文字母占据一个字节,汉字占据两个字节)。宽字节带来的安全问题主要是吃ASCII字符(一字节)的现象。

宽字节SQL注入

先来复习下宽字节注入的形成原理:

防御方式:将 ' 转换为 \'

绕过方式:将 \消灭

常规编码

输入处理编码带入SQL结果

'

\'

%5c%27

id=1\'and

不能注入

GBK编码

MySQL在使用GBK编码时,会认为两个字符为一个汉字。

输入处理编码带入SQL结果

%df'

%df\'

%df%5c%27(運)

id=運' and

能注入

两个字符组合,认为是一个汉字

注:前一个ASCII码大于128才能到汉字的范围。

宽字节XSS漏洞

宽字节XSS与宽字节SQL注入的不同在于宽字节注入主要是通过

吃掉转义符再正常注入SQL语句,而宽字节XSS

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值