本文主要是介绍CSRF 基于dvwa low和medium,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
CSRF
1.跨站请求伪造原理总结
一个CSRF漏洞攻击的实现,其需要由“三个部分”来构成
1、有一个漏洞存在(无需验证、任意修改后台数据、新增请求)
2、伪装数据操作请求的恶意链接或者页面
3、诱使用户主动访问或登录恶意链接,触发非法操作
第一部分:漏洞的存在
关键字:跨站请求漏洞(CSR:Cross Site Request)
如果需要CSRF攻击能够成功,首先就需要目标站点或系统存在一个可以进行数据修改或者新增操作,且此操作被提交后台后的过程中,其未提供任何身份识别或校验的参数。后台只要收到请求,就立即下发数据修改或新增的操作;
以上漏洞情况的存在,出现比较多的场景有用户密码的修改、购物地址的修改或后台管理账户的新增等等操作过程中。
第二部分:漏洞利用的伪装
关键字:伪装请求(F:forgery)
CSRF漏洞存在了,如果需要真正的被利用,还需要对“修改或新增”数据操作请求的伪装,此时恶意攻击者只要将伪装好的“数据修改或新增”的请求发送给被攻击者,或者通过社工的方式诱使被攻击者在其cookie还生效的情况下点击了此请求链接,即可触发CSRF漏洞,成功修改或新增当前用户的数据信息,如修改当前用户的密码、又或者是当前用户为后台管理员,触发漏洞后新增了一个后台管理员。
第三部分:用户非本意的操作
关键字:非本意操作
当前用户在不知情的情况下,访问了黑客恶意构造的页面或在链接,即在非本意的情况下完成黑客想完成的“非法操作”,实现了对当前用户个人信息的恶意操作。
小结
小结:构造一个恶意链接或者html页面
CSRF漏洞的目的:利用已存在的漏洞构造了一个“恶意链接”或“html页面”,然后诱使用户点击触发此漏洞。
目标站点存在一个漏洞(CSRF),攻击者利用此类漏洞伪装了一个链接或者html页面,诱使被攻击者在登录的情况下(即当前cookie有效的情况下)点击了此伪装请求,随后在用户不知情的情况下完成了对当前用户数据的修改或者新增操作,而被修改的信息可能是用户的密码、关键信息又或者新增后台管理员等。
DVWA-CSRF LOW
这是一个更改密码的界面
修改完账号后发现url因为get请求发生了改变。
http://192.168.5.81/dvwa/vulnerabilities/csrf/?password_new=123&password_conf=123&Change=Change#
修改url中password的值构成新的url重新访问
提示密码修改成功
测试新密码登录成功
DVWA-CSRF medium
medium难度增加了一个对Referer的验证
Referer: http://192.168.5.81/dvwa/vulnerabilities/csrf/ 请求包必须来源与这个referer
过滤规则是http包头的Referer参数的值中必须包含主机名(这里是虚拟机的物理地址)我们可以将攻击页面命名为[虚拟机地址].html (页面被放置在攻击者的服务器里,这里是我的物理机地址)就可以绕过了。
可以使用bp抓包构建html页面
将文件命名好后放入dvwa根目录
url中访问文件
修改成功
这篇关于CSRF 基于dvwa low和medium的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!