【信息收集-04】Web应用&源码获取&闭源备份开发泄漏&WebPack打包&资源搜索&ICO定位

源码泄露

源码泄漏原因:

  • 源码本身的特性
  • 管理员不好的习惯
  • 管理员习惯的开发
  • 管理员不好的配置
  • 管理员不好的意识
  • 管理员资源信息搜集

源码泄漏种类:

Webpack打包泄漏

composer.json

GitHub源码泄漏

git源码泄露

svn源码泄露

网站备份压缩文件

DS_Store文件泄露

hg源码泄漏

SWP 文件泄露

CVS泄露

Bzr泄露

WEB-INF/web.xml 泄露


核心思路概览

获取目标源码的核心逻辑分为“已知指纹”、“未知指纹”以及“开源情报搜索”三大方向。

已知指纹识别获取源码

  • 思路:使用指纹识别平台、插件(如Wappalyzer、云悉等)获取目标CMS/程序名称。
  • 途径:拿到名称后,直接通过搜索引擎(Google、Baidu等)搜索该程序的源码进行下载分析。

未知指纹识别获取源码

当指纹识别无法获取有效信息时,可从后端配置、前端打包及备份文件三个维度入手。

后端配置与版本控制泄露

  • GIT泄露:利用 .git 目录泄露,使用工具还原源码。
  • SVN泄露:利用 .svn 目录泄露,使用工具还原源码。
  • DS_Store泄露:.DS_Store 文件泄露。
    • :只包含当前目录下部分文件的元数据(文件名、图标位置等),且通常不包含子目录内容。其真实风险在于暴露文件名清单和部分目录结构信息。
    • 利用方式:解析该文件,推测可能存在的敏感文件或子目录路径,然后逐层访问并下载,从而获取更多信息。
    • 工具:ds_store_exp
  • Composer.json泄露:PHP项目依赖文件泄露,可能暴露项目结构、依赖版本或敏感信息。
  • 通用工具:dumpall —— 支持多种泄露类型的综合利用工具。

前端打包泄露

  • WebPack打包泄露:通过分析前端打包后的 .js 文件或 map 文件,还原前端源码。
  • 浏览器插件:利用谷歌浏览器插件(如SourceDetector)自动嗅探并下载前端源码。

源码文件备份泄漏

  • 方法:使用目录扫描工具(如Dirsearch、御剑)扫描常见的备份后缀(如 .zip, .rar, .tar.gz, .bak, .txt 等)。
  • 利用:若扫描到备份文件,直接访问下载即可获取源码。

借助资源平台搜索(开源情报)

当目标源码为开源项目或开发人员将代码托管至公开平台时,可通过资源平台进行搜索。

  • 常用平台:GitHub、Gitee、Oschina 等。
  • 搜索技巧:
    • 特征文件名:从前端 JS、URL 路径中提取的特定文件名(如 z_blog.php、chunk-vendors.js 等)
    • 特征联系方式:通过目标的邮箱、域名、版权信息等特征搜索关联代码库。
  • 拓展监控:配合GitHub监控,保证第一时间获取源码泄露、漏洞更新、工具更新等通知。

注:判断开源/闭源:分析目标使用的源码是开源项目还是闭源商业软件,是否公开。

演示案例与工具

案例类型获取途径对应工具 / 方法
已知指纹指纹识别 -> 搜索引擎指纹平台 + Google/Baidu
GIT泄露未知指纹 -> 版本控制GitHack
SVN泄露未知指纹 -> 版本控制SvnHack
DS_Store泄露未知指纹 -> 系统文件ds_store_exp
通用泄露未知指纹 -> 综合探测dumpall
WebPack打包未知指纹 -> 前端分析SourceDetector-dist / 谷歌插件
Composer.json未知指纹 -> 配置文件直接访问 / 目录扫描
源码备份未知指纹 -> 备份文件目录扫描工具(Dirsearch等)
资源搜索未知指纹 -> 开源平台GitHub / Gitee / Oschina / 监控

Github搜索语法

按搜索范围(in:)

语法格式含义说明
in:name test仓库标题(名称)中包含关键字 test
in:description test仓库描述中包含关键字 test
in:readme test仓库的 README 文件中包含关键字 test

按仓库指标(Stars、Forks、Size)

语法格式含义说明
stars:>3000 teststars 数量大于 3000 且包含关键字 test 的仓库
stars:1000..3000 teststars 数量在 1000 到 3000 之间且包含关键字 test
forks:>1000 testforks 数量大于 1000 且包含关键字 test
forks:1000..3000 testforks 数量在 1000 到 3000 之间且包含关键字 test
size:>=5000 test仓库体积大于等于 5000KB (即 5MB) 且包含关键字 test

按时间维度

语法格式含义说明
pushed:>2019-02-12 test最后推送(更新)时间大于 2019-02-12 且包含关键字 test
created:>2019-02-12 test仓库创建时间大于 2019-02-12 且包含关键字 test

按归属与属性

语法格式含义说明
user:test搜索用户名为 test 的用户下的所有仓库
license:apache-2.0 test明确限定开源协议为 apache-2.0 且包含关键字 test
language:java test在 Java 语言编写的代码中搜索关键字 test

组合搜索(进阶)

语法格式含义说明
user:test in:name test组合搜索:搜索用户名 test 的、且标题含有 test 的仓库

配合 Google 搜索引擎语法(site:)

利用 Google 结合 site: 语法精准定位 GitHub 上的敏感信息泄露(如配置信息、账号密码等)。

基础敏感信息搜索

搜索语法含义说明
site:Github.com smtp搜索 GitHub 上所有涉及 SMTP 服务的页面
site:Github.com smtp password搜索 GitHub 上包含 SMTP 且包含 password 的页面
site:Github.com String password smtp搜索 GitHub 上包含 SMTP、password 及 String 的页面

针对特定邮箱服务商的精准搜索(常用于寻找泄露的邮箱账号及密码)

搜索语法含义说明
site:Github.com smtp @qq.com搜索泄露的 QQ 邮箱 SMTP 配置
site:Github.com smtp @126.com搜索泄露的 126 邮箱 SMTP 配置
site:Github.com smtp @163.com搜索泄露的 163 邮箱 SMTP 配置
site:Github.com smtp @sina.com.cn搜索泄露的新浪邮箱 SMTP 配置

另类目标源码获取

小型站点外包个人开发

互站网:https://www.huzhan.com/

咸鱼:https://www.goofish.com/

从目标转到寻找源码系统上,从源码系统上找应用目标


源码泄漏参考&实战文章

参考:

https://www.secpulse.com/archives/124398.html

https://mp.weixin.qq.com/s/zhjxW2mUEgq6dFAp3kBcgQ

渗透测试实战—某资金盘信息收集(.idea目录泄露)

https://mp.weixin.qq.com/s/7cSrDZci_drE6wTGvQOOHw

SRC挖掘-js.map泄露到接管云上域控

https://mp.weixin.qq.com/s/QZsNjbTiaqC1qwzARVAiGQ


本节知识点&思维导图

信息收集-Web应用-源码获取-已知指纹&未知指纹

信息收集-Web应用-源码获取-泄漏问题&发现指纹

十二亿七千光年
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