声明
本公众号文章来自我的学习笔记,可以转载,须标明原出处。请不要利用文章内的相关知识点进行非法渗透,仅做学习使用,产生的一切后果与文章作者和本公众号无关。
缘起
应该是2月底吧,报名了某个src挖掘培训,大几千。get到很多点,3月中便开始尝试挖掘一些专属厂商的src,结果嘛...内部已知,重复,危害不足感谢您对xx安全的支持~ 说实话挺打击人的 给一腔热血的我泼了一盆冷水。不过还是自己太菜...菜狗是我没错了
前言
自从被打击信心后便开始找某公益挖了,对自己说练手...真是盖了冒了,主要是想水点币卖牛奶还钱罢了,蚊子再少也是肉啊。手动挖了整整一个月。干到2300多名,全找小程序挖,挖的90%都是逻辑方面的,因为小程序比较好挖,关注的人少。再就是逻辑漏洞也比较好挖...
4月4日开始
5月4日
漏洞数79个 其中严重0个 高危18个(清一色支付漏洞) 中危36个(一些其他逻辑和越权) 低危25个(清一色的短信轰炸)
正文
以下是一些已经修复的漏洞,至少平台那边显示是已修复...都会打码,并且以文字+图片+一些简单的数据包演示形式发出。为什么没有数据包?因为我挖的时候开录屏了,漏洞报告都是直接交上去的 本地没有留存...
为什么要开录屏?
因为某盒子有个专属src 泥马的我文档写上去了 我自己都能验证 牛马shenhe说验证不了,第二天我去验证,那个接口都没了...吃了没录屏的亏。
水平越权之ikun替身
功能点:评论处留言处啥的 如下
漏洞产生原因:用户的评论所属标识,可以伪造且鉴权不严格,让我们来看一份在评论里抓到数据包(复刻版)
// 返回包类似
{"评论内容":[
{"用户1的id":1234,"用户1的评论":"user1"},
{"用户2的id":4321,"用户2的评论":"user2"}
]
}
// json格式应该是这样吧...自己复刻的有点简陋 但是都大差不差
根据以上抓到的返回包 我们可以看到 这个返回包返回了评论所属用户id。
我们可以大胆猜测,在评论时把自己的id参数改为他人的,能不能越权为他人发表的呢?
当然是能啦 不然我都不会写出来了哈哈哈
成功越权 用户评论的名字还是我的 但是点击头像进去主页是他人
改个名能伪装他人钓鱼了 已提交 并且厂商在平台上显示已修复!
如果这个评论所属id不是数字要怎么办?
1. 从有别的用户身影处抓包查看返回包 如评论 排行榜
2. 关注用户/点赞用户/举报用户啥的 反正跟用户相关的地方看看
我就知道起来有这些点了 或许有纰漏遗漏,望理解!
该如何测一些越权漏洞?
多看/多删数据包的一些参数
多删指的是什么?
一长串的cookie:xxx...参数 可以删除部分的 删除一点发送一次 看看返回包是否正常 有些类似
111xx111 前后相同 只有中间xxx不同 刚好使用这个参数值作为身份验证 那么我们可以尝试去爆破xxx
必要时可注册两个账号测试
支付漏洞之零元购
功能点:支付,充值,积分兑换实物,开通VIP会员,提现,反正跟钱相关的地方
一定要仔细看数据包!
相关操作:
支付:抓包改金额/数量/优惠券价格/运费价格/高金额替换低金额等 以及一些数值溢出 一定要仔细看数据包 这方面的更多知识点可以看月神的公众号。
充值:四舍五入充值 如0.016微信支付是0.01 网站导致0.2。还有一些充值满100送50的,可以尝试把充值金额改为0.01支付后照样送50。
积分兑换实物:可以尝试修改自己的积分返回包。或修改所需积分。或修改实物数量,跟上面的支付差不多。
开通VIP会员:修改金额/数量/月数/年数等,有些首次开通有优惠,也可以尝试注销自己的账号,再次首次优惠。
提现:以前遇到一个,修改了自己的金额提现,但需要人工审核,因为是公益,感觉没必要...所以这个洞存不存在还是存疑。留给你自己思考了。并发 提现万物皆可以并发 没试过。
以下是例子
数据包类似于这样 自己随便找个网站抓包改改以作演示 有点出入
POST /xxx/xxx/xxx. HTTP/2
Host: www.xxx.com
Cookie: userid=1234;
Sec-Ch-Ua: "Not:A-Brand";v="99", "Chromium";v="112"
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "Windows"
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: https://xxx/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
{"用户id":1234,"商品id":10,"数量":1,"价格":299}
上面的json就不打英文了 这里我们改价格为0.02即可 你说不是0.01没有灵魂?如今鼠鼠已经是行尸走肉了 就0.02将就下
当然数量也能改 另外这个数据包是存在越权的
由于是要上门实地安装的 所以就没有支付了 只有微信扫码验证 这个洞是通过的,并且平台显示已修复。
因为是公益 你懂得...
有种情况是支付完后,后端不匹配,这种遇到过。但是 还是那句话 公益 你懂得...
支付漏洞之0提现100(标题党,存疑)
可以看到我的所有金额是0 在这里点击体现是显示当前没有可提现金额
这里估计是前端验证 if(金额 > 0 ) {return "可以点击提现按钮"} else {return "当前没有可提现金额 "}
这图放久了有点糊
我们回到主页 这里就不放图了 泄露的信息太多
开启抓包点击这个功能点 将其返回包的可提现金额改为100
现在可以看到金额变为100
点击提现
就到这步了 没点提交申请,要个人信息,还是那句话 公益你懂得... 这个洞是存疑的,不知道是不是自慰
跟上面那个零元购打包交的 感觉亏了
支付漏洞之0.01充110
可以看到这里显示充100送10元 尝试充值100抓包修改为0.01
成功到账110
怎么发现这个漏洞的? 仔细看数据包
我输入1元后点击充值,查看其返回包返回0 本以为是错误 但是能继续执行了
输入100元后点击充值,查看其返回包返回1
那么输入0.01后点击充值,将其返回包的值修改为1 即可成功充值110
原因:网站过于相信自己没做金额和赠送金额所需条件的校对
// 简单示例代码
buy_price = 0.01;
my_price = 0;
if(price>=100){
return status = 1;
}esle{
return status = 0;
}
返回包 status = 0;
// 这里我们可以抓包修改其返回包 将其改为1
返回包 status = 1;
if(status=1){
my_price = buy_price + 10;
return "到账" + my_price;
}else{
return "到账" + buy_price;
}
万物皆并发
功能点:点赞/关注/取关/发送短信/抽奖/签到/领取优惠卷等 反正是与你有交互的都行 俗话说万物皆可并发,但是千万不要购买支付时并发...
需要使用burpsuite的插件 turbo intruder 在bp的商店里下就行 需要python 具体可以去百度搜搜教程
这里就不放实战了 都是些短信轰炸优惠卷签到积分并发
任意用户注册/登录
任意用户注册在公益里是不收的 挖掘方法我所遇到的几种:
1.修改返回包的值 如404注册不成功 200注册成功 将其改为200 原因:采用前端校验
2.他人号码,你的号码 例如:13412341234,你的号码 验证码会发送两个手机号码上 原因:后端采用数组接收
3.发送验证码到自己手机上,注册时把手机号换成他人的 原因:后端发送验证码没有绑定对应手机号码
4.验证码回显在返回包
任意用户登录:
和任意用户注册雷同 大差不差
收工
差不多2500个字了 怪难写的 以上可能有错误或纰漏 本人水平尚浅 望理解!
原文始发于微信公众号(探幽安全):公益src实战经验分享
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论