当前位置:首页 > 黑客服务 > 正文内容

ASP.NET防护XSS跨站进犯

访客4年前 (2021-04-15)黑客服务1011

 现在做ASP.NET项目的时分就有遇到过“用户代码未处理HttpRequestValidationException:从客户端***中检测到有潜在风险的 Request.Form/Request.QueryString值。”的问题,其实这是ASP.NET关于XSS进犯的一种防护手法,避免歹意的HTML符号或脚本数据注入到网站中。

遇到这种问题,我百度了一下,看了大神写的博客,所以转载+备份。

要处理这个问题需求对应多种状况,并且有多种办法来处理。在ASP.NET WebForm项目中能够对独自页面或许大局页面进行处理。

办法一:在出现问题的页面中,设置头部Page的特点ValidateRequest=false,代码如下:

<%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication13.WebForm1" %>

MSDN关于ValidateRequest特点的描述:假如 ASP.NET 针对风险值查看来自浏览器的输入,则为 true;不然为 false。 默许值为 true。

办法二:在装备文件中 设置system.web 节点下pages节点的validateRequest="false",代码如下:

<system.web> <pages validateRequest="false"></pages> <httpRuntime requestValidationMode="2.0"/> </stytem.web>

留意:

1、办法二要慎用,办法二是大局装备,一旦封闭了全站的恳求验证,网站就很有或许遭到各种进犯以及承受许多风险的数据,比方最常见的XSS进犯。

2、办法一和办法二设置收效都有一个条件,便是装备文件中的httpRuntime 节点的验证形式有必要为2.0,.Net Framework4.0版别以上的项目,不设置的话默许验证形式是4.0,4.0的验证形式ValidateRequest=false将会无效,除非 你的ASP.NET项目运用的仍是.NET 4.0以下的结构。

代码如下:

<system.web> <httpRuntime requestValidationMode="2.0"/> </stytem.web>

总结MSDN的材料,归纳来说便是4.0的验证形式默许是全站HTTP恳求都会进行验证,包括COOKIE恳求、.ashx一般处理程序恳求都会进行验证。而2.0的形式仅仅针对当时的.aspx页面,这儿看下微软MSDN上的阐明:

RequestValidationMode 特点指定要运用的 ASP.NET 验证办法。 这可所以在 ASP.NET 版别(早于版别 4)中或在 .NET Framework 4 中运用的版别中运用的算法。 能够将特点设置为下列值: 4.0(默许)。 HttpRequest 目标在内部设置一个标志,该标志指示每逢拜访 HTTP 恳求数据时应触发恳求验证。 这可确保在恳求期间拜访数据(如 cookie 和 URL)之前触发恳求验证。 装备文件中页元素(假如有的话)的恳求验证设置或独自页面中的 @ 页指令的恳求验证设置将被疏忽。 2.0. 仅对网页(而不是对一切 HTTP 恳求)启用恳求验证。 此外,装备文件中的 pages 元素(假如有的话)的恳求验证设置或独自页中的 @ Page 指令的恳求验证设置用来确定要验证哪些页恳求。 未验证分配给此特点的值是否匹配特定版别的 ASP.NET。 任何小于 4.0(例如 3.7、2.9 或 2.0)的数值将被解释为 2.0。 任何大于 4.0 的数值将被解释为 4.0。 若要在装备文件中设置此值,能够为 httpRuntime 元素的 requestValidationMode 特性赋值。 有关更多信息,请拜见 httpRuntime 元素(ASP.NET 设置架构)。

3、办法一也是在特定环境下才能够撤销验证,关于用户的输入内容,有必要要做好相对应的防护办法,根本的能够运用 HttpUtility.HtmlEncode()对用户输入文本进行编码。当然引荐仍是运用AntiXSS类库,在.NET Framework4.5以上的版别现已将这个类库包括进去,有爱好的朋友能够研讨下System.Web.Security.AntiXss 命名空间。

别的一个便是ASP.NET MVC项目,MVC中比较简单,只要在控制器上设置特点ValidateInput(false)就行,例如:

[HttpPost] [ValidateInput(false)] public ActionResult Create(string strText) { /*此处省掉代码1000行……..*/ }

别的即使是ASP.NET MVC,也要在装备文件中设置验证形式为2.0,不然设置也是无效的。

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:https://therlest.com/106280.html

