DVWA漏洞靶场-跨站请求伪造(CSRF)

漏洞原理:

  CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

对于get请求伪造,可生成短网址,进行欺骗

搭建钓鱼服务器,可以放在请求页面的img src属性里,进行伪装

<img src="http://localhost/dvwa/vulnerabilities/csrf/?password_new=password&password_conf=password&Change=Change#" border="0" style="display:none" />

当浏览器解析html时,自动根据src去请求img,触发了csrf。

 

1.low级别

 

通过地址栏url,复制,修改password_new,password_conf,可生成短网址,诱骗点击,利用用户的cookie,受信任,达成目的

可见,点击链接后,在dvwa未login out的情况下,直接修改了密码

 

 

2. medium 级别

继续利用low方法,返回错误

查看源码,发现检查了,referer字段,判断来源,注:本质上由服务端校验referer头来源没问题,但是当只是检验referer头中是否存在本域,例如:strpos(referer头, xxx)   != false 就出现了问题

比如html文件名设置成要进行攻击的csrf网站所在域,例如本机localhost,搭建服务器,文件名设置成localhost.html, 请求要攻击的网站时,referer头为:http://xxxx.xxx.com/localhost.html

这就出现了问题

。。。忽略localhost域名,本机测试

 

3. high 级别

加入了token验证,token可以有效防止csrf,只有获取token才可csrf,但是浏览器存在跨域问题,无法获取token,所以难以利用

如果存在存储xss,可进行csrf利用

 

总结

防御措施:加入token验证,增加验证内容,比如修改密码,可要求输入源密码

 

转载于:https://www.cnblogs.com/ktfsong/p/11267485.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值