csrf跨站伪造请求的原理是:
1.用户的cookie短时间内不会过期
2.网站使用javascript发起网络请求
3.浏览器的信任机制使得浏览器会完全信任用户访问的站点,不会阻止跨站访问请求
csrf的成功条件:
1.用户要登录目标站点
2.目标用户访问攻击者的csrf
靶场
这次的靶场为dedecms,可以本地搭建一个同版本的cms查看是否存在csrf漏洞。
1.搭建好本地站点后进入后台发现存在文件管理功能
2.使用burpsuite抓包并右键选择转换为csrfpoc
3.测试poc是否可用
成功执行了创建文件请求
一句话木马执行成功
4.添加方法将poc变为自动执行
可以看得到再次成功创建了文件
5.将poc内目标域名改为靶场域名(注意写入文件的目录需和目标相同,网站要创建在newcsrf目录内才能正确执行poc)
在问题反馈处提交钓鱼链接,等待管理员访问
一句话木马执行成功
6.使用中国菜刀进入网站目录取得flag
CSRF修复建议:
1.验证请求的refer值
2.在http请求中以参数的形式加入一个随机产生的token并在服务器端验证