Day16:信息打点-语言框架开发组件FastJsonShiroLog4jSpringBoot等

目录

前置知识

指纹识别-本地工具-GotoScan(CMSEEK)

Python-开发框架-Django&Flask

PHP-开发框架-ThinkPHP&Laravel&Yii

Java-框架组件-Fastjson&Shiro&Solr&Spring

思维导图


章节知识点

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

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

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

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

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

技术:指纹识别/Github监控/CDN绕过/WAF识别/蜜罐识别等

前置知识

后端:
CMS:一般PHP开发居多源码程序(利用源码程序名去搜漏洞情况,源码去下载进行后期的代码审计)潮汐识别CMS

CMS是内容管理系统(Content Management System)的缩写,是一种用于创建、编辑、组织和发布内容的软件工具或平台。CMS可以帮助用户轻松管理网站、博客、电子商务平台等各种在线内容。通过CMS,用户可以方便地添加、修改和删除内容,进行页面布局调整,管理用户权限,以及进行其他与内容相关的操作。常见的CMS包括WordPress、Joomla、Drupal等。


前端:
js 框架(爬取更多的js从里面筛选URL或敏感泄漏key等) 
也是可以通过对js代码逻辑进行代码审计

组件:java居多
常见有过安全漏洞组件(shiro solr log4j sprintboot等)

框架:php java python都有

框架:简单代码的一个整合库,如果使用框架就只需要学习使用框架调用即可
如:文件上传功能是需要很多代码来实现的,框架把这个代码进行封封装,调用即可
影响:如果采用框架开发,代码的安全性是取决于框架的过滤机制

组件:第三方的功能模块(日志记录,数据监控,数据转换等)

Web架构:
1、最简单最入门的开发模型(功能代码全部手写)
                最容易出现漏洞,程序员水平不一,没有第三方或团队的检测,单纯的自己写

2、结合开发框架的开发模型(以框架为核心实现功能)
                第三方或团队的开发的封装代码框架,一般内置的过滤机制(框架漏洞)

3、结合开发框架外加组件模型(以框架为核心,组件为辅实现功能)
                第三方或团队的开发的封装代码框架,一般内置的过滤机制(框架和组件漏洞)

CMS指纹识别-本地工具-GotoScan(CMSEEK)

1、在线平台见前面课程,本地工具  适用于不出网环境

https://github.com/newbe3three/gotoscan

2、网络空间:Fofa Quake Hunter

3、网络空间:IO图标关

4、潮汐指纹在线识别

GotoScan:https://github.com/newbe3three/gotoscan

使用方式:

  • gotoscan.exe -host https://localhost.com 
  • gotoscan.exe -hosts hosts.txt

CMSeek:https://github.com/Tuhinshubhra/CMSeeK

Python-开发框架-Django&Flask

Django

1、识别插件-Wappalyer

2、Set-Cookie:expires=或者Set-Cookie: csrftoken=

插件识别

FOFA:

Flask
1、识别插件
2、Set-Cookie:expires=或者Etag:

PHP-开发框架-ThinkPHP&Laravel&Yii

ThinkPHP:
1、识别插件
2、X-Powered-By: ThinkPHP或者直接识别ThinkPHP官方图标
3、CMS识别到源码体系TP开发

Laravel:
1、识别插件
2、Set-Cookie: laravel_session=或者Set-Cookie: XSRF-TOKEN

Yii:
1、识别插件
2、Set-Cookie:YII_CSRF_TOKEN

Java-框架组件-Fastjson&Shiro&Solr&Spring

52类110个主流Java组件和框架介绍:52类110个主流Java组件和框架介绍_java 客户端开发组件-CSDN博客

Wappalyer对Java开发组件的识别可能不是很好,做个参考算了

Fastjson/Jackson

在提交JSON数据包中修改测试:

-Fastjson组件会把01解析成1

-Jackson组件在解析01时会抛出异常

https://forum.butian.net/share/1679

