CSRF跨站请求伪造
原理总结:
一个CSRF漏洞攻击的实现,其需要由“三个部分”来构成
1,有一个漏洞存在(无需验证,任意修改后台数据,新增请求)
2,伪装数据操作请求的恶意链接或者页面
3,诱使用户主动访问或登录恶意链接,触发非法操作
第一部分 漏洞的存在
关键字:跨站请求漏洞(CSR:Cross Site Request)
如果需要CSRF攻击能够成功,首先就需要目标站点或系统存在一个可以进行数据修改或者新增操作,且此操作被提交后台后的过程中,其未提供任何身份识别或校验的参数,后台只要收到请求,就立即下发数据修改或新增的操作:
以上漏洞情况的存在,出现比较多的场景有用户密码的修改,购物地址的修改或后台管理账户的新增等等操作过程中。
第二部分 漏洞利用的伪装
关键字:伪装请求(F:forgery)
CSRF漏洞存在了,如果需要真正的被利用,还需要对“修改或新增”数据操作请求的伪装,此时恶意攻击者只要将伪装好的“数据修改或新增”的请求发送给被攻击者,或者通过社工的方式诱使被攻击者在其cookie还生效的情况下点击了此请求链接,即可触发CSRF漏洞,成功修改或新增当前用户的数据信息,如修改当前用户的密码,又或者使当前用户为后台管理员,触发漏洞后新增了一个后台管理员。
第三部分 用户非本意的操作
关键字:非本意操作
当前用户在不知情的情况下,访问了黑客恶意构造的页面或在链接,即在非本意的情况下完成黑客想完成的“非法操作”,实现了对当前用户个人信息的恶意操作。
小结:构造一个恶意链接或者html页面
CSRF漏洞的目的:利用已存在的漏洞构造了一个“恶意链接”或“html页面”,然后诱使用户点击触发此漏洞。
目标站点存在一个漏洞(CSRF),攻击者利用此类漏洞伪装了一个链接或者html页面,诱使被攻击者在登录的情况下(即当前cookie有效的情况下)点击了此伪装请求,随后在用户不知情的情况下完成了对当前用户数据的修改或者新增操作,而被修改的信息可能是用户的密码,关键信息又或者新增后台管理员等