如何通过幽灵比特位绕过限制与利用

admin 2026-04-30 05:22:35 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细介绍了Java字符处理中幽灵比特位(GhostBits)特性导致的WAF绕过技术,当char强转为byte时会丢失高字节从而绕过安全检测。文档提供了具体利用条件、Spring框架漏洞案例(CVE-2025-41242)、三种转换工具(Burpsuite插件/GhostBitsVerifier/Python脚本)的使用方法以及在线靶场验证,最后强调该技术对WAF的广泛影响并附有相关参考资料。 综合评分: 75 文章分类: WEB安全,漏洞分析,安全工具,渗透测试,代码审计


利用条件

需要 Java 代码中用到强转,一般来说,调用框架的程序员,不太会在代码里用到 char 并强转为 byte 的情况。

但是,在 Java 的很多框架里用到了,比如 Spring MVC。

参考漏洞:Spring 框架因 Jetty URI 解析不一致导致的路径穿越漏洞(CVE-2025-41242)

https://github.com/vulhub/vulhub/blob/master/spring/CVE-2025-41242/README.zh-cn.md

代码审计常见关键词 其中,ch 是变量名,可以是符合 Java 变量名称规则的任意值

(byte)ch
ch & 0xff
ch & 255
ByteArrayOutputStream.write(int)
OutputStream.write(int)
DataOutputStream.writeBytes(String)
StringBufferInputStream.read
String.getBytes(int, int, byte[], int)
RandomAccessFile.writeBytes

转换工具

Burpsuite 插件

https://github.com/AugustineFulgur/GhostBitsGenerator

使用 GhostBitsVerifier

https://github.com/TazmiDev/GhostBitsVerifier

ghost_bits_tool

Python 脚本地址:https://github.com/boqiqibo/securityScriptsPython/blob/main/ghost_bits_tool.py

unicode 编码转 ascii

python ghost_bits_tool.py --mode lowbytes --input "阮严灵丰丰甲来"

在线靶场

好靶场

http://www.loveli.com.cn/see_bug_one?id=1008

Vulnhub 靶场

https://github.com/vulhub/vulhub/blob/master/spring/CVE-2025-41242/README.zh-cn.md

总结

原文 PDF 中内容很多,正好马上五一了,没事在家研究一下。

我很热爱学习,绝不是因为没抢到音律联觉门票只能当家里蹲。

参考资料

  • • 【WAF 集体沦陷】Java “幽灵比特位”(Ghost Bits)引发的新型 WAF 绕过与注入攻击 https://mp.weixin.qq.com/s/DTGdGNGXPtHc-I6DEr6Dqg
  • • 影响面较大的新型 WAF 绕过详细解读 https://mp.weixin.qq.com/s/Utx64ue7Phs44pCHrpJbrQ
  • • Ghost Bits,绕 waf 神器 https://mp.weixin.qq.com/s/vEErAiJ2TCqUf2vd_br5eA

声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途给予盈利等目的,否则后果自行承担!

如有侵权烦请告知,我会立即删除并致歉。谢谢!

文章有疑问的,可以公众号发消息问我,或者留言。我每天都会看的。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:进击的HACK 进击的HACK 进击的HACK《如何通过幽灵比特位绕过限制与利用》

评论:0   参与:  0