小白程序员必看:从APP流量挖掘隐藏攻击面,掌握网络安全进阶技巧(收藏版)
小白程序员必看:从APP流量挖掘隐藏攻击面,掌握网络安全进阶技巧(收藏版)
本文通过一次实战众测案例,详细复盘了如何从看似无突破口的Web防护严密的目标中,通过转向分析鸿蒙APP流量,发现一条异常图片请求,追踪至独立外围服务器上的文件上传接口漏洞。文章强调APP流量分析在挖掘隐藏攻击面中的重要性,并探讨了渗透测试中资产边界问题的处理方法。内容适合网络安全技术小白和程序员学习,助力提升实战能力,注意所有操作均在授权环境下完成。
0x01 简介
本次众测Web主站防护严密,没有找到突破口,于是切换思路,借助Yakit代理抓取鸿蒙APP流量。在众多请求中发现一条异常图片请求,目标直接访问裸IP。顺着该IP追踪,发现一台独立外围服务器,其上文件上传接口仅依靠后缀做校验,存在绕过漏洞。漏洞验证成功后,核查资产边界,但不属于众测授权核心资产范围,当即停止深入利用。文章复盘完整挖掘链路,探讨APP流量挖掘隐藏攻击面与渗透测试的资产边界问题。
本文内容仅用于网络安全技术学习与交流,所有操作均在授权测试环境下完成。严禁将文中技术用于未授权检测与非法攻击,违者责任自负。
原文地址:https://xz.aliyun.com/news/92800
0x02 正文详情
这次众测一开始其实并不顺利。
按照正常的测试流程,先从目标暴露在公网的Web资产入手,对主要业务系统进行了信息收集和常规漏洞探测。
但这一轮下来,几个主要Web应用的防护都比较完善,并没有发现特别有价值的突破口。
眼看着时间一点点过去,开始考虑换一个方向。
Web面没有明显突破口,并不意味着目标没有问题,也可能只是当前看到的攻击面还不够完整。
既然如此,不如换一个观察角度
于是,把测试重点转向了目标的APP
而这次真正让找到突破口的,并不是什么复杂的漏洞利用,而是一条看起来非常普通的图片资源请求
从Web面转向APP
在实际众测过程中,比较习惯把目标理解成“一组业务资产”,而不是单独 的一个域名。
一个目标除了主站Web应用之外,往往还可能存在:
- APP
- 小程序
- H5
- API
- 图片/文件服务
- 对象存储
- 后台管理系统
- 第三方业务系统
- 历史遗留服务
这些系统虽然表面上属于同一个业务体系,但背后的服务器、域名、开发团队,甚至安全策略,都可能完全不同。
因此,当Web主站没有明显突破口时,与其继续盯着同一个入口反复测试,不如换一个观察角度。
这也是这次转向APP流量分析的原因。
APP流量分析
这次测试使用的是华为鸿蒙手机。
由于设备无法Root,没有继续折腾模拟器,而是直接使用Yakit作为中间代理,通过手机Wi-Fi代理将APP的HTTP/HTTPS流量转发到测试机。
Yakit监听地址设置为:
0. **0. ** **0**
随后在手机Wi-Fi中配置对应的代理地址和端口。
配置完成后,打开APP并进行正常操作,就可以在Yakit的MITM模块中看到APP发出的请求。
代理抓包本身属于比较基础的操作,这里不再展开


真正值得关注的,是大量正常请求中突然出现的一条异常请求
一条“不太正常”的图片请求
在浏览APP正常功能时,看到了一批图片、接口等请求。
大部分请求都很普通,基本符合:
业务域名 → API → JSON / 图片 / 其他资源
但其中一个图片资源请求引起了注意。
APP在请求图片资源时,并没有使用业务域名,而是直接请求了一个裸IP地址

