下载此文档

MVC防止跨站请求伪造攻击CSRF.docx


文档分类:文学/艺术/军事/历史 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
该【MVC防止跨站请求伪造攻击CSRF 】是由【泰山小桥流水】上传分享,文档一共【5】页,该文档可以免费在线阅读,需要了解更多关于【MVC防止跨站请求伪造攻击CSRF 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。精选文档
精选文档
1
精选文档
什么是CSRF攻击
CSRF(Cross-siterequestforgery
),中文名称:跨站恳求假造,也被称为:oneclick
attack/sessionriding,缩写为:CSRF/XSRF。
,我们的用户信息都是存在与
cookies里面的,此时在用户自己来
说,程序已经能够算是裸奔了。正因为这样,
Web程序接受的正常客户端恳求一般来自用
户的点击链接和表单提交等行为。
但是歹意攻击者却能够依赖脚本和阅读器的安全缺点来劫
持客户端会话、假造客户端恳求。攻击者盗用了你的身份,以你的名义发送歹意恳求,
以你
名义发送邮件,发信息,偷取你的账号,甚至于购置商品,虚假钱币转账
......造成的问题包
括:个人隐私泄漏以及财富安全。这就是
CSRF攻击。
CSRF漏洞的攻击一般分为站内和站外两各样类:
CSRF站内种类的漏洞在必定程度上是因为程序员滥用
$_REQUEST类变量造成的,一些
敏感的操作原来是要求用户从表单提交倡导
POST恳求传参给程序,但是因为使用了
$_REQUEST等变量,程序也接收GET恳求传参,这样就给攻击者使用CSRF攻击创立了
条件,一般攻击者只需把展望好的恳求参数放在站内一个贴子或许留言的图片链接里,
受害
者阅读了这样的页面就会被逼迫倡导恳求。
CSRF站外种类的漏洞其实就是传统意义上的外面提交数据问题,
一般程序员会考虑给一些
留言议论等的表单加上水印以防范
SPAM问题,但是为了用户的体验性,一些操作可能没
有做任何限制,因此攻击者能够先展望好恳求的参数,
在站外的Web页面里编写javascript
脚本假造文件恳求或和自动提交的表单来实现
GET、POST恳求,用户在会话状态下点击
链接接见站外的Web页面,客户端就被逼迫倡导恳求。
阅读器的安全缺点
此刻的Web应用程序几乎都是使用Cookie来鉴识用户身份以及保留会话状态,但是全部
的阅读器在最先加入Cookie功能时并无考虑安全要素,从WEB页面产生的文件恳求都会带上COOKIE
MVC中防范CSRF攻击
使用AntiForgeryToken令牌,
CSRF攻击的令牌。
()就能够阻挡CSRF攻击。
***@
@{
="改正人员";
Layout="~/Views/Shared/";
}
<h2>
改正人员</h2>
<scriptsrc="***@("~/Scripts/")"
type="text/javascript"></script>
<script
src="***@("~/Scripts/")"
type="text/javascript"></script>
***@using(())
{
***@()
***@(true)
<fieldset>
<legend>人员信息</legend>
***@(model=>)
<divclass="editor-label">
***@(model=>)
</div>
<divclass="editor-field">
***@(model=>)
***@(model=>)
</div>
<divclass="editor-label">
***@(model=>)
</div>
<divclass="editor-field">
***@(model=>)
***@(model=>)
</div>
<p>
<inputtype="submit"value="保留"/></p>
</fieldset>
精选文档
精选文档
2
精选文档
}
<div>
***@("返回列表","Index")
</div>
相应的我们要在Controller中也要加入[ValidateAntiForgeryToken]过滤特征。
该特征表示检测服务器恳求能否被窜改。
注意:该特征只好用于post恳求,get恳求无效。
改正方法
POST:/Person/Edit/5[ValidateAntiForgeryToken][HttpPost]
publicActionResultEdit(intid,Personperson)
{
try
{
//数据库操作代码
returnRedirectToAction("Success",person);
}
catch
{
returnView();
}
}
运转成效和上边的相同
精选文档
精选文档
3
精选文档
而后我们在运转刚才保留的Html文件看看
哈哈报错了。。那就证明我们此刻的阻挡CSRF攻击是有效的。
使用Salt值增强保护
精选文档
精选文档
4
精选文档
为了保证我们的

AntiForgeryToken

阻挡在程序中独一,更好的加密

AntiForgeryToken

,我
精选文档
精选文档
5
精选文档
们能够为

AntiForgeryToken

设置

Salt

值。
精选文档
精选文档
5
精选文档
这样,即使攻击者想法获取了令牌,但是假如

Salt

值不般配也不可以进行

post

操作。
精选文档
精选文档
5
精选文档
改正方法
POST:/Person/Edit/5[ValidateAntiForgeryToken(Salt="aa")][HttpPost]
publicActionResultEdit(intid,Personperson)
{
try
{
//数据库操作代码
returnRedirectToAction("Success",person);
}
catch
{
returnView();
}
}
精选文档
精选文档
5
精选文档
我们临时不改正View代码
运转看看
能够看到加入Salt值后即即是MVC程序自己的页面都没法恳求,更别说攻击者了,除非他
能猜到我们的Salt值。
我们改正view代码
***@("aa")
连续运转项目
能够看到在view中加入Salt值后,阻挡就变的有目的性了。
精选文档
精选文档
9
精选文档

MVC防止跨站请求伪造攻击CSRF 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息