随记SRC


整数问题

int类型-有符号
无符号Dword(Double Word):-2147483648-4294967295
涉及到支付时,例如微信、支付宝

大多数app都支持微信和支付宝支付:
而这两者有很大的区别,支付宝在支付时做了校验不支持金额超运2147483647也就是int类型最大值
而微信支付则没有这个限制,所以当你使用微信支付时,将金额超过最大值后微信会自动从0开始计算,也就是你支付2147483649,微信只需要支付1元即可完成支付。
0~2147483647,2147483648=0,2147483649=1
第三方支付时没有负数–无符号int
正常购买存在负数

16进制
FFFF FFFF

科学计数法
10000000000000=1x10^13
计算器或电脑表达10的幂是一般是用E或e,也就是1E+13=10000000000000
1E-1是0.1

四舍五入
充值0.016=到账0.02
还有一种情况是充值0.014支付时显示0.01,到账还是0.014
由于前端给后端发起的请求是0.014,但是第三方支付工具最小支付单位为分导致的

Pirce
金额是比较常见的参数。
购买物品时经常会遇到我们可以将金额改成-1,0.01,0.019这样的值
很少能遇到,因为金额参数最好不要前端来发送给后端

越权

横向越权和纵向越权
横向越权指的是你可以操作其他权限和你相同的账户
纵向越权指的是你可以对你未拥有的权限进行操作

越权不只是修改id这样来越权,比如我们知道管理员权限的请求包
用一个普通用户的身份也使用这个包来做一些操作,那也是越权。
越权就是我们能做到正常这个用户不能做到的事情,并且对系统产生了危害
后端忘记针对某功能做权限校验,导致了该漏洞的出现。

支付漏洞:

1.修改支付状态,比如:购买A商品,支付时,bp抓包,观察包中是否有字段a来表明A商品是否被支付,a=1时,代表支付成功,a=2时,支付不成功,此时我们就可以修改a=1;

2.修改支付价格,购买商品到支付有三个步骤,订购->确认信息->付款,这三个步骤我们都可以抓包修改商品价格,看是否能成功,若是不成功,我们可以尝试修改运费价格,将运费价格修改为负,以此来抵消商品价格;

3.修改支付接口,像微信支付,支付宝支付这样的就是支付接口,不同接口值是不同的,如果设计不当,没有对支付接口不存在这一情况做处理,有可能会支付成功;

4.修改支付id值,金额,假设:a商品价格是50元,id=1,b为200元,id=2,那么我们可以将b的id换成a的,也可以修改a的金额为-50,然后a和b一起提交,看总金额是否是150

特权号(新号)

游戏平台跟游戏角色id分开的

签约漏洞

名字的由来因为很多服务都叫做签约续费所以给他起了这个名字
场景:
月神视频首月优惠1元/月,次月自动续费8元一月。正常开通包月10元一月。可以使用支付宝和微信或自带钱包支付。
思考:
1.想重复使用1元1月支付该如何操作?
过程:
手机A、B、C三部。A、B、C同时登陆同一个账号,分别发起微信和支付宝的购买请求,停留在请求页面,依次支付,然后到账6个月(根据发起的支付页面来决定到账数量)理论上可以无限次

签约进阶场景:
会员10元/月,高级会员20/月(结合签约漏洞,这回应该怎么做?)游戏首充礼包、直播平台充值优惠等等
开多个会员订单页面,支付一个订单看是否会开通高级会员

补充会员
说明:
开多个订单使用余额+第三方支付补足剩余余额的方式

创新:
如果先支付微信的签约,在支付支付宝的签约,那么只有一个会扣款,他会扣哪个?答案是不一定,有可能扣第一个支付的有可能扣第二个支付的。
那么如果把扣款的取消掉,保留不扣款的那个签约会出现什么情况呢?
曾经出现过永久会员”因为签约顺序的bug导致的该漏洞。所以要加要在基础上不断创新才行

并发漏洞

