Day12:信息打点-Web应用源码泄漏开源闭源指纹识别GITSVNDS备份

本文主要是介绍Day12:信息打点-Web应用源码泄漏开源闭源指纹识别GITSVNDS备份,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

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

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

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

思维导图


章节点

Web:语言/CMS/中间件/数据库/系统/WAF

系统:操作系统/端口服务/网络环境/防火墙等

应用:APP对象/API接口/微信小程序/PC应用等

架构:CDN/前后端/云应用/站库分离/OSS资源等

技术:JS爬虫/敏感扫描/目录爬虫/源码获取/接口泄漏等

技术:指纹识别/端口扫描/CDN绕过/WAF识别/Github监控等

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

如果你看到一个网站

标签

名称

地址

指纹识别

在线cms指纹识别

http://whatweb.bugscaner.com/look/

指纹识别

Wappalyzer

https://github.com/AliasIO/wappalyzer

指纹识别

TideFinger潮汐

TideFinger 潮汐指纹 TideFinger 潮汐指纹

指纹识别

云悉指纹

yunsee.cn-2.0

指纹识别

WhatWeb

https://github.com/urbanadventurer/WhatWeb

指纹识别

数字观星Finger-P

指纹收录平台

除了CMS识别,指纹识别还包括Web框架、中间件、组件等的识别,可以使用如下工具

Wappalyzer:基于浏览器插件的指纹识别工具,支持多种Web框架、CMS、中间件、CDN等的识别。

WhatWeb:基于命令行的指纹识别工具,支持多种Web框架、CMS、中间件、语言等的识别。
Fingerprintjs2:基于JavaScript的指纹识别工具,可以识别浏览器的User-Agent、语言、时区、屏幕分辨率、字体等信息。
BuiltWith:基于网站的指纹识别工具,可以识别网站所使用的Web框架、CMS、中间件、CDN等信息。
Nuclei:基于命令行的扫描工具,可以使用已有的指纹识别模板进行扫描。
 

CMS识别见上述项目

  • 使用扫描工具扫描出搭建的源码为Zblog
  • 搜索并下载该源码,查看源码目录
  • 通过源码目录进行数据访问:回写数据403文件夹存在(判断是该源码)

403:文件夹存在

确定源码后(开源的),就可以进行代码审计

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

参考文章:https://www.secpulse.com/archives/124398.html

源码泄漏原因:
1、从源码本身的特性入口
2、从管理员不好的习惯入口
3、从管理员不好的配置入口
4、从管理员不好的意识入口
5、从管理员资源信息搜集入口

源码泄漏集合:标记 * 需要着重关注
composer.json * 
git源码泄露 *
svn源码泄露 *
hg源码泄漏
网站备份压缩文件 *
WEB-INF/web.xml 泄露
DS_Store 文件泄露  *
SWP 文件泄露
CVS泄露
Bzr泄露
GitHub源码泄漏

git源码泄露

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

漏洞利用工具:GitHack

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

403:文件夹存在,说明有该漏洞

示例:

python GitHack.py http://www.openssl.org/.git/

svn源码泄露

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

漏洞利用工具:GitHub - callmefeifei/SvnHack: 一个Svn信息泄露辅助工具,可以使用这个脚本列取网站目录,读取源码文件以及下载整站代码。

示例:

python SvnHack.py -u http://x.x.x.x/.svn/entries  —download

网站备份压缩文件

管理员将网站源代码备份在Web目录下,攻击者通过猜解文件路径,下载备份文件,导致源代码泄露。
常见的备份文件后缀:
.rar
.zip
.7z
.tar.gz
.bak
.txt
.old
.temp

网站后台扫一下文件即可,比如:御剑等

DS_Store 文件泄露

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

漏洞利用工具:

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

安装:pip install ds-store requests

用例:

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

PHP特性-composer.json泄漏

composer.json文件作用:composer.json文件定义了您当前项目的依赖项,以及依赖项的一些相关信息 常见属性说明:

  • name:表示包的名称
  • description:表示包的描述
  • version:表示包的版本
  • type:表示包的类型
  • keywords:表示一组用于搜索与筛选的与包相关的关键字
  • homepage:表示项目网站的url地址
  • readme:表示README文档的绝对路径
  • time:表示包的版本发布时间
  • license:表示包的许可证
  • authors:表示包的作者
  • support:表示获取对项目支持的信息对象
  • require:表示必须安装的依赖包列表
  • autoload:表示PHP自动加载的映射
  • minimum-stability:定义了按稳定性过滤包的默认值
  • repositories:表示自定义的安装源
  • config:表示一组配置选项
  • script:表示Composer允许在安装过程的各个部分执行脚本
  • extra:表示scripts使用的任意扩展数据

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

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

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

同"程"交友:可以在这些程序员发布源码的网站进行搜索

https://gitee.com/

https://github.com/

https://www.oschina.net/

打开已经知道网址选中带有相关性数据包,选中其请求URL在github中搜索

一般选用一些js,css文件,图片文件不选

查找到不确定的源码目录,一一对应后,采用替换域名访问的方式来确定

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

  • 找到源码或者通过抓包获取到的数据包可以进行以下操作
  • 利用sumlime软件打开源码文件夹,使用在文件夹中查找例如qq.com
  • 查找到相关留下的联系方式名称等信息
  • 使用这些信息再去github中查询寻找源码
  • 找到相关代码

解决3:其他行业开发使用对口资源站获取

https://www.huzhan.com/
https://28xin.com/
https://bbs.bcb5.com/
https://www.shixinwl.com/
https://www.lengcat.com/
https://www.xlymz.com/
https://www.ymadx.com/

思维导图

这篇关于Day12:信息打点-Web应用源码泄漏开源闭源指纹识别GITSVNDS备份的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/769163

相关文章

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

使用Python实现网络设备配置备份与恢复

《使用Python实现网络设备配置备份与恢复》网络设备配置备份与恢复在网络安全管理中起着至关重要的作用,本文为大家介绍了如何通过Python实现网络设备配置备份与恢复,需要的可以参考下... 目录一、网络设备配置备份与恢复的概念与重要性二、网络设备配置备份与恢复的分类三、python网络设备配置备份与恢复实

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使