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/

思维导图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/726386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArmSoM Rockchip系列产品 通用教程 之 Ethernet 使用

1. Ethernet 简介​ ArmSoM系列产品主要使用到了两款以太网芯片 RTL8211F-CGRTL8125B 2. RTL8211F-CG芯片​ 在ArmSoM系列产品中,ArmSoM-Aim7使用的是RTL8211F-CG千兆以太网芯片 2.1 驱动​ drivers/net/ethernet/stmicro/s…

Spring MVC RequestParamMethodArgumentResolver原理解析

在Spring MVC框架中,RequestParamMethodArgumentResolver是一个核心的类,它负责解析HTTP请求中的参数,并将其绑定到处理器方法的参数上。这对于从请求中获取数据并将其传递给后端业务逻辑是至关重要的。本文将详细解析RequestParamMethodArgu…

Flink JobGraph构建过程

文章目录 前言JobGraph创建的过程总结 前言 在StreamGraph构建过程中分析了StreamGraph的构建过程,在StreamGraph构建完毕之后会对StreamGraph进行优化构建JobGraph,然后再提交JobGraph。优化过程中,Flink会尝试将尽可能多的StreamNode聚合在…

Vue 导出前端数据报表为xlsx文件

文章目录 前言一、添加依赖包二、新建导出功能按钮组件三、使用示例前言 导出数据报表基本上有两种形式,第一种是前端请求数据之后,后端将数据导出为文件,前端再将文件下载下来;第二种是前端请求数据之后,前端将数据保存到文件。 本文将讲解第二种方法,前端请求数据之后…

Sharding-JDBC源码解析与vivo的定制开发

作者:vivo IT 平台团队 - Xiong Huanxin Sharding-JDBC是在JDBC层提供服务的数据库中间件,在分库分表场景具有广泛应用。本文对Sharding-JDBC的解析、路由、改写、执行、归并五大核心引擎进行了源码解析,并结合业务实践经验,总结…

vue3之Prop特性注意点

1、Ts中接收父组件传递参数prop的定义写法&#xff1a; <script setup lang"ts">defineProps<{title?: stringlikes?: number}>() </script>2、所有的 props 都遵循着单向绑定原则&#xff0c;props 因父组件的更新而变化&#xff0c;子组件中不…

基于 Vue3 学习状态管理器:pinia

pinia 基本概念 Pinia 是 Vue 的存储库&#xff0c;Pinia和Vuex一样都是是vue的全局状态管理器&#xff0c;它允许跨组件/页面共享状态。实际上&#xff0c;其实Pinia就是Vuex5&#xff0c;官网也说过&#xff0c;为了尊重原作者&#xff0c;所以取名 pinia&#xff0c;而没有…

raylib库在CodeBlocks上的配置

raylib下载 raylib | A simple and easy-to-use library to enjoy videogames programming CodeBlocks

监控易对多云平台的运维管理方案

随着企业信息化建设的不断深入&#xff0c;越来越多的企业开始采用多云策略&#xff0c;以充分利用不同云服务提供商的优势&#xff0c;实现业务的高可用性、灵活性和成本效益。然而&#xff0c;多云环境也带来了运维管理的复杂性&#xff0c;如何有效监控和管理多个云平台的资…

本地部署websocket服务端并结合内网穿透实现固定公网地址连接

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…

CGAL 5.6.1 - Algebraic Foundations

1. 引言 CGAL 的目标是精确计算非线性对象&#xff0c;特别是定义在代数曲线和曲面上的对象。因此&#xff0c;表示多项式、代数扩展和有限域的类型在相关的实现中扮演着更加重要的角色。为了跟上这些变化&#xff0c;我们引入了这个软件包。由于引入的框架必须特别支持多项式…

【杂言】迟到的 2024 展望

研一下开学已有半月&#xff0c;本来想在家写的新年展望拖到了现在。翻看 2021 年的展望&#xff0c;我发现 flag 基本达成了&#xff08;除了 12 点睡觉&#xff09;&#xff0c;所以给新的一年立下大方向也是很有必要的。也许等到 60 岁我再回看&#xff0c;也是一件趣事吧。…

docker常见命令

命令 说明 docker pull 拉取镜像 docker push 推送镜像到DockerRegistry docker images 查看本地镜像 docker rmi 删除本地镜像 docker run 创建并运行容器&#xff08;不能重复创建&#xff09; docker stop 停止指定容器 docker start 启动指定容器 docker r…

15、技巧之八: 如何确认WebDriver支持哪个版本的Xpath?【Selenium+Python3网页自动化总结】

Firefox目前支持XPath 1.0版本&#xff0c;目前没有计划支持XPath 2.0版本。 曾经想知道给定的WebDriver支持哪个版本的XPath吗&#xff1f;我们当然希望是2.0或3.0版本&#xff0c;但最可能的版本是1.0。正如Selenium维基所述&#xff0c;WebDriver在可能的情况下使用浏览器的…

window环境下使用k8s部署.net core项目

前提&#xff1a;已经部署镜像到Docker 在项目发布目录下新建.yaml文件&#xff0c;内容如下&#xff08;以下仅举例出两种方式内容&#xff0c;可按需自由配置&#xff09; --方式一(创建deployment 、服务、指定命名空间) # ------------------- 注意层级结构&#xff0c;…

如何下载网页中嵌套的PDF

项目场景&#xff1a; 网页中常有发布的PDF文件&#xff0c;只有浏览功能 问题描述 想下载的话有时候会截图&#xff0c;或者联系网站管理员 解决方案&#xff1a; 1.使用谷歌浏览器或者360浏览器极速模式&#xff0c;在当前页面按F12 2.网络&#xff08;Network&#xff09;…

OpenSSL 安全漏洞(CVE-2023-3817)

厂商补丁: 目前厂商已发布升级补丁以修复漏洞&#xff0c;补丁获取链接&#xff1a; https://www.openssl.org/news/secadv/20230731.txt OpenSSL安全建议[2023年7月31日] 检查DH q参数值花费过多时间(CVE-2023-3817) 严重程度:低 问题总结:DH键或参数过长可能导致检查速度很…

电脑远程桌面选项变成灰色没办法勾选怎么办?

有些人在使用Windows系统自带的远程桌面工具时&#xff0c;会发现系统属性远程桌面选项卡中勾选启用“允许远程连接到此计算机”。 导致此问题出现的原因主要是由于组策略或者注册表设置错误造成的。 修复远程桌面选项变灰的两种方法&#xff01; 方法一&#xff1a;设置本地组…

从spark streaming与structured streaming看spark core与spark sql的区别

导读 Spark中针对流式数据处理的方案有&#xff1a; Spark StreamingStructured Streaming 本文通过对比spark streaming与structured streaming&#xff0c;来深入理解spark core与spark sql的区别。 Spark Streaming 基于微批(DStream) Spark Streaming是基于微批(Micro batc…