第13天 信息打点-Web 应用&源码泄漏&开源闭源&指纹识别&GIT&SVN&DS&备份

时间轴:

主要内容

后端—开源—指纹识别—源码下载

后端—闭源—配置不当—源码泄露

后端—方向—资源码云—源码泄露(重点)

知识点

开源—CMS指纹识别源码获取方式

闭源—习惯&配置&特性等获取方式

闭源—托管资产平台资源搜索监控

后端—开源—指纹识别—源码下载

使用指纹识别平台或者工具识别cms信息,再通过cms信息找到官网下载源码(但是各大平台的cms信息识别一块似乎都被ban掉了~)

后端—闭源—配置不当—源码泄露

源码泄露原因

1、从源码本身特性入口

2、从管理员不好的习惯入口

3、从管理员不好的配置入口

4、从管理员不好的意识入口

5、从管理员资源信息搜集入口

源码泄露集合

composer.json

git源码泄露(常见)

svn源码泄露(常见)

hg源码泄露

网站备份压缩文件(常见)

WEB-INF/web.xml泄露

DS_Store文件泄露

SWP文件泄露

CVS泄露

Bzr泄露

GitHub源码泄露

Web源码泄露参考文章:常见的Web源码泄漏漏洞及其利用 - SecPulse.COM | 安全脉搏

案例演示:


对于开源源码(z-blog):

对于www.xiaodi8.com,可以使用第12天信息打点的cms指纹识别。(大多数指纹识别工具不能用了~)

在官网下载z-blog源码ZBlogPHP下载,Z-BlogPHP,小巧而强大的PHP博客程序与建站系统 (zblogcn.com),对源码进行分析。

根据下载的源码得知登录访问路径:

访问为:403时,有文件夹目录。(得知应该就是这套程序源码)

得知小迪8登录路径:

http://www.xiaodi8.com/zb_system/login.php

 网站备份压缩文件

简介:管理员将网站源代码备份在Web目录下,攻击者通过猜解文件路径,下载备份文件,导致源代码泄露。

常见的备份文件后缀:.rar、.zip、.7z、.txt、.old、.temp、.bak、.tar.gz

漏洞利用工具:御剑、dirsearch、7kbscan等

演示案例1:自己搭建的服务器

自己备份问题:(直接全选备份1.rar)

御剑扫描结果(不同软件结果不同)

例题演示2:CTFHub—技能树—Web—信息泄露—备份文件下载—网站源码

1、启动环境:

2、使用7kbscan扫描一下,得到一个zip文件:

3、解压以后得到3个文件,其中有个txt文件显示where is flag,真实的flag可能需要用网页打开,之后得到flag提交即可:

git源码泄露

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

1.最简单的测试方法:在域名后面加.git。

2.使用Githack-master进行测试。

IDEA案例:

使用IDEA搭建时会发生如.idea这种自动打开操作过的文件等

如:(以前打开过web.xml,就会在上面显示,.git同样的道理)

漏洞利用工具:GitHack

github项目地址:GitHub - lijiejie/GitHack: A `.git` folder disclosure exploit

用法示例参考:(在GitHack-master路径下执行cmd)

python GitHack.py http://www.openssl.org/.git/
例题演示:CTFHub—技能树—Web—信息泄露—Git泄露—Index

1、启动环境:

2、可以先用dirsearch扫描

disearch使用方法:

dirsearch是一个基于python3的命令行工具,常用于暴力扫描页面结构,包括网页中的目录和文件。
-u:使用 -u 参数指定要扫描的目标网址。
-e *:使用 -e 参数指定要扫描的文件扩展名。这里使用 * 表示扫描所有的文件扩展名。也可以指定特定的文件扩展名,例如 -e php,txt,以限制扫描的文件类型。
-i 200:使用 -i 参数指定要忽略的状态码。在这种情况下,参数值为 200,表示当响应的状态码为 200(成功)时,不显示输出结果。这通常用于隐藏有效的页面。
-i 状态码:只显示该状态码。
-x 状态码:不显示该状态码。

example:

python dirsearch.py -u http://challenge-68b58195f060d444.sandbox.ctfhub.com:10800/ -e* -i 200

得到:

在知道文件为.git泄露后,使用Githack扫描:

python GitHack.py http://challenge-68b58195f060d444.sandbox.ctfhub.com:10800/.git/

得到一个名为challenge-68b58195f060d444.sandbox.ctfhub.com_10800的文件夹,打开文件夹,看到一个txt,txt里面的内容就是flag:

