PHP 双字节、宽字节编码漏洞
《PHP中的隐形杀手:双字节编码与GPC过滤的挑战》
在一个demo.php文件中,我们见证了PHP在处理用户输入时的脆弱性。此文件的代码首先设置了内容类型为HTML,并使用GB2312字符集。然后,它尝试通过两种不同的方式展示用户输入的字符串:直接输出和经过addslashes函数处理后的输出。
当我们尝试通过URL传递参数str时,可以看到不同的结果。例如,当str=php时,这个简单的字符串在GPC和addslashes的过滤下被清理了。有些字符,如%d5',在通过系统处理后,却能够成功绕过这些过滤机制。
这里的%d5'实际上是一种双字节编码,它在提交时会被转义,整体变为%d5\'。而\的编码为5c,这意味着我们可以通过特定的编码组合来绕过系统的安全机制。例如,%d5%5c高8位合并编码为汉字誠,而\被我们非法利用,最终%d5'经过转义合并编码为“誠' ”进入SQL而不被过滤。
为了深入理解这一机制,我们需要对双字节编码有深入的了解。双字节编码是一种利用字符的编码组合来制造特殊的字符序列,这些序列在某些情况下可以绕过系统的安全过滤。为了更深入地了解这一主题,你可以参考这篇来自《黑客防线2009精华奉献本》的文章《双字节编码 php的隐形杀手》。这篇文章详细了如何通过双字节编码来攻击PHP应用程序,并提供了一些实用的见解和解决方案。
在这个demo中,我们可以看到GPC(一种常见的PHP安全实践)和addslashes函数在某些情况下并不能完全保护我们的应用程序。开发者需要更加深入地了解双字节编码和其他潜在的安全风险,以确保他们的应用程序能够抵御各种攻击。对于已经遭受攻击的应用程序,了解这些安全风险也能帮助开发者更有效地修复漏洞并加强安全防护。《PHP中的隐形杀手:双字节编码与GPC过滤的挑战》这篇文章旨在帮助我们更深入地理解PHP的安全挑战,并提供一些实用的解决方案和见解。
网站设计
- PHP 双字节、宽字节编码漏洞
- 易信适配Apple Watch 上线首日App Store社交榜首
- ie6和ie7中的链接图片点不中问题讨论
- ai怎么设计书本图标- ai书本的画法
- Hosts文件的作用和位置详解
- 安卓被曝“寄生兽”漏洞 超千万APP可能受到影响
- CSS教程:简化CSS中属性的示例
- 标签增加CSS的overflow属性来清除浮动
- DreamWeaver怎么显示代码行数- dw显示行标的技巧
- 美媒:中国手机在印热卖 已摆脱廉价低质形象
- css3实现背景图片拉伸效果像桌面壁纸一样
- 不同价格机械键盘的选择推荐
- win10语言切换快捷键怎么设置-
- 电脑出现错误代码0xc000012f提示的解决方法图文教
- 浅析平面版式设计中图片的应用方法
- 关于CSS控制DIV水平居中问题