分享给朋友:

“ASP.NET防护XSS跨站进犯” 的相关文章

吃鸡鸭的屁股会有病吗?我非常爱吃鸡鸭的屁股,但经常吃会有病吗?另

吃鸡鸭的屁股会有病吗?我非常爱吃鸡鸭的屁股,但经常吃会有病吗?另 鸡鸭的肛门附近组织,布满大大小小的腺体,各类秽物与毒素都在这些腺体囤积;鸡鸭的肛门也有非常高密度的大肠杆菌,所以鸡鸭的屁股不是少吃的问题,而是不能吃.吃得少可能没觉出怎样,多了问题就显出来了.而且鸡鸭屁股的大肠杆菌会随着蛋生出来的时...

古文化常识(中国古代文化常识大全)

1.中国古代文化常识 文学常识? 四本书:《论语》、《中庸》、《孟子大学》 五经:《诗经》《礼记》《周易》《春秋》 乐府双壁:木兰诗孔雀东南飞 三个字:警告世界,说真话,说真话,唤醒世界,说同样的话 第二枪:第一枪很厉害,第二枪也很厉害 三官:石渠官、潼关官、新安官 三次告别:新婚、老...

铁盖子可以放入高压锅蒸吗?装酱料的铁盖子,外面的涂层有些剥落,好

铁盖子可以放入高压锅蒸吗?装酱料的铁盖子,外面的涂层有些剥落,好 铁盖子可以放入高压锅蒸吗? 装酱料的铁盖子,外面的涂层有些剥落,好象也没锈,可以拿它盖严瓶子入高压锅蒸吗? 绝对不行!既危险又不卫生。盖住的瓶子在高压锅中加热,很容易形成压力差而爆炸;铁在高压锅中的水蒸汽作用下极易变成四氧化三...

西安电脑黑客接单_怎么能找入侵蚊香社的黑客

sudo apt install g++-4.4SplashData剖析的这500万被走漏的暗码主要是北美和西欧的用户,成人网站走漏的暗码不包含在剖析陈述中。 支撑(V4增强)所谓0day缝隙的在野运用,一般是进犯活动被捕获时,发现其运用了某些0day缝隙(进犯活动与进犯样本剖析自身也是0day缝隙...

图说兰州清真寺之兰州水上清真寺

圖說蘭州清真寺之蘭州水上清真寺讀書啊,我信赖但有朗朗書聲出破廬,遲早有一日有萬鯉躍龍門之奇象。 圖說蘭州清真寺是本人在2011年開始走訪,並在中穆網蘭州社區陸續發佈的走訪蘭州清真寺之系列。不知不覺六七年過去瞭,有的清真寺有瞭很大的變化,以是在此基礎上本人再次整理發佈,希望大傢足不出戶瞭解蘭州的...

查开放房软件app(免费查开放房的软件)

  你仅仅坚持不懈和女孩儿入睡。假如你发觉仅有大家2个,你应该坚持不懈再开一个。可是你的迟疑说明你還是想和他发生关系。留意防护措施。   线上查询对外开放门户网应用软件,并查询对外开放门户网应用软件系统软件下载   在哪儿申请办理公共性租用住宅?   我与男友在网络上了解的。我北京市找他。他为我开过...

评论列表

纵遇玖橘
3年前 (2022-05-28)

.0的形式仅仅针对当时的.aspx页面,这儿看下微软MSDN上的阐明:RequestValidationMode 特点指定要运用的 ASP.NET 验证办法。 这可所以在 ASP.NET 版别(早于版别 4)中或在 .NET Framework 4 中运用的版别中运用的算法。 能够将特点设

忿咬痴妓
3年前 (2022-05-29)

/pages> <httpRuntime requestValidationMode="2.0"/> </stytem.web>留意:1、办法二要慎用,办法二是大局装备,一旦封闭了全站的恳求验证,网站就很有或许遭到各种进犯以及承受

冢渊嘤咛
3年前 (2022-05-29)

tmlEncode()对用户输入文本进行编码。当然引荐仍是运用AntiXSS类库,在.NET Framework4.5以上的版别现已将这个类库包括进去,有爱好的朋友能够研讨下System.Web.Security.AntiXss 命名空间。别的一个便是ASP.NET MVC项目,

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。