Q
CSRF漏洞原理?
A
web应用程序在用户进行敏感操作时,如修改账号密码、添加账号、转账等,没有校验表单token或者http请求头中的referer值,从而导致恶意攻击者利用普通用户的身份(cookie)完成攻击行为。
受害者A登录网站,攻击者B构造有效链接诱导受害者A访问,网站在线期间会将该请求当做正常业务执行。(比如修改密码,向某用户转账等业务,当然现在这种简单的EXP基本上见不到,拿靶场验证一下用于理解原理就行了)Q
CSRF漏洞类型?
A
GET类型
POST类型
比如在一个页面中构造好个页面隐藏在一个不可见的iframe窗口中,然后使用JavaScript自动提交这个表单,在整个过程中,对于用户来说是不可见的。当用户访问该页面后,表单会自动提交,相当于模拟用户完成了一次POST操作
Q
CSRF漏洞危害?
A
盗用其他用户或者管理员的账号
获取个人隐私或者机密资料
联合其他漏洞组合拳
比如说拿到管理员账号之后,我们在某个页面利用XSS漏洞进行网页挂马,普通用户访问后就会下载木马程序,进而联合MSF或者CS等工具getshell。再比如说你把管理员密码还原一下,真正管理员登录的时候也会受到网页挂马的影响,结合工具可以进一步拿下管理员个页面隐藏在一个不可见的iframe窗口中,然后使用JavaScript自动提交这个表单,在整个过程中,对于用户来说是不可见的。当用户访问该页面后,表单会自动提交,相当于模拟用户完成了一次POST操作
Q
CSRF漏洞危害?
A
盗用其他用户或者管理员的账号
获取个人隐私或者机密资料
联合其他漏洞组合拳
比如说拿到管理员账号之后,我们在某个页面利用XSS漏洞进行网页挂马,普通用户访问后就会下载木马程序,进而联合MSF或者CS等工具getshell。再比如说你把管理员密码还原一下,真正管理员登录的时候也会受到网页挂马的影响,结合工具可以进一步拿下管理员CSRF漏洞防范措施?
A
验证码验证
验证码被认为是对抗CSRF攻击最简洁而有效的防御方法。
CSRF攻击的过程,往往是在用户不知情的情况下构造了网络请求。而验证码,则强制用户必须与应用进行交互,才能完成最终请求。因此在通常情况下,对用户执行敏感操作时进行验证,就能够很好地遏制CSRF攻击。
但是验证码并非万能。很多时候,出于用户体验考虑,网站不能给所有的操作都加上验证码。因此,验证码只能作为防御CSRF的一种辅助手段,而不能作为最主要的解决方案。
在请求地址中添加token并验证
CSRF攻击之所以能够成功,是因为黑客可以完全伪造用户的请求,该请求中所有的用户验证信息都是存在于cookie中,因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的cookie来通过安全验证。主机权限。
Q主机权限。
Q一个表单表单,将这