10分钟浅谈CSRF突破原理,Web安全的第一防线( 四 )


由于跨域是不能实现的,所以我们将攻击代码注入到目标服务器169.254.36.73中,才有可能完成攻击 。下面利用高级XSS入侵协助赢得Anti-CSRF令牌(因为这里的XSS注入有长度限制,不能够注入完整的攻击脚本,所以只获取Anti-CSRF token)
这里的名称存在XSS突破,于是抓包,改参数,成功删除令牌链接 。

10分钟浅谈CSRF突破原理,Web安全的第一防线

文章插图
 
通过DVWA平台的CSRF实例,简单的总结了CSRF的特性和应对措施:
 
CSRF应对措施
从DVWA的测试中总结:在不可能的等级的原始代码中,利用了PDO技术防御SQL注入,CSRF方面则要求用户原始密码;攻击者在不知道原始密码的情况下是无法进行CSRF的!
CSRF防御手段
  • 使用POST,限制GET
GET方式最容易受到CSRF攻击,只要简单的构造有效剂量就可能导致CSRF;使用POST可以大程度的减低CSRF显示率
  • 浏览器Cookie策略
老浏览器会拦截第三方本地Cookie的发送,而新浏览器则不会拦截发送;
 
  • 添加验证码
简单粗暴还有效;可以大程度的增加人机交互的过程,避免用户被悄悄的偷袭
  • 推荐人检查
检查请求是否来自于合法的源
  • 反CSRF令牌

令牌的值必须是随机的,不可预测的 。由于令牌的存在,攻击者无法再构造一个带有合法令牌的请求实施CSRF攻击 。另外使用令牌时应注意其保密性,尽量把敏感的操作由GET改写POST,以表格或AJAX形式提交,避免令牌替换 。 
  • 总结
CSRF攻击是攻击者利用用户的身份操作用户帐户的一种攻击方式,通常使用反CSRF令牌来防御CSRF攻击,同时要注意令牌的保密性和随机性 。
实际上是网络安全除CSRF之外,还包括SQL注入,XSS等众多知识点,繁杂且不成体系,若要深入学习Web安全攻防内容,一定要从基础抓起:https://www.ichunqiu.com/train/course/11?form=weixin

【10分钟浅谈CSRF突破原理,Web安全的第一防线】


推荐阅读