遇到sign该怎么办?
并发时经常会遇到带有sign的包,这时并发会导致后面的包全部并发失败
如何生成不同sign的包?
客户端点击生成多个包即可生成不同的签名的数据包

有个钱包提现功能
已知点1,钱包余额有100元
已知点2,可以添加不同的提现账户进来
已知点3,可以设置提现金额
已知点4,存在并发漏洞,但是并发提现到A账户时失败了
问题:并发失败了但是存在漏洞,你该如何复现?
有时候并发提现同一账户时会导致失败可能是对同一账户提现做了校验,只要对AB两个不同账户提现就可以了。这里想说的是在并发时如果有不同云账户·云的参数尽量并发不同的参数转账红包

商家端核验代金券时+用户端退款代金券
钱包提现+支付
优惠券赠送+使用

外卖漏洞

如何才能做到优惠购买这个商品呢?
6份起购改为1份起购ID:1, num
将商品id分开多个参数来写,例如:1D:1,num:6改为[ID:1, num:1},(ID:1, num:1},{ID:1, num:1}]
因为大多数后端会对商品总数不能为负数做校验,这样就可以绕过他做的校验

“addr longitude”:12534905,”addr latitude”:4389861,wm poi id”:85992236642475,”user id”:1778432765,”foodlist”:[{“spu id”:151633512,”id”:172803372,”count1, “cart——id”:0,”attrs”:[1847012552,1847012558,1847012550,1847012559,1847012549,1847012555,1847012561]
通过添加attrs的参数值,来实现在奶茶里加各种的料,实现低价买多材料的奶茶

节日活动
1.抓包修改id提前领取2.领取过期活动的代金券
危害:大额代金券是平台补贴,所以理论可以套现刷钱

订单备注漏洞
无限添加订单备注文字会导致打印机一直处于工作中无法出票,用餐高峰期无法出票会导致订单不能正常配送。

商家-活动-补贴
shippingCharge 配送补贴
poiCharge 文件补贴
agentCharge 代理商补贴
mtCharge 美团补贴
brandCharge 品牌补贴
“brandChargeCode”:2496,”brandCharge”:5

盲盒漏洞

有些APP都会盲盒业务,比如哔哩哔哩会员购,腾讯的草场地、漫画盒,微博的盲盒,还有些是临时上线的盲盒活动玩法。
抽奖
抽奖结果通常是后端绝对的,前端只是给后端传了个抽奖类型,比如Type:
盲盒
盲盒的内容是已经确定好的,后端会给你返回5个盲盒,你选择之前内容就已经确定了
透视
找到各个接口看是否有泄漏盲盒内容的接口。
退款
盲盒不支持退款,是否可以用其他方式进行退款操作。

加载页面泄露
在加载盲盒的时候,加载页面的返回值暴漏的每个盲盒的内容,活动相关id,如果这个id是固定的那我们就可以通过id来判断内容是什么。
订单泄露
1.创建商品时,还未点击支付时,是否泄漏的商品
内容
2.创建订单后,订单详情的返回值处是否泄漏了商品内容

查询功能
很多盲盒会有查询功能,比如购买后,点击查询该订单号的结果。我们要看他是否有这个功能,没有的话看一下抽奖后是否会给服务器请求一个订单号。
我们通过替换这两处的订单号来查询还未支付的订单号
筛选
很多盲盒会有提示功能,每个盲盒可以获取1-3个提示

抽到盲盒后可以选择发货、回收
1.回收时并发回收,多次返还金额
2.发货时进入到运费支付页面,这时发包对商品进行回收,在支付订单
3.通过支付时生成的多个订单号的返回值来重复支付
4.发货时通常有盲盒id,例如:
[“1001”,”1002”]可以改为[“1001”,”1001”,”1001”]这样有可能同时发3件1001的商品同时盲盒基本都是满足N件可以不支付运费用此方法也可以绕过运费支付环节。

规则:番赏比如有80个奖池内容,里面包含2个A赏、2个B赏、10个C赏、和一堆D赏,而购买最后一个时,会赠送给该用户最终赏(大奖),假设50元一抽
溢出
修改抽奖次数让金额最大值溢出
(2147483647/50+1)*50=2147483650,即支付2147483650实际付款为2元
全包
抽奖1次时将参数改为全包

直播短视频漏洞

炸房
炸房其实就是利用各种方式让直播的房间或是主播卡死而这个漏洞一般分为2种,一种是针对后端的攻击,一种是针对前端的攻击
哪些功能让客户端卡死
1.快速出入房间(攻击后端)
2.发送大量点赞信息(攻击前后端)
3.通过快速对主播进行关注和取消
4.通过私聊发送大量消息或图片

优惠卷的利用
活动中自动给用户下发一张10-9的推广优惠券,你应该如何利用?

1:支付时替换直播间的id,替其他主播支付
2:进入支付页面后,取消订单,在进行支付
3:使用优惠券并发下单或创建多个订单或优惠券进行叠加使用

直播间加了密码限制
1:爆破密码
2:修改返回值,例如将false改为true
3:自己开个房间然后,越权重置密码

关于礼物和游戏
介绍
直播间中会有很多不同效果的礼物,还会有可以进行游戏的礼物,有些礼物是根据游戏结果进行的分级
游戏
例如抽奖,盲盒、还有各种小游戏来决定的奖品,记住一点,他玩法设计的越夏示,有漏河的可能性就越大,因为他是做直播的不懂游戏。

礼物
礼物中会存在看例如:新用户体验价格0.01元类似的礼物,但是赠送给主播可能是个1元的礼物,这时就需要抓包去尝试是否可以重复购买这个礼物

总结
1.如果目标平台做了不属于他的产品,那么出漏洞的可能性很大
2.玩法越复杂漏洞越多

返回值相关
经纬度
有些直播在查看主播资料时会把主播的经纬度返回给用户,可以通过返回值抓到这些数据。
手机号
还可以通过返回值看是否有其他用户的手机号
返回值越权
将自己的uid替换为其他用户或主播的uid,前端会认为你有其他用户的权限(例如高级财富权限)或房主,房管的权限

关于草稿箱
假如你发了一个比较私密的视频,存在了草稿箱里面会有什么问题?
草稿箱泄露是一个严重的问题

关于并发大家想一下,在短视频场景下应该如何应用
1:并发点赞(低危或忽略)
如果可以并发点赞评论而且评论是根据点赞数量排名的那么危害可以升级,因为可以在热门视频下让自己的评置顶了
2:并发评论(低危动忽略
3:并发提现

看视频领金币
很多app的极速版都有看视频领金币。
先想想他的步骤是如何完成的?
你觉得他有什么漏洞?
解答
很多短视频都忘记校验了看视频的时间,在看完视频的时候会给后端发一个包,抓到这个包然后遍历taskid就可能无限刷金币

某用户可以强行连麦任意主播,请问他是如何做到的?
抓个同意邀请的包,把邀请人替换成自己,被邀请人替换为对方同理,游戏组队中越权替对方同意,交易时替换邀请人为对方加入群组时,将同意进群的ID修改为其他人强行拉入群组
总结:把发起人和被邀请人的角色互换

平台赠送了一张曝光券,我们该如何对这张曝光券进行测试!
1.将曝光券的ID多次叠加。
2.对曝光券的使用进行并发
3.使用曝光券后,取消曝光

如果不可取消曝光订单怎么办?
关闭直播后马上在开启为什么这样做可以中断订单?
我们站在设计者的角度来看我们设计了这个功能,当主播下播,曝光券又没用完那一定是要把剩余的流量退还给主播。

有主播像我们发起了一场PK,但是我们不想和他PK,挂断后又会被系统惩罚怎么办?
取消时抓包将取消的ID修改为对方的id

APP&/小程序&PC抓包HTTP/S数据–Charles、Fiddler、Burpsuit;
程序进程&.网络接口&其他协议抓包–Wireshark、科来网络分析系统、TCPDump(linux);
通讯类应用封包分析发送接收–WPE四件套封包、科来网络分析系统

游戏测试

手游常规漏洞检测分为内存修改和抓包,但是我们要达成的效果都是影响到后端
和挖掘逻辑漏洞一样,我们不能直接修改后端的数据,但是我们可以通过改变前端的请求去影响到后端的结果。

抓包工具:WPE,抓到都是16进制
10进制:1 16进制:00 00 00 01
10进制:-1 16进制:FF FF FF FF
内存修改工具:CE修改器

加密手段
游戏公司都非常喜欢用加密作为防护手段,想尽办法让其他玩家无法从众多数值里面找到要修改的数值
反作弊手段
针对外挂进行各种检测,检测用户行为,大部分的安全问题要靠玩家举报才能检测
接收游戏漏洞的SRC:腾讯、完美世界、快手、阿里、网易、陌陌,哔哩哔哩、竞技世界。

瞬移
游戏中基本都会出现的漏洞,并且做成外挂的话是可以对游戏造成很大影响(但是SRC不懂)。

秒杀
秒杀一般都出现在副本为本地数据的游戏中,例如卡牌游戏,进入副本。
透视
棋牌透视,moba透视,射击透视,都是因为我们接收到了其他玩家的相关信息导致的。

游戏中的商城
游戏中有很多不同的商城,A商城没有漏洞并不能代表B商城没有漏洞,所以我们都要去尝试。
数量:小数、负数、int类型最大值溢出、突破限购
道具ID:隐藏道具、活动道具、等级限制

副本id
修改id:
进入活动副本
进入限制副本
进入测试副本

副本扫荡
有体力,副本支持扫荡
高级副本不支持扫荡

技能
1.隐藏id
2.未携带、战斗中、副本切换
3.CD重置
4.切换重置CD
5.普攻3连

酒店漏洞

代金卷
场景1:
优惠券A:满1000-10
优惠券B:无门槛100元(每人限领1张)优惠券C:会员优惠券10-5
1.遍历代金券id(为什么要遍历)?
2.并发领取、下单、取消(并发取消的目的是什么)3.非会员领取会员优惠券
4.领取优惠券时用逗号来领取多张5.使用时用逗号进行金额叠加
6.修改代金券金额(很少能遇到,为什么? )
7.将限制条件的代金券替换到其他订单

对于套餐方面能想到哪些
可修改的点?
1.套餐内容
2.套餐数量修改

一个关于取消预定的小故事
提示1:酒店支持30分钟内无条件取消。」
提示2:这是一个超过30分钟内的订单。
提示3:用户和商家协商是否能推后一天入住。
商家同意了该请求。
由于后台将订单日期修改后,变成了新订单,所以用户
钻漏洞进行了30分钟内免费取消,这就是闲鱼上那些
代取消的套路。

修改房间数量溢出
1.将房间数量改为0后有危害吗?
酒店会同意入住吗?那么危害点在哪里?
刷单,酒店正常刷单一单需要10元成本+ 12%的服务费,所以刷一-单的
话需要扣除酒店大概30元50元不等。
审核如果说:那可以调低房间价格也能达到一样的效果。
并不能,因为酒店后端有风控不会让商家随意修改价格,而当价格低于
-定值时会将房间自动下架。
所以需要清楚的了解规则才能了解危害。

额外服务购买的问题
修改商品id来查看是否有一些其他的特殊商品,比如测试
商品但是价格是0.01这种。
或者将数量叠加进行int类型最大值溢出。
也可以尝试修改为负数来抵扣订单的总金额。

推广漏洞

推广功能详细介绍
CPC:单次点击扣费
CPM:千次曝光扣费
推广都有的功能:
1.单次点击扣费金额
2.日预算–设置日上限,达到上限,停止推广
3.创建新的推广–针对不同人群
4.充值/提现
5.推广场景
开启推广-》查看-》推广金额-》手机端看到广告-》用户点击-》后台扣费
思考方向:
推广需要做的事情就是用最少的钱做到最大的效果
如果余额只有1元,但是单次点击价格为2元通过这个提示,你能想到什么利用方式吗?
开启推广后,用户点击但是推广被关闭了,能想到什么利用方式?
通过修改充值金额让余额一直保持为0.01
通过转账让自己的余额保持为最低余额

CE修改器

1.CE原理概览
游戏进程的数据会保存在内存中,以供CPU读写。
数据分两种:
1.是什么–“数值”
2.做什么–“操作码”
CE能让用户方便地:
(1)查找和修改内存中的数值
(2)以及,CPU寄存器中的数值最终实现修改游戏的目的
2.基本数值修改方法
打开游戏之后:
1.操作系统会创建一个或多个游戏的进程(Process),一般只有一个
2.操作系统会给一个进程分配一个内存“地址空间”(Address Space)
3. CPU通过“内存地址”(Memory Address)定位地址空间中的“数值”(Value)

CE中,要做的是:
(1)打开游戏的“进程”/“地址空间”点击右图中的按钮根据指引操作即可
(2)根据“数值”,找到“内存地址”
(3)根据“内存地址”修改“数值”

2.1.CE软件界面
搜索工具栏
-限定要搜索的内存地址的“数值”
-其他功能
搜索结果栏
显示数值符合要求的“内存地址的各项信息
作弊表格栏
-汇集作弊成果,成果可保存为文件

2.3.数值类型的注意事项
模拟器游戏,可能需要启用“Big Endian”类数值类型,以及“MEN_MAPPED:Memory that ismapped into the view of asection.(E.g:File mappingemulator memory, slow)相关选项位于:
“Edit > Settings > Extra CustomTypes“Edit > Settings > Scan Settings

Binary数值类型常用于存储“状态”其取值范围只有0或1,但实际中跟常见的是用Bvte来存储状态
4 Byte是CE默认的也是当代游戏中最常见的数值类型,Float跟Double也比较常见。
Double常用来保存角色位置的数值
“AIl”不是真的所有数值类型它是可以自定义的
补充:
Bit(BinaryInformation Digit,二进制信息数位一般叫作“比特”),1 bit取值范围只能是0或1,8 bit = 1 Byte
1个Byte(字节)的取值范围转换成10进制的为0~255间的整数(包括0和255)
4 Byte(4字节),只能存储整数的数值类型,比如-12、0、69
Float(浮点)全称4-Byte Floating Point:种可以存储非整数数值类型,可以理解为带小数点的数字
Double(双精度浮点),全称8-Byte FloatingPoint
“AIl”的修改路径:“Edit>Settings>ScanSettings

3.1.使用别人制作的作弊表格
1.到“Edit > Settings >CEShare
2.点击“CEShare community URL:”下方方框右侧的下拉按钮,然后选中“Fearless …
“Fearless Revolution”论坛,简称FRF,可视为CE的一部分,它是ESA在2017年起诉CECE被迫下架社区脚本服务后,CE用户自发组建的
别人的作弊表格是很好的学习资源

3.2.修改游戏的速度(Speedhack)
手动启动,不推荐推荐设置快捷键比如:Ctrl+Shift+1、3、5分别调1、3、5倍速2、4调0.5、0.25倍速
Settings > Hotkeys

3.3.自定义作弊表格专用快捷键
入口:
1.对作弊表格栏中的想通过快捷键控制的一行点击右键
2.点击弹出菜单中的“Set hotkeys,进入设置窗口,根据指引操作

3.4.让数值只增不降或只减不增
入口:
1.点方框锁定数值
2.锁定后,点方框右边一点的地方,绿色向上为只增部件,红色向下为只减不增

3.5.找出着不到的数值的内存地址3.6.快速找到关联数值的内存地址
“New Scan-Unknown initial value’“New Scan-increased /Decreased /Unchanged value”的“搜索类型(Scan Type)结合快捷键搜索
Memory Viewer(内存查看器)

3.7.找到网页游戏的进程
以Chrome为例,通过“Shift+Esc”的快捷键,调出Chrome的任务管理器,在里面根据网页的标题找到对应PID在CE的“Process List”(进程列表)窗口中,选择“Processes然后根据PID找进程
PID(Process ldentifier),“进程ID”或“进程标识符
Decimal,十进制的

3.8.JavaScript游戏的修改
1.即用JS/JavaScript/ECMAScript/Node.js/nw.js/Electron /HTML5/谷歌V8引擎等制作的游戏
2.由于JavaScript的特性,用CE修改比较麻烦,要找多个进程,比如《Vampire Survivors》(吸血鬼幸存者)
3.可以通过修改游戏的JavaScript源文件,以及游戏的数据库内的数据来修改游戏

3.9.游戏一修改数值就退出
1.很有可能是因为游戏有在反作弊,比如使用Easy Anti-Cheat、Xlive等
2.一般情况下可以通过修改特殊的数值“操作码”(opcode)来实现修改,这需要后面讲到的知识

3.11.自定义准心(Hook D3D)
前提:游戏有调用微软的Direct3D API(即DX12等),而绝大多数射击游戏都会调用D3D
原理:让D3D在游戏画面中央渲染一张图支持.png等格式,不一定是准心图在何图片都可以
方法:-打开游戏进程-D3D>Hook D3D(勾选)D3D>Set custom crosshair,后面根据贡面提示操作即可

入门教程:https://blog.csdn.net/m0_55854679/article/details/127040666?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171912540016800222884456%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171912540016800222884456&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-127040666-null-null.142^v100^pc_search_result_base7&utm_term=CE%E4%BF%AE%E6%94%B9%E5%99%A8&spm=1018.2226.3001.4187
注意事项:
代码注入:上下两处都需要修改代码,锁定地址执行
多级指针,需要记录每级的偏移量,在自己添加地址中,填入基址,和对应的偏移量

上传下载

直链:下载app的url链接

p2p(peer to peer):下载app文件从其他已下载app的用户那下载

3个人同时下载一个app,各自下载一部分,再相互交换,形成一个完整的app,各自一份使用。

磁力:magnet:?xt=urn:btih:768e1c88d765ef51772768d78fdc268be087eb63&dn

DUT网络,图搜索

bt: 找一个固定的tracker服务器,

pt:tracker服务器(保存已下载的用户信息)+规则(积分机制,不能只下载不上传)

ssrf:服务端请求伪造,攻击者通过前端的输入使服务器产生了一个向该服务器内网或其它网站的请求。
url跳转:攻击者通过往url里写入一个链接,然后发给受害者,受害者打开后跳转到了攻击者设置好的钓鱼网站。

为什么新手师傅会产生误区?
因为url跳转漏洞在测试过程中,需要把存在url的地方替换成其它网站。可能在测试过程中会产生没有向其它网站跳转,但通过浏览器本地,向外产生了一个请求,这时候,新手时候通过外带平台进行测试就会误以为这个请求是ssrf产生的。但其实是本地产生的

实际环境中区分最简单的方法
1、url跳转会让网页直接跳转向另一个网站
2、ssrf网页不会跳转向其它网页,可回显的ssrf会在当前页面加载,盲的没有任何反应

brup工具:https://blog.csdn.net/Arvin_FH/article/details/131946130
Collaborator功能:说白了就和dnslog、cyce差不多,只不过是burp自带的外带平台,一般的
外带会收到两种请求dns和http我们可以从http的请求ip,结合www.ip138.com网站
(ssrf)发出的请求
判断出我们是浏览器(本地)发出的请求还是,服务端


文章作者: 读序
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 读序 !
  目录