在本文中,我们将为您详细介绍是否可以通过内部带有JSP代码的html注释进行XSS攻击?的相关知识,此外,我们还会提供一些关于AngularJs。是否可以通过单击取消选择HTML“广播”输入?、Ang
在本文中,我们将为您详细介绍是否可以通过内部带有JSP代码的html注释进行XSS攻击?的相关知识,此外,我们还会提供一些关于AngularJs。是否可以通过单击取消选择HTML“广播”输入?、AngularJs是否可以通过单击取消选择HTML“广播”输入?、asp.net – 这个基于LINQ的搜索是否可以安全地防止SQL注入/ XSS攻击?、asp.net-mvc – 防止XSS攻击,仍然使用Html.Raw的有用信息。
本文目录一览:- 是否可以通过内部带有JSP代码的html注释进行XSS攻击?
- AngularJs。是否可以通过单击取消选择HTML“广播”输入?
- AngularJs是否可以通过单击取消选择HTML“广播”输入?
- asp.net – 这个基于LINQ的搜索是否可以安全地防止SQL注入/ XSS攻击?
- asp.net-mvc – 防止XSS攻击,仍然使用Html.Raw
是否可以通过内部带有JSP代码的html注释进行XSS攻击?
以下代码是否确实为某些JSP页面添加了XSS漏洞?
<!-- <%=paramName%>=<%=request.getParameter(paramName)%><BR> -->
看起来像“剩余调试”,绝对应该从代码中删除它,但是这样做有多危险?
答案1
小编典典是的,您正在查看的是反射性XSS攻击。这很危险,因为它允许攻击者劫持经过身份验证的会话。如果您在系统上运行此代码,则攻击者将能够访问其他人的帐户而无需知道其用户名/密码。
XSS漏洞也可以用来绕过CSRF保护。这是因为XSS允许攻击者使用XmlHTTPRequest读取CSRF令牌的值。XSS也可以用来欺骗引用检查。
这是手动测试xss的简单方法,在这里我打破了HTML注释以执行javascript。
http://localhost/xss_vuln.jsp?paramName=''--><script>alert(document.cookie)</script><!--''
这是一个免费的xss扫描仪,您应该测试所有编写的应用程序。
AngularJs。是否可以通过单击取消选择HTML“广播”输入?
我有收音机输入,如果要检查当前收音机,我想通过单击收音机u检查状态。
这段代码:
<input type="radio" id="average_0" name="average" ng-model="checked" ng-change="false" value="500"><input type="radio" id="average_1" name="average" ng-model="checked" ng-change="false" value="1000"><input type="radio" id="average_2" name="average" ng-model="checked" ng-change="false" value="1500">
不工作
小提琴:http :
//jsfiddle.net/Zoomer/8s4m2e5e/
答案1
小编典典单选按钮一次只能选择一个,并且一旦被选中就不能被用户取消选中(除非您以编程方式进行操作)。因此,如果要在当前选中它时取消选中它,则可以执行以下操作:
<input type="radio" ng-model="checked" value="500" ng-click="uncheck($event)" /><input type="radio" ng-model="checked" value="1000" ng-click="uncheck($event)" /><input type="radio" ng-model="checked" value="1500" ng-click="uncheck($event)" />
在您的控制器中:
$scope.uncheck = function (event) { if ($scope.checked == event.target.value) $scope.checked = false}
演示:http :
//jsfiddle.net/8s4m2e5e/3/
注意:如果您确实要从多个选项中选择一个或不选择,则可以选择 <select>
AngularJs是否可以通过单击取消选择HTML“广播”输入?
我有收音机输入,如果要检查当前收音机,我想通过单击收音机u检查状态。
这段代码:
<input type="radio" id="average_0" name="average" ng-model="checked" ng-change="false" value="500">
<input type="radio" id="average_1" name="average" ng-model="checked" ng-change="false" value="1000">
<input type="radio" id="average_2" name="average" ng-model="checked" ng-change="false" value="1500">
不工作
小提琴:http :
//jsfiddle.net/Zoomer/8s4m2e5e/
asp.net – 这个基于LINQ的搜索是否可以安全地防止SQL注入/ XSS攻击?
http://net.tutsplus.com/tutorials/asp-net/enabling-search-functionality-in-your-site-using-the-new-features-in-aspnet-35/
Protected Sub btnSubmit_Click(ByVal sender As Object,ByVal e As System.EventArgs) Handles btnSubmit.Click Dim db As New BlogDBDataContext() Dim q = From b In db.Blogs _ Where b.BlogContents.Contains(txtSearch.Text.Trim()) Or _ b.BlogTitle.Contains(txtSearch.Text.Trim()) _ Select b lv.DataSource = q lv.DataBind() End Sub
解决方法
ExecuteQuery
.
asp.net-mvc – 防止XSS攻击,仍然使用Html.Raw
但是如果用户进入浏览器开发人员工具(使用Inspect元素)并将其添加到其中,如下面的屏幕截图所示,那么这就是所有麻烦开始的时候.现在在从DB中检索回来后,它在浏览器中显示它会显示警告框.
到目前为止,我已经尝试了很多不同的东西
>使用AntiXssEncoder [HttpUtility.HtmlEncode(Contents)]对内容进行编码,然后将其存储在数据库中,当在浏览器中显示时,将其解码并使用MvcHtmlString.Create [MvcHtmlString.Create(HttpUtility.HtmlDecode(Contents))]或Html显示.Raw [Html.Raw(Contents)]正如您所期望的那样,它们都显示JavaScript警报.
我不想替换< script>手动通过代码,因为它是not comprehensive solution(搜索“和编码状态:”).
到目前为止,我已经提到了许多文章(抱歉没有在这里列出所有文章,但只是添加了一些作为证明我在写这个问题之前付出了真诚努力的证据)但是没有一个代码能够显示答案.可能有一些简单的答案,我不是在寻找正确的方向,或者可能不是那么简单,我可能需要使用像Content Security Policy这样的东西.
ASP.Net MVC Html.Raw with AntiXSS protection
Is there a risk in using @Html.Raw?
http://blog.simontimms.com/2013/01/21/content-security-policy-for-asp-net-mvc/
@L_301_6@
要重现我所说的,请转到* this url并在文本框中键入< script> alert(‘这是一个糟糕的脚本,数据’);< / script>然后单击按钮.
*此链接来自Michael Kennedy的博客
解决方法
如果你允许Html,我会建议如下:
>仅支持固定的Html子集
>在用户提交内容后,解析Html并根据允许的标签和属性的白名单对其进行过滤.
>在过滤和消除任何你不确定的事情时要无情.
有现成的工具和库可以做到这一点.我没有使用它,但我在http://htmlpurifier.org/偶然发现.我认为还有很多其他的. Rick Strahl拥有posted one example for .NET,但我不确定它是否完整.
大约十年前,我试图编写自己的白名单过滤器.它解析并规范化输入的Html.然后,它删除了不在允许的白名单上的任何元素或属性.它工作得很好,但你永远不知道你错过了哪些漏洞.该项目早已死亡,但如果我不得不这样做,我会使用现有的更简单的标记语言而不是Html.
用户有很多方法可以在页面中注入令人讨厌的东西,你必须要凶狠地防止这种情况发生.甚至可以使用CSS将可执行表达式注入页面,例如:
<STYLE type="text/css">BODY{background:url("javascript:alert('XSS')")}</STYLE>
Here is a page with a list of known attacks会让你夜不能寐.如果您无法过滤并阻止所有这些,则您尚未准备好让不受信任的用户发布公众可查看的格式化内容.
在我自己的过滤器工作的时候,myspace(哇我老了)被一个名为Samy的XSS蠕虫击中.Samy使用带有javascript有效负载的嵌入式背景Url的Style属性.全是explained by the author.
请注意,您的example page说:
This page is meant to accept and display raw HTML by trusted
editors.
这里的关键问题是信任.如果您的所有用户都是可信任的(例如网站的员工),那么此处的风险就会降低.但是,如果您正在构建论坛或社交网络或约会网站或任何允许不受信任的用户输入其他人可以查看的格式化内容的内容,那么您很难对Html进行清理.
关于是否可以通过内部带有JSP代码的html注释进行XSS攻击?的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于AngularJs。是否可以通过单击取消选择HTML“广播”输入?、AngularJs是否可以通过单击取消选择HTML“广播”输入?、asp.net – 这个基于LINQ的搜索是否可以安全地防止SQL注入/ XSS攻击?、asp.net-mvc – 防止XSS攻击,仍然使用Html.Raw的相关知识,请在本站寻找。
本文标签: