07信息打点-资产泄漏&CMS 识别&Git 监控&SVN&DS_Store&备份

发布时间 2023-12-19 17:09:25作者: chenhongl

一、知识点
CMS 指纹识别源码获取方式
习惯&配置&特性等获取方式
托管资产平台资源搜索监控

二、详细点
源码泄漏原因:

从源码本身的特性入口
从管理员不好的习惯入口
从管理员不好的配置入口
从管理员不好的意识入口
从管理员资源信息搜集入口


源码泄漏集合:

composer.json

git 源码泄露
svn 源码泄露
hg 源码泄漏
网站备份压缩文件
WEB-INF/web.xml 泄露
DS_Store 文件泄露
SWP 文件泄露
CVS 泄露
Bzr 泄露
GitHub 源码泄漏
参考,常见的Web源码泄漏漏洞及其利用:https://www.secpulse.com/archives/124398.html

 

三、演示案例
【例1】CMS 识别:直接识别 / 云悉指纹识别平台
①先观察网站的特征信息,找到该网站是什么CMS搭建的,然后去下载源码

②用云悉平台识别CMS:https://www.yunsee.cn/

 

【例2】网站管理员习惯不好:将备份文件放在了可以通过域名访问的文件夹,导致源码泄露

http://h0r2yc.com/ --->http://h0r2yc.com/1.zip

解释:

www.xiaodi8.com

网站根目录:C:\wwwroot\www.xiaodi8.com

网站根目录下的文件可以通过域名直接访问到:(通过扫描工具扫描-7kbscan-WebPathBrute)

C:\wwwroot\www.xiaodi8.com\backup.rar、backup.zip等

PS:如果将备份文件放在上一级目录,就不能直接访问到,更安全:

C:\wwwroot\www.rar

 

 

【例3】配置不当-GIT 泄漏-某程序员博客源码泄漏

常见的Web源码泄漏漏洞及其利用:https://www.secpulse.com/archives/124398.html

Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。

http://121.36.49.234/

①访问http://121.36.49.234/.git/ ,进入一个403页面,说明是存在文件夹的

②用漏洞利用工具获取:GitHack

下载:https://github.com/lijiejie/GitHack(安装需要python2环境)

用法示例:GitHack.py http://www.openssl.org/.git/


【例4】SVN源码泄露

原理与Git源码泄露的原理相同。判断方式:在域名后面直接加.svn/entries。如果存在,就利用SvnHack获取源码文件

 

工具下载:https://github.com/callmefeifei/SvnHack

用法示例:SvnHack.py http://www.traficbonus/.svn/entries

 

【例5】:配置不当-DS_Store泄露-某开发Mac源码泄露

 

 

.DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个。如果将.DS_Store上传部署到服务器,可能造成文件目录结构泄漏,特别是备份文件、源代码文件。

访问:http://zhuchao.yslts.com/.DS_Store,浏览器会自动下载DS_Store文件

漏洞利用工具:

github项目地址:https://github.com/lijiejie/ds_store_exp

用法示例:

ds_store_exp.py http://zhuchao.yslts.com/.DS_Store

 

【例6】:composer.json泄露-利用PHP特性

composer.json相当于一个php的配置文件

使用方法:直接在域名后面加/composer.json,可能获取到网站使用的CMS和其他版本信息。

比如,访问:http://english.cmdesign.com.cn/composer.json,获取到其CMS等信息

 

【例7】WEB-INF/web.xml泄露——Java特性

WEB-INF是Java的WEB应用的安全目录,如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。

WEB-INF 主要包含一下文件或目录:

WEB-INF/web.xml : Web应用程序配置文件, 描述了servlet和其他的应用组件配置及命名规则.
WEB-INF/database.properties : 数据库配置文件
WEB-INF/classes/ : 一般用来存放Java类文件(.class)
WEB-INF/lib/ : 用来存放打包好的库(.jar)
WEB-INF/src/ : 用来放源代码(.asp和.php等)

 

CTF赛题:easy_java - JS颜文字

https://buuoj.cn/challenges,搜索easy_java ,修改下载filename=help.docx为filename=WEB-INF/web.xml,得到源码结构,

推断 class 文件的路径,最后直接 class 文件,再通过反编译 class 文件,得到网站源码。

 

 

【例8】资源监控 - GITHUB泄露 - 语法搜索&关键字搜索&社工

github.com

GITHUB资源搜索:

 

in:name test #仓库标题搜索含有关键字

 

in:descripton test #仓库描述搜索含有关键字

 

in:readme test #Readme 文件搜素含有关键字

 

stars:>3000 test #stars 数量大于 3000 的搜索关键字

 

stars:1000..3000 test #stars 数量大于 1000 小于 3000 的搜索关键字

 

forks:>1000 test #forks 数量大于 1000 的搜索关键字

 

forks:1000..3000 test #forks 数量大于 1000 小于 3000 的搜索关键字

 

size:>=5000 test #指定仓库大于 5000k(5M)的搜索关键字

 

pushed:>2019-02-12 test #发布时间大于 2019-02-12 的搜索关键字

 

created:>2019-02-12 test #创建时间大于 2019-02-12 的搜索关键字

 

user:test #用户名搜素的搜索关键字

 

license:apache-2.0 test #明确仓库的 LICENSE 搜索关键字

 

language:java test #在 java 语 言的代码中搜索关键字

 

user:test in:name test #组合搜索,用户名 test 的标题含有 test 的

 

关键字配合谷歌搜索

 

site:Github.com smtp

 

site:Github.com smtp @qq.com

 

site:Github.com smtp @126.com

 

site:Github.com smtp @163.com

 

site:Github.com smtp @sina.com.cn

 

site:Github.com smtp password

 

site:Github.com String password smtp