https://www.iculture.cc/forum-post/24115.html

理想状态下如果站点有原始报错回显,可以用不闭合花括号的方式进行报错回显,报错中往往中会有Fastjson/Jackson的关键字:Jackson

但是实际上并不可能那么的理想,所以需要一些其他的trick来进行区分。下面探讨下两个解析器之间有什么区别。

Fastjson会把01解析成1:

Jackson在解析01时会抛出异常:

Shiro
请求包的cookie中存在rememberMe字段。
返回包中存在set-Cookie:remeberMe=deleteMe。
请求包中存在rememberMe=x时,响应包中存在rememberMe=deleteMe。
有时候服务器不会主动返回remeberMe=deleteMe,直接发包即可,将Cookie内容改为remember Me=1,若相应包有rememberMe=deleteMe,则基本可以确定网站apache shiro搭建的。
 

Struts2

一般使用struts2框架后缀带do或action,可以尝试进行利用

Springboot

1、通过web应用程序网页标签的小绿叶图标

2、通过springboot框架默认报错页面

Solr识别 

一般开放8983端口,访问页面也可以探针到

思维导图

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

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

相关文章

Linux中断实验:定时器按键消抖处理实验一测试

一. 简介 前面文章实现了定时器对按键的消抖处理,文章地址如下: Linux中断实验:定时器实现按键消抖处理-CSDN博客 本文对所实现的定时器对按键消抖功能进行测试。确认定时器是否实现对按键消抖的功能。 二. Linux中断实验:定时器按键消抖处理的测试 1. 拷贝驱动模块…

Python的http模块requests

模块简介: requests 库是一个 python中比较有名的 http请求的库,能处理 get,post,put,delete 等 restful请求,能设置 header,cookie,session 等操作,也是作为爬虫的基础库,它目前还不能异步请求,如果要支持…

Docker 安装mysql8并运行

一.拉取镜像 方法1:docker pull mysql:8.0 方法2: 如果公司服务器不让上外网,那么下载个镜像,拷贝到服务器上 下载镜像地址: https://download.csdn.net/download/cyw8998/88906130 docker load -i mysql8 二.运…

适用于 Windows 的 5 款最佳免费数据恢复软件榜单

每个计算机用户都曾经历过数据丢失的情况。很容易错误地删除重要的文件和文件夹,当发生这种情况时,可能会导致不必要的心痛和压力。值得庆幸的是,可以恢复 Windows PC 上丢失的数据。在本文中,我们将分享您可以使用的五种最佳 Win…

【问答】stm32复用时钟开启情况