修复建议:删除.git目录或者修改中间件配置进行对.git隐藏文件夹的访问。

svn源码泄露

简介:SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。

利用文件:.svn/entries,获取服务器源码

漏洞利用工具:SvnHack(要用python2运行)

对于真实网站:

如果不是python2运行会出现以下错误:

如果默认执行的不是python2,而是其他版本,需要把python2的路径补全(可以将文件路径拖上去进行执行),如下图:

运行代码:

列取目录(根目录):

F:\python2.7\python.exe SvnHack.py -u http://x.x.x.x/.svn/entries 

列取目录(指定目录):

F:\python2.7\python.exe SvnHack.py -u http://x.x.x.x/.svn/entries  -d scripts

读源码(指定文件):

F:\python2.7\python.exe SvnHack.py -u http://x.x.x.x/.svn/entries  -d scripts -r  upd.js

需要下载的话使用代码:

F:\python2.7\python.exe SvnHack.py -u http://x.x.x.x/.svn/entries  —download

经过测试Svnhack只适用于网页上的真实网站(trafficbonus)爬取,不太适合靶场没有过多源码的网页。(得到的php可能被zend加密)

对于靶场:

可以使用Github脚本下载:svnExploit

pip install -r requirements.txt

检测SVN源代码泄露

python SvnExploit.py -u http://192.168.27.128/.svn

下载源代码

python SvnExploit.py -u http://192.168.27.128/.svn --dump

以下为墨者svn漏洞题目:(https://mozhe.cn/bug/detail/116)

修复建议:

1、删除web目录中所有.svn隐藏文件夹,开发人员在使用SVN时,严格使用导出功能,禁止直接复制代码;

2、服务器软件(Nginx、apache、tomcat、IIS等)设置目录权限,禁止访问.svn目录;

3、不要使用svn checkoutsvn up更新服务器上的代码,使用svn export(导出)功能代替;

参考文章:

Web安全-SVN信息泄露漏洞分析_svn漏洞-CSDN博客

DS_Store文件泄露(mac开发,只展示文件目录)

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

漏洞利用工具:ds_store_exp

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

用法示例:

python ds_store_exp.py http://hd.zj.qq.com/themes/galaxyw/.DS_Store

首次使用需要安装模块:

pip install ds_store requests

例题演示:CTFHub—技能树—Web—信息泄露—备份文件下载—.DS_Store

1、启动环境:

2、使用ds_store_exp工具进行扫描,得到一个txt文件:

3、访问该txt路径,直接得出flag,提交即可:

composer.json泄露(只有php网站有):

https://english.cmdesign.com.cn/composer.json(泄露一些关键信息)

后端—方向—资源码云—源码泄露

解决1:识别出大致信息却无下载资源

可能出现的情况:知道是什么程序,但是官方不更新、官网关闭或者使用的人极少

以小迪8为例:

network得到了jquery-2.24.min.js和zblogphp.js(放入github中搜索)

jquery.js(内容太多太繁杂):

z-blog(内容少量):

用zblogphp与官网比对,在比对一致后确定源码(可以尝试对着访问几个路径试试)。

同理e-cology:(注意访问的域名要正确别访问错了)

解决2:未识别出信息使用码云资源获取

涉及网站:

解决3:其他行业开发使用对口资源站获取(黑灰产业源码)

涉及网站:

或者使用Google和国外搜索引擎搜索棋牌源码
案例:
聚离APP:
登陆后界面差不多(那源码也应该差不多)

使用Sublime在源码中搜索关键信息:

左上角-file-open folder
使用ctrl+shift+f进行全局搜索(英文输入法)
之后可以丢到github,gitee搜索。

GitHub资源搜索方法

in:name test仓库标题搜索含有关键字
in:description test仓库描述搜索含有关键字
in:readme testReadme文件搜索含有关键字
stars:>3000 teststars数量大于3000的搜索关键字
stars:1000..3000 teststars数量大于1000小于3000的搜索关键字
forks:>1000 testforks数量大于1000的搜索关键字
forks:1000..3000 testforks数量大于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的

关键字配合Google搜索方法

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

参考文章

web源码泄露参考文章:常见的Web源码泄漏漏洞及其利用 - SecPulse.COM | 安全脉搏

dirsearch安装参照:dirsearch的安装(非常详细)和使用-CSDN博客

git指令参考:git查看与对比历史提交记录(git show; git log; git diff)_git show log-CSDN博客

本文章由番薯小羊卷和李豆豆喵共同创作。

  • 19
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值