当时的第一反应并不是:“这里肯定有漏洞”,
而是:“这个IP到底是谁?”
它可能只是正常的图片服务器,也可能是CDN节点。
但还有一种可能:
这是一个没有出现在前期Web资产视野中的独立服务器
如果是后一种情况,那么这条看似普通的图片请求,就不再只是一张图片,而更像是APP无意中暴露出的一个新攻击面
这里还有一个值得注意的地方:这个IP并不是通过扫描器枚举得到的,而是APP在正常业务流程中主动请求到的通信地址
这意味着,接下来与其继续围绕主域名做测试,不如顺着这个IP看看它到底承担着什么业务
从一个IP继续往下追
拿到这个IP后,先进行了基础验证
这里并没有直接把它当成漏洞,而是先确认它到底是什么角色。
如果它只是普通CDN节点,那么继续深入测试的价值有限;
如果它对应的是一台独立业务服务器,那么就意味着APP暴露出了一个新的业务入口。
实际访问后发现,这个地址并不是简单返回图片资源,而是可以直接访问,并且背后运行着一个独立的Web服务
也就是说:APP->图片请求->裸IP->独立Web服务->新的业务入口
到这里,测试思路发生了一次变化
这个IP本身未必意味着漏洞
但IP背后的服务,可能意味着新的攻击面
对于众测来说,这种发现往往比单纯拿到一个IP更有价值
意外发现文件上传功能
继续观察这个Web服务后,发现其中存在文件上传功能
到这里,开始重点关注它的上传逻辑
首先确认正常文件能否上传,然后进一步观察服务端对于文件类型、文件名以及后缀的处理方式
测试过程中发现:
服务端主要依赖文件名后缀进行限制,存在校验不足的问题,可以通过修改文件名后缀上传自定义后缀文件
原本预期的业务逻辑应该更接近:
用户上传文件->服务端校验文件类型->严格限制允许的文件类型->保存文件
但实际观察到的处理逻辑存在明显的限制缺失。
因此,这里不能简单地把它理解成一个普通的“文件上传接口”。
真正值得关注 的是:
攻击者能够影响最终上传文件的类型。
当然,文件上传漏洞最终能够造成多大的影响,还需要结合上传目录、文件访问方式、服务器解析机制以及权限控制等因素进行判断。
文件上传漏洞验证
发现上传功能后,没有停留在“这里存在一个上传点”这一层,而是继续对其实际处理逻辑进行了验证
对于文件上传类问题来说,上传接口本身并不能直接等同于高危漏洞。真正需要确认的是:攻击者能否控制最终写入服务器的文件,以及这个文件落地后能够产生什么影响
因此,按照实际请求链路继续进行了测试
首先测试正常文件上传,确认服务端能够接收并处理上传请求;随后进一步观察服务端对上传文件名称、后缀以及文件类型的处理方式

测试过程中发现,服务端对上传文件的限制并不严格,上传文件的后缀存在可控空间。通过调整上传文件的文件名及相关参数,成功绕过了原有的文件类型限制,使服务端接受了原本不应被允许上传的文件
到这里,问题已经不再是简单的“存在一个上传接口”,而是攻击者已经能够影响服务器最终接收并保存的文件类型。
随后进一步确认了文件的实际落地情况,并验证上传后的文件能够被正常访问。
也就是说,这条攻击链已经实际走通:上传接口->上传限制校验->绕过文件类型限制->文件成功上传->文件实际落地->上传文件可被访问
至此,文件上传漏洞已经完成了实际验证。
这里需要特别说明的是,没有继续尝试利用该文件上传点进一步获取服务器权限或扩大影响。
原因并不是漏洞无法继续利用,而是在后续核实过程中发现,当前服务器虽然与目标业务存在关联,但并不属于本次众测约定的核心业务资产范围。
因此,在确认漏洞真实存在并保留必要验证证据后,停止了进一步利用,并将该问题及资产归属情况一并反馈给了甲方,甲方给出的说法与想的一致,并且给出口头嘉奖