首先为什么要开启时钟? 答:因为要对寄存器进行读写!而在STM32中对寄存器的读写都是要打开寄存器对应的时钟才可以的【就像人一样,有了跳动的脉搏手臂才能有能量才能进行各种动作】。 然后就什么时候AFIO时钟开启(所有…

苹果因在iOS音乐流媒体市场上的反向引导行为,在欧盟被罚款18.4亿欧元

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Docker之自定义镜像上传阿里云

目录 一. Alpine制作jdk镜像 1.1 alpine Linux 简介 1.2 基于alpine制作jdk8镜像 1.2.1 下载镜像 1.2.2 创建并编辑Dockerfile 1.2.3 上传文件 1.2.4 执行Dockerfile构建镜像 1.2.5 测试 二. Alpine制作jre镜像 2.1 首先下载jre或者上传 2.2 解压 2.3 测试 2.4 返回上级目录&a…

云手机的境外舆情监控应用——助力品牌公关

在当今数字化时代,社交媒体已成为品牌传播和互动的主要平台。随之而来的是海量的信息涌入,品牌需要及时了解并应对海外社交媒体上的舆情变化。本文将介绍如何通过云手机进行境外舆情监控,更好地帮助企业公关及时作出决策。 1. 境外舆情监控与…

Linux——动态库和静态库

目录 前言 一.静态库 1.1生成静态库 1.2 库搜索路径 1.3 静态库优点 1.4 静态库缺点 二.动态库 2.1 生成动态库 2.2 使用动态库 2.3 运行动态库 2.4 动态库的优点 2.5 动态库的缺点 三.链接过程 四.如何创建和管理库 五.总结 前言 Linux系统中的库(…

【linux】linux系统调用及文件IO操作

一、系统调用 1、概述 系统调用: 就是操作系统内核 提供给用户可以操作内核 一组函数接口。用户 借助 系统调用 操作内核。比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时…

golang关键字channel介绍

Golang 关键字 channel 的用法和原理 Golang 是一门支持并发编程的语言,它提供了一种特殊的类型:channel,用于在不同的 goroutine 之间传递数据,实现同步和通信。channel 是 Go 语言高性能并发编程中的核心数据结构和机制。本文将…

如何创建测试计划?这些要考虑到

以下为作者观点: 创建一个彻底和有效的测试计划对软件测试的成功至关重要。它可以帮助识别过程中可能出现的潜在问题或问题。 什么是测试计划? 测试计划是一份文件,概述了软件测试过程的策略、目标、资源和时间表。测试计划通常包括一些细…

Golang 锁介绍

在并发编程中,锁是一种常用的同步机制,用来保护共享资源的安全访问和修改。Golang 作为一门支持并发的语言,提供了两种主要的锁类型:互斥锁(Mutex)和读写锁(RWMutex)。本文将介绍这两…

uniapp 项目 浏览器chrome使用vue devtool 识别不了 in not detect

问题 uniapp的项目,vue2, chrome 分析 添加了运行时,指定模板h5.html 指定的h5.html重置了运行根目录,导致了vue dev tool在运行时,chrome上识别不了。 解决: 方法1: 只能调试的时候,不加sati…

java常用应用程序编程接口(API)——Arrays概述

前言: 学到Arrays了,整理下心得。打好基础,daydayup! Arrays 用来操作数组的一个工具类 Arrays的常见方法 方法名说明public static String toString(类型[] arr)返回数组的内容public static int[ ] copyOfRange(类型[ ] arr,启示索引&…

【操作系统学习笔记】文件管理1.1

【操作系统学习笔记】文件管理1.1 参考书籍: 王道考研 视频地址: Bilibili I/O 设备的基本概念与分类 I/O 设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件设备。UNIX系统将外部设备抽象为一种特殊的文件&a…

2021 年 6 月青少年软编等考 C 语言一级真题解析

目录 T1. 数的输入和输出思路分析 T2. (a / b) c 的值思路分析 T3. 大写字母的判断思路分析 T4. 特殊求和思路分析 T5. 硬币翻转思路分析 T1. 数的输入和输出 输入一个整数和双精度浮点数,先将浮点数保留 2 2 2 位小数输出,然后输出整数。 时间限制&…

SpringMVC框架①

目录 一、SpringMVC概述 1. 什么是MVC 2. 什么是SpringMVC 3. springMVC特点 二、HellWorld 1. 开发环境 2. 创建maven工程 3. 配置web.xml 4. 创建请求控制器 5. 创建springMVC的配置文件 6. 测试HelloWorld 三、RequestMapping注解 1、RequestMapping功能 2、Re…

Android如何实现复制到剪贴板

文章目录 核心代码关于权限举例 在 Android 开发中,可以使用 ClipboardManager 来复制文本到剪贴板。以下是一个简单的示例代码,演示如何将文本复制到剪贴板: 核心代码 // 获取剪贴板管理器 val clipboardManager getSystemService(Contex…

Linux - 安装 maven(详细教程)

目录 一、下载二、安装三、配置环境变量四、镜像资源配置 一、下载 官网:https://maven.apache.org/download.cgi 打开 maven 的官网下载页面,点击 bin.tar.gz 文件链接 即可下载最新版本的 maven 如果想要下载旧版本的 meven,则点击 Maven…