SRC实战:改个返回包就严重了?

0x00
经过长达一天的周末过后,又要开始上班啦。大周一的,还是老样子,来点技术向的文章,给大家伙提提神咯~
好久没有更新 SRC 实战系列了,刚好前段时间遇到个比较有意思的洞,和大家分享一下吧。

除去信息收集的时间,这个漏洞大概花了1个多小时,最后是给的是严重。

警告:文章较长,全文无图。如果对漏洞挖掘或者技术类不感兴趣的朋友看到这里就可以了,不要再继续往下滑动折磨自己了。

说明:主要讲思路和过程。因为截图涉及到大量的敏感数据,这篇文章又是在仅有一个周日写的,不想花时间去打码了。我只想休息~~~~

0x01
遇到的这个站点是一个主站的管理后台,拿到这个站点的时候,简单地看了一下,没有注册功能,也没有找回密码,就一个简单的登录,然后还带有滑动验证。 所以登录相关的功能都可以直接放弃了,没有短信轰炸,不能爆破,怎么办?

如果有看过我之前文章的朋友们应该知道,这种站进不进得去再说,首先我肯定是要来一波未授权测试的,解析 JS 拿到所有的接口路径,直接扔到 BP 里面跑一波。

具体怎么获取接口路径,不管是熊猫头还是 BP 插件都可以,看个人习惯。

在跑了一遍接口之后,发现有部分接口确实有可能存在未授权!为什么这么觉得呢?因为部分接口跑出来的HTTP 响应码是 400 或 500。那下一步应该做什么?没错,去 JS 代码里面找对应接口的参数咯,这样才能正常调用。

0x02
上面流程都挺正常的,但是我万万没想到的是,这个站的参数加密和代码混淆做得太好了,真不是给人看的!

首先是加密,所有参数全部使用了RSA + AES的方式进行加密,不仅如此,还对参数进行了复杂的签名验证。

其次是代码混淆,我可以说从没见过混淆得如此杂乱的代码!要找一个调用链的难度太大了。

我尝试了大概半小时,宣布放弃,我正式承认是个 JS 小弱鸡。

0x03
本来我已经准备放弃这个站点了,登录又登录不进不去,接口参数也处理不了,那还能怎么办?

等一下,登录不进去?那我如果可以伪装成登录进去了呢? 是不是就可以不用考虑参数加密这部分了?因为按正常流程的话,这部分行为网站自己会完成的啊。

这时候我决定进行最后一次尝试,如果这个思路还不行的话,就只能放弃这个站点了。

0x04
首先还是得去翻 JS(我要吐了),需要找到网站是怎么处理登录成功的请求的,这样我们才能知道在修改登录响应包时,需要返回什么样的数据,我一般会通过以下几种方式去找:

直接通过登录接口搜索,查看登录成功的接口回调是怎么处理的。但是如果代码混淆很厉害,可能找不到。
2. 全局查询设置 LocalStorage 的地方,现在的很多网站,一般在登录成功后,会把部分用户信息,比如 ID 之类的,放到浏览器本地存储,也就是 LocalStorage 中,所以可以尝试直接全局查询设置本地存储的方法。

搜索常见用户属性,因为代码再怎么混淆都可以,但是响应的对象属性是不会变的。一般登录响应都会返回用户信息,比如:userId、accountId、role、user_type等,通过这些属性去搜索。
很幸运,我在查询 localStorage 的设置方法时找到了对应的登录响应结构,其它不多说,主要有两个核心的属性,一个是 user_id,另一个是 role_type。很明显,一个是用户的 ID,另一个是角色类型,很可能决定前端展示哪些功能的。

role_type的类型是整数类型,很好处理,一般来说就是 0、1、2、3 这种,多试几次就行了。但是user_id就不好搞了,我去哪里找一个合法的用户 ID 呢?而且它还是一个字符串类型, fuzz 不太现实。

虽然嘴里说着不太现实,这里我还是尝试简单的 fuzz 了一下各种长度的整型,发现果然不行。

0x05
在卡了一段时间后,我决定换一个思路。既然 fuzz 不出来,那我可以去找网站自己泄露的,因为 ID 一般不属于敏感信息,很有可能会通过各种接口暴露出来。我决定去这个管理后台对应的前端主站点寻找。

