0
点赞
收藏
分享

微信扫一扫

【服务器05】之【登录/注册账号成功转至游戏场景】

CSRF跨站请求伪造

条件

1、需要请求伪造数据包

2、无过滤防护,有过滤防护能绕过

3、受害者需要触发

案例一(无防护)

burp抓到添加用户的包

在这里插入图片描述

使用burp自带的转换为csrf的poc

在这里插入图片描述

勾选上include-auto-submit script,删除点击标签,使其不用点击就能访问

在这里插入图片描述

这个数据包构造好了之后,点击这个html,如果该用户刚好登录了这个cms的后台并且有权限增加用户那么就会成功创建一个admin用户。

在这里插入图片描述

防护措施:检测(Referer)来源

案例二

抓取zblog新增数据包

在这里插入图片描述

转化为csrf poc

在这里插入图片描述

将html上传到外网服务器访问,被过滤

在这里插入图片描述

根据网页目录找到cmd.php文件,搜索MemberMng

在这里插入图片描述

按住ctrl点击CheckIsRefererValid

在这里插入图片描述

按住ctrl点击CheckHTTPRefererValid,HTTP_REFERER函数是获取referer头的,如果referer为空的话就执行成功

在这里插入图片描述

将referer头改成网站地址绕过

在这里插入图片描述

或者在referrer头后门加上同源地址

在这里插入图片描述

成功添加,但是这个并没有什么用,因为被攻击者不会主动去修改referfer头

在这里插入图片描述

在生成的poc头部加上这个使其数据包自动将referer头去空

在这里插入图片描述

通过burp抓包可以看到已经没有了referer头了

在这里插入图片描述

放包后成功添加,因为代码逻辑就是为空就是True

在这里插入图片描述

绕过
referer验证
规则匹配绕过问题(代码逻辑不严谨)
添加<meta name="referrer" content="no-referrer">到头部文件
referer头加上同源地址:http://xx.xx.xx.xx/http://xx.xx.xx.xx
配合文件上传绕过(严谨使用同源绕过)
配合存储XSS绕过(严谨使用同源绕过)
token验证
Token参数值复用(代码逻辑不严谨)
Token参数删除(代码逻辑不严谨)
Token参数值置空(代码逻辑不严谨)
举报

相关推荐

0 条评论