这次测试给的一个比较深的体会是:
漏洞验证和漏洞利用,是两个不同的阶段;能够继续利用,不代表就应该继续利用。
在真实的安全测试中,技术上“能不能打进去”和授权范围内“应不应该继续打”,是两件完全不同的事情
一个有意思的问题:好像“打偏了”
到这里,其实已经可以确认:
漏洞本身是真实存在的
后续进行资产归属核验时,却发现了一个比较有意思的情况。
这个上传点所在 的服务器,属于目标单位的外围附属资产,但不在本次众测约定的核心业务资产范围之内。
也就是说,从技术路径来看,确实找到了漏洞;
但从众测规则和资产边界来看,却相当于:
“漏洞是真的,但打偏了。”
这个结果反而让觉得很有代表性。
因为在实际众测中,经常会把注意力集中在:
主域名核心业务核心API后台系统
但一个真实单位的互联网暴露面,往往远比这些复杂
可能存在:核心业务,APP,API,图片服务,文件服务,历史系统,独立服务器,第三方/外围系统
这些系统虽然可能服务于同一个业务体系,但安全建设水平并不一定一致。
因此:
发现漏洞、确认资产归属、判断业务影响,其实是三个不同的问题。
这次测试也让更加意识到,漏洞验证不能只关注技术层面的“能不能打”,还需要确认:
-
资产到底属于谁;
-
是否属于授权范围;
-
是否属于核心业务;
-
漏洞实际影响是什么。
确认该资产不在本次众测约定的核心范围后,没有继续对该服务器进行进一步利用,而是保留必要的验证证据并结束了后续测试
为什么APP流量值得关注?
回头看整个过程,真正让觉得有价值的,其实不是最后那个上传点。
而是:
如果没有去分析APP流量,这个服务器很可能根本不会进入的测试视野。
传统Web资产发现的思路通常是:
主域名 ↓子域名 ↓IP ↓端口 ↓Web服务 ↓漏洞
而APP给了另一条路径:
APP ↓API / 图片 / 文件请求 ↓通信地址 ↓新的IP / 域名 ↓独立Web服务 ↓新的功能 ↓漏洞
这两条路径最大的区别在于:第二条路径是从业务行为反推出基础设施
它不一定每次都能发现漏洞,但有机会发现传统资产收集过程中没有进入主要测试视野的业务入口
所以对于APP流量,现在更关注的并不是“能不能抓到包”,而是:
APP到底在和哪些服务器说话?
从一次异常请求重新理解攻击面
这次的情况还有一个值得注意的地方。
如果单纯把:“APP请求资源时使用了裸IP”
单独拎出来,并直接定性为信息泄露漏洞,其实并不严谨。
因为:
一个IP地址本身,并不一定构成安全漏洞。
真正有价值的是后续形成的完整链条:
APP暴露通信信息 ↓发现新的网络入口 ↓确认入口存在独立Web服务 ↓发现文件上传功能 ↓发现上传限制存在缺陷 ↓确认真实安全风险 ↓进行资产归属核验
所以,这里真正值得记录的并不是:“APP泄露了IP。”
而是:
一个看似普通的客户端通信信息,最终成为了扩大攻击面的入口。
这也是认为这次测试最有价值的地方
如果重新来一次,还会怎么做?
如果让重新测试一次类似目标,大概还是会遵循几个简单的原则。
1. 先看业务入口,再看客户端
先完成基础Web资产收集。
如果主Web面没有明显突破口,再转向:
APP小程序H5客户端接口
不要把APP只当成一个业务客户端,也可以把它当成一个观察目标基础设施的入口
先关注异常,再判断漏洞
对于客户端流量,会特别注意:
-
IP地址
-
异常域名
-
非主域名请求
-
图片/文件服务器
-
对象存储
-
特殊接口
-
不常见的通信地址
因为真正值得继续追踪的东西,往往并不会直接告诉你:“这里存在一个漏洞。”
它可能只是表现得:“这里和其他地方不太一样。”
3. 先确认资产归属,再判断影响
发现新的IP或域名后,不要马上进入漏洞利用。
需要先回答:
它属于谁?
为什么APP会访问它?
对应什么业务?
是否属于目标?
是否属于授权范围?
只有把这些问题搞清楚,后续的漏洞验证才有意义
4.先证明问题真实存在,再考虑进一步利用
对于漏洞验证,更倾向于:发现->复现->确认->评估影响
而不是为了让漏洞看起来更“高危”,强行把利用链往后延伸
尤其是在真实众测环境中,测试边界本身也是测试的一部分
互动话题:如果你对网络攻防技术感兴趣,想学习更多网安方面的知识和工具,可以看看以下题外话!
题外话
黑客/网络安全学习路线
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
网络安全学习资源分享:
下面给大家分享一份2026最新版的网络安全学习路线资料,帮助新人小白更系统、更快速的学习黑客技术!
一、2026最新网络安全学习路线
一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
**读者福利 |** *CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 * (安全链接,放心点击)
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。
L1级别:网络安全的基础入门
L1阶段:我们会去了解计算机网络的基础知识,以及网络安全在行业的应用和分析;学习理解安全基础的核心原理,关键技术,以及PHP编程基础;通过证书考试,可以获得NISP/CISP。可就业安全运维工程师、等保测评工程师。

L2级别:网络安全的技术进阶
L2阶段我们会去学习渗透测试:包括情报收集、弱口令与口令爆破以及各大类型漏洞,还有漏洞挖掘和安全检查项目,可参加CISP-PTE证书考试。

L3级别:网络安全的高阶提升
L3阶段:我们会去学习反序列漏洞、RCE漏洞,也会学习到内网渗透实战、靶场实战和技术提取技术,系统学习Python编程和实战。参加CISP-PTE考试。

L4级别:网络安全的项目实战
L4阶段:我们会更加深入进行实战训练,包括代码审计、应急响应、红蓝对抗以及SRC的挖掘技术。并学习CTF夺旗赛的要点和刷题

整个网络安全学习路线L1主要是对计算机网络安全的理论基础的一个学习掌握;而L3 L4更多的是通过项目实战来掌握核心技术,针对以上网安的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。
二、技术文档和经典PDF书籍
书籍和学习文档资料是学习网络安全过程中必不可少的,我自己整理技术文档,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,(书籍含电子版PDF)

三、网络安全视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的网安视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

四、网络安全护网行动/CTF比赛
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。


五、网络安全工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了技术之后,就需要开始准备面试,我们将提供精心整理的网安面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…


**读者福利 |** *CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 * (安全链接,放心点击)
更多推荐



所有评论(0)