一般来说,既然管理后台,那肯定有对应的普通用户的入口或者网站。

在找到对应的网站后,怎么来找管理员的 ID 呢?我的话,首先要找的就是各种公告、通知,因为这些一般都是由管理员发布的。干过开发的都知道,一般这种文章类型,肯定会有一个创建人 / 发布人 / 修改人 之类的字段,里面存的就是对应用户的 ID,这种非敏感字段,很可能会在获取文章信息的时候,一并返回。

果不其然,在 BP 中查看获取公告列表的返回包时,里面包含了一个创建人 ID 的字段,很长的一个字符串。在拿到了这个用户 ID,我们的最后一块拼图就集齐啦。

0x06
再次回到管理后台,拦截登录请求包,将我们自己构造的用户信息返回去,发现成功进入了后台!虽然大部分功能还是无法访问,但是还是有一小部分功能是可以使用的,且这些功能泄露了大量的敏感数据。

根据以上网络安全技能表不难看出,网络安全需要接触的技术还远远很多,常见的技能需要学习:外围打点能力、钓鱼远控能力、域渗透能力、流量分析能力、漏洞挖掘能力、代码审计能力等。

【----帮助网安学习,以下所有学习资料免费领!】

① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

网络安全的知识多而杂,怎么科学合理安排?

一、基础阶段

★中华人民共和国网络安全法 (包含18个知识点)
★Linux操作系统 (包含16个知识点)
★计算机网络 (包含12个知识点)
★SHELL (包含14个知识点)
★HTML/CSS (包含44个知识点)
★JavaScript (包含41个知识点)
★PHP入门 (包含12个知识点)
★MySQL数据库 (包含30个知识点)
★Python (包含18个知识点)
————————————————

img

入门的第一步是系统化的学习计算机基础知识,也就是学习以下这几个基础知识模块:操作系统、协议/网络、数据库、开发语言、常用漏洞原理。前面的基础知识学完之后,就要进行实操了。

因为互联网与信息化的普及网站系统对外的业务比较多,而且程序员的水平参差不齐和运维人员的配置事物,所以需要掌握的内容比较多。

二、渗透阶段

■SQL注入的渗透与防御(包含36个知识点)
■XSS相关渗透与防御(包含12个知识点)
■上传验证渗透与防御(包含16个知识点)
■|文件包含渗透与防御(包含12个知识点)
■CSRF渗透与防御(包含7个知识点)
■SSRF渗透与防御(包含6个知识点)
■XXE渗透与防御(包含5个知识点)
■远程代码执行渗透与防御(包含7个知识点)
■…(包含…个知识点)
————————————————

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

掌握常见漏洞的原理、使用、防御等知识。Web渗透阶段还是需要掌握一些必要的工具。

主要要掌握的工具和平台:burp、AWVS、Appscan、Nessus、sqlmap、nmap、shodan、fofa、代理工具ssrs、hydra、medusa、airspoof等,以上工具的练习完全可以利用上面的开源靶场去练习,足够了;

三、安全管理(提升)

★渗透报告编写(包含21个知识点)
★等级保护2.0(包含50个知识点)
★应急响应(包含5个知识点)
★代码审计(包含8个知识点)
★风险评估(包含11个知识点)
★安全巡检(包含12个知识点)
★数据安全(包含25个知识点)
————————————————

主要包括渗透报告编写、网络安全等级保护的定级、应急响应、代码审计、风险评估、安全巡检、数据安全、法律法规汇编等。

这一阶段主要针对已经从事网络安全相关工作需要提升进阶成管理层的岗位。如果你只学习参加工程师方面的岗位,这一阶段可学可不学。

四、提升阶段(提升)

■密码学(包含34个知识点)
■JavaSE入门(包含92个知识点)
■C语言(包含140个知识点)
■C++语言(包含181个知识点)
■Windows逆向(包含46个知识点)
■CTF夺旗赛(包含36个知识点)
■Android逆向(包含40个知识点)
————————————————

主要包括密码学、JavaSE、C语言、C++、Windows逆向、CTF夺旗赛、Android逆向等。

主要针对已经从事网络安全相关工作需要提升进阶安全架构需要提升的知识。

【----帮助网安学习,以下所有学习资料免费领!】

① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

结语

给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。给自学的小伙伴们的意见是坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值