CSRF攻击

防御策略

过滤判断换referer头,添加tocken令牌验证,白名单

CSRF攻击和XSS比较

相同点:都是欺骗用户

不同点:

XSS有攻击特征,所有输入点都要考虑代码,单引号过滤

CSRF没有攻击特征,利用的点是,用户或者管理员登录状态打开,如果没token和referer验证就有可能有漏洞

示例实验,先搭建一个实验网站

搭建一个discuz论坛网站,设置下管理员账户密码,数据库密码

CSRF攻击_第1张图片

CSRF攻击_第2张图片

进入管理中心,添加两个分区

CSRF攻击_第3张图片

CSRF攻击_第4张图片

添加一个普通用户

CSRF攻击_第5张图片

CSRF攻击_第6张图片

登录UCenter更新缓存

CSRF攻击_第7张图片

CSRF攻击_第8张图片

备份

CSRF攻击_第9张图片

如果备份,备份的文件路径如下,路径upload\uc_server\data\backup\backup_230921_IoXzTQ是随机产生的,230921_wvKcrM-1.sql是备份的文件

CSRF攻击_第10张图片

CSRF攻击_第11张图片

下面来拆解下构造攻击代码原理

http://192.168.246.11/upload/admin.php是刚才UCenter点备份那个网址

链接设置为:蓝色是BP抓包的地址,抬头,红色是自己构造的文件名。

http://192.168.246.11/upload/uc_server/admin.php?m=db&a=operate&t=export&appid=0&backupdir=xxxx%26backupfilename%3Daaaa

CSRF攻击_第12张图片

这个网址就能在刚才那个备份网址备份的文件夹backup里面创建一个xxxx的备份文件夹,备份的数据库叫aaaa-1.sql,有-1是因为超过2M系统自动拆分成-1,-2,-3

CSRF攻击_第13张图片

把上面这个xxxx文件删掉,通过上面已经知道构建的那个链接可以创建数据库

用test账户登录上传带链接的图片
 

发帖时,一定要添加一个网络图片,链接设置为

CSRF攻击_第14张图片

CSRF攻击_第15张图片

CSRF攻击_第16张图片

演示管理员点击这个有问题的评论

只要是网站管理员在admin登录状态下,点了那个评论。即使管理员没有在Ucenterd点数据备份,那个备份的地方里面也会有构造的那个xxxx备份文件

CSRF攻击_第17张图片

CSRF攻击_第18张图片

查看构建的网址:http://192.168.246.11/upload/uc_server/data/backup/xxxx/aaaa-1.sql

就可以获取已经备份的文件。有插入的地方都容易产生钓鱼漏洞

CSRF攻击_第19张图片

注意:discuz是开源网站,可以查到目录

你可能感兴趣的:(it,csrf,前端)