首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Unicode编码来规避XSS过滤器?

如何使用Unicode编码来规避XSS过滤器?
EN

Security用户
提问于 2017-03-22 12:37:44
回答 1查看 4.3K关注 0票数 6

最近,我遇到了一个据报道的XSS,其中攻击者是Unicode在HTTP参数中编码有效载荷,以避开现有的XSS过滤器-

我的问题是-服务器/应用程序何时将Unicode转换为纯文本?是读取GET参数的值吗?如果是的话,为什么过滤器不能检测到呢?

当以明文提供相同的有效载荷时,攻击不起作用。App部署在IIS 7上。

对于这类逃逸技术的任何缓解策略也将进行研究。

更新:https://www.ietf.org/rfc/rfc1738.txt限制使用unicode字符作为URL。IIS 7仍然接受unicode字符作为URL GET值的一部分的可能性有多大。我有一些用于测试的易受攻击的php webapp(部署在WAMP服务器中的DVWA),它们很容易受到非常简单的XSS攻击向量(如<script>alert(1)</script> )的攻击。我尝试用它们的Unicode等价物替换几个字符,但是编码的字符串不调用XSS!

EN

回答 1

Security用户

发布于 2018-01-11 23:39:14

使用Nuget的包AntiXssEncoder

Install-Package AntiXSS -Version 4.3.0

这个类对每一种情况都有不同的编码器,因为这个值会被反映出来,例如css、JavaScript、HTML和URL;使用这个方法取决于您的情况,例如:

在CSS中使用:CssEncode("data")

在Javascript中使用:JavaScriptStringEncode("data")

此解决方案允许对主要类型进行验证,以绕过编码、保证\u 0027、%27和许多不同的选项。

另一种方法是首先对数据进行规范化和编码,这允许验证,例如,%u 0027、\x00、%00,并将值更改为特定语言,以绕过验证。

https://msdn.microsoft.com/en-us/library/system.web.security.antixss.antixssencoder(v=vs.110).aspx https://msdn.microsoft.com/es-es/library/ebza6ck1(v=vs.110).aspx

我希望我能帮你。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/154588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档