🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## CSRF攻击案例 ### 本地网络设备 CSRF 攻击 一般情况下,外网不可以访问交换机等内网硬件,如果想访问内网设备,应该怎么办呢 >注意,内网设备很多是默认密码的 首先,模拟正常用户身份登录->开启web管理端口的操作,用burp抓包后,抓取得到地址为 ``` <img src=http://192.168.1.1/userRpm/ManageControlRpm.htm?port=80&ip=255.255.255.255&Save=%B1%A3+%B4%E6> ``` 将这个攻击代码插入到想插入的地方,欺骗对方企业访问这个地址,访问之后对方设备的远程web管理端口就打开了 >这段攻击代码三个功能,先开启80端口,把远程web管理IP地址改成255.255.255.255,保存 ### CSRF自解压案例 将攻击代码嵌入到rar压缩软件的自解压选项中,用户点击这个压缩软件后,自动解压过程中,就触发了恶意代码 >补充: >在做免杀的时候也可以使用这个功能做自解压木马干掉杀毒软件 >可以把一个木马进行拆分 >先把注册表导入形式拆分 >内存部分再拆分 >启动项拆分导入形式 >最后加一个自动.exe形式 ### burp 添加管理员账号 网站开源情况下,找到添加管理员账号的代码,模拟出添加管理员的数据包,再进行修改,只需要把地址改成要攻击网站,嵌入到恶意程序,诱骗管理员在管理状态中触发 ### 小结 CSRF的攻击门槛不是很高,但是这种攻击一定是基于会话,也就是需要遇害者在登录状态下执行恶意代码,这也就要求我们将CSRF与其他攻击手法相结合,构造攻击代码+钓鱼执行代码 ## CSRF 漏洞防御 1. referer : 使用严格的Referer验证策略来防御登陆CSRF,因为登陆的表单一般都是通过HTTPS发送,在合法请求里面的Referer都是真实可靠的。通过referer判断页面来源进行CSRF防护,该方式无法防止站内CSRF攻击及referer字段伪造。 2. token: 通过token方式进行CSRF防护,在服务器端对比POST提交参数的token与Session中绑定的token是否一致。 3. origin: 对于更长远的建议,我们希望能用Origin字段来替代Referer,因为这样既保留了既有效果,又尊重了用户的隐私。 最终要废除利用token来防御CSRF的方式,因为这样网站就可以更好的保护无论是HTTP还是HTTPS请求,而不用担心token是否会泄露。 4. 业务上 验证码: 重要功能点使用动态验证码进行CSRF防护 原密码: 对于修改密码操作,推荐附加上原密码的验证 白名单: 对于那些有特定跨站需求的请求,网站应该建立一份白名单,比如主页等。 5. 校验请求 严格区分好 POST 与 GET 的数据请求