CSRF漏洞是什么

  1. CSRF 全称:Cross-site request forgery,即,跨站请求伪造,也被称为 “One Click Attack” 或 “Session Riding”,通常缩写为 CSRF 或者 XSRF,是一种对网 站的恶意利用。举个生活中的例子:就是某个人点了个奇怪的链接,自己什么也没输,但 自己的 qq 号或其他的号就被盗了。即该攻击可以在受害者不知情的情况下以受害者名义 伪造请求,执行恶意操作,具有很大的危害性。

CSRF漏洞条件

  1. 目标用户已经登录了网站,有能够执行网站功能的权限
  2. 有构造好的数据包:csrftester工具
  3. 目标用户访问了攻击者构造的URL

黑盒测试判断以及修复建议

  1. 判断来源是否相同:数据包的Refer头是请求来源的IP/域名地址的,但是修复不建议,因为可以通过抓包后用burp修改
  2. 看凭据有无token,如果抓包后发现有token就可以放弃使用csrf进行攻击,token是进行前后端验证的,同一个用户,每一次的操作对应的token值是不同的,如果前后端校验token值不同,操作就无法执行
  3. 看关键操作有无验证:安全码、验证码等

找内网地址

  1. 从三个网段下手:10.xxx 172.xxx 192.xxx 以上三个是内网的网段
  2. 对最后两段进行爆破
  3. 一般都会开放80端口,就扫某个IP地址的80端口通不通

CSRF实例

  1. 本实例采用本人自行开发的项目,未开源
  2. 启动csrftester,并设置监听
  3. 进行注册
  4. 抓到包后generate html,生成对应的html文件,修改对应的input参数
  5. 把改好的html文件上传到外网服务器上,这里我用的apache,就放到/var/www/html路径下即可
  6. 访问(原理应该是被攻击者访问,这里我既作为攻击者,又作为被攻击者)
  7. 有回显,进行跳转,证明攻击成功
  8. 这里test2用户也成功添加,证明攻击成功