WEB攻防-通用漏洞_CSRF_SSRF_代码审计_同源策略_加载函数

目录

【例1】:代码审计-CSRF-SCMSFH无验证

【例2】:代码审计-CSRF-ZBLOG:代码存在同源策略,但可以绕过

【例3】:代码审计-SSRF漏洞-Yzmcms功能&函数


因为CSRF自身漏洞特性,和常规漏洞的挖掘思路是不一样的,直接去验证它有没有过滤CSRF
1、基于代码审计直接挖掘思路:直接复现有没有
  复现失败-->查看代码-->代码过滤严谨-->没有漏洞
  复现失败-->查看代码-->代码过滤存在缺陷(可绕过)-->有漏洞
  复现成功-->有漏洞

【例1】:代码审计-CSRF-SCMSFH无验证

1、CSRF漏洞复现

网站:http://127.0.0.1:8108/admin/admin.php
登录后,进行“新增管理员”操作时用CSRFTest进行抓包,并保存抓取的包,保存为index.html

 

 

修改index.html中的用户名,并删除其它的请求,否则有可能出现问题,保存 

把index.html这个文件放到自己搭建的网站上,重命名为1.html

如果原网站管理员处于登录状态,他点击了我构造的地址:http://47.94.236.117/1.html

原网站后台成功添加了新的账号

 

复现成功,成功添加用户,那证明有CSRF漏洞,说明网站并且没有采取过滤措施,比如:

  1、 没有验证请求来源(同源策略)- 因为伪造的请求是从我的服务器发出的,也可以成功创建用户
  2、 凭据没有token - 如果每次操作都会生成新的token,再次创建用户时,抓的数据包中的token就会失效 
  3、看关键操作有无验证 - 比如修改密码会先验证手机验证码

2、从代码上分析CSRF漏洞的形成
添加用户的URL地址:http://127.0.0.1:8108/admin/admin.php?action=add
① 找到admin/admin.php,并且action=add参数的代码。

参数接收“action”的变量,发现代码中只验证了添加账号的规则,比如不能同名、不能有特殊字符、输入的信息要完整等,并没有验证添加用户的来源请求来自哪里、token也没有验证、添加过程中也没有验证其它操作,从而导致了CSRF的漏洞的产生

【例2】:代码审计-CSRF-ZBLOG:代码存在同源策略,但可以绕过

1、CSRF漏洞的复现

同样上面的操作,添加账号,抓包获取playload下载并删除多余项,然后上传服务器,访问构造地址。访问地址:127.0.0.1:8081/2.html ,会提示“非法访问”,而且用户也没有添加成功,证明复现失败

 说明原网站对CSRF漏洞有防护过滤

2、在代码上分析为什么会复现失败
添加账号的地址:http://127.0.0.1:8110/zb_system/cmd.php?act=MemberPst&csrfToken=753c2775ebd6103da6b4dcd35

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

癞皮狗不赖皮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值