第7天:信息打点-资产泄漏&CMS识别&Git监控&SVN&DS_Store&备份
知识点:
一、cms指纹识别获取方式
网上开源的程序,得到名字就可以搜索直接获取到源码。
cms在线识别:
CMS识别:https://www.yunsee.cn/https://whatcms.org/https://searchcode.com/http://finger.tidesec.net/https://publicwww.com/
案例1-cms识别-云悉指纹识别平台
账号要花钱在线申请
注册条件:
还会查询域名等信息,不一定准确。
支持的识别框架
2.习惯&配置&特性等获取方式
源码泄露原因:
源码泄漏原因:5个方面
1、从源码本身的特性入口
2、从管理员不好的习惯入口
3、从管理员不好的配置入口
4、从管理员不好的意识入口
5、从管理员资源信息搜集入口
备份文件扫描方式:
备份:敏感目录文件扫描-7kbscan-WebPathBrute
CVS:https://github.com/kost/dvcs-ripper
GIT:https://github.com/lijiejie/GitHack
SVN:https://github.com/callmefeifei/SvnHack
DS_Store:https://github.com/lijiejie/ds_store_exp
案例1-习惯不好-备份文件-某黑阔博客源码泄漏
7kbsan扫描其扫描扫到一个1.zip,访问www.h0r2yc.com/1.zip就可以进行下载。
思路:
在站点外同目录备份,就不会出现无法下载,
如果在www.xiaodi8.com站点内的目录下下面备份不移动位置,就会出现安全问题c:/wwwroot/www.xiaodi8.com/www.xiaodi8.com.rar 可以下载c:/www.xiaodi8.com./rar 不能下载就是根目录可以下载,根目录外就无法下载了
这时候目录遍历漏洞有可以,访问…/时文件要能自动索引找文件时。
3.托管资产平台资源搜索监控 GitHub,gitee等
https://codeleading.com/article/54926468941/
源码泄漏集合:
composer.json(比较经典,针对PHP)
git源码泄露(比较经典)
svn源码泄露
hg源码泄漏
网站备份压缩文件
WEB-INF/web.xml 泄露
DS_Store 文件泄露
SWP 文件泄露
CVS泄露
Bzr泄露
GitHub源码泄漏
GITHUB资源搜索:
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 smt
案例1-配置不当-GIT泄漏-某程序员博客源码泄漏
Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下
自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。
判定存在.git文件:
访问站点/.git/
获取源码工具
需要python2环境运行
安装GitHack:https://github.com/lijiejie/GitHack,运行
操作->打开python安装目录,在GitHack-master目录下面运行cmd
,将python文件拖进来。
执行工具语法:
C:\Python27\python.exe GitHack.py http://www.openssl.org/.git/
案例2-配置不当-SVN泄漏-某国外小伙子源码泄漏
工具地址:https://github.com/callmefeifei/SvnHack.git
SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。
如git同理
trafficbonus.com/.svn/entries
用到SvnHack-master工具
python SvnHack.py -u http://x.x.x.x/.svn/entries —download访问http://trafficbonus.com/.svn/entries,如果存在,则证明有这个漏洞:
下载源码:
案例3-配置不当-DS_Store泄漏-某开发Mac源码泄漏
工具:https://github.com/lijiejie/ds_store_exp
.DS_Store 文件 MAC 系统是用来存储这个文件夹的显示属性的:比如文件图标的摆放位置。如果用户删除以后的副作用就是这些信息的失去。这些文件本来是给 Finder 使用的,但它们被设想作为一种更通用的有关显示设置的元数据存储,诸如图标位置和视图设置。 当你需要把代码上传的时候,安全正确的操作应该把 .DS_Store 文件删除才正确。通过.DS_Store可以知道这个目录里所有的文件名称。当访问/.ds_store可以访问的到,就证明存在。
商品网站
当访问/.ds_store可以访问的到,就证明存在。例如:
http://www.baidu.com/.ds_store
使用方式:
python ds_store_exp.py http://www.example.com/.DS_Store
此外:
案例4-PHP特性-composer.json泄漏-某直接搭建源码泄漏
PHP下
可能会存在json的配置说明文件。可能通过遗留下来的json文件获取版本信息,文件目录,cms信息等。
以上这四个案例是基于获取不到cms名称情况下获取源码的方式。
案例五-WEB-INF泄露-RoarCTF-2019-EasyJava
这个泄露需要配合文件下载漏洞
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等)通过找到 web.xml 文件,推断 class 文件的路径,最后直接 class 文件,再通过反编译 class 文件,得到网站源码。
但是一般来说,就算知道相关路径,没有下载漏洞也不能进行测试。需要配合其他漏洞进行测试。
案例靶场地址:BUUCTF在线评测 (buuoj.cn)
文件下载漏洞地址:
点击help
控制更改参数help.docx来下载WEB-INF/web.xml文件。Filename=WEB-INF/web.xml下载打开,观察到代码。
案例六-资源监控-GITHUB泄漏-语法搜索&关键字搜索&社工
网站:blog.aabyss.cn
在GitHub中直接搜索aabyss社工用户:Norah C.IV 一般会保留个人信息,开发者会在代码中保留,账号密码等。可以进行脚本监控,如果监控到了就会进行发送信息
1.小迪博客资源中邮箱等关键字