安全学习DAY17_信息打点-语言框架组件识别

信息打点-WEB打点-语言框架&开发组件

文章目录

  • 信息打点-WEB打点-语言框架&开发组件
  • 本节涉及链接&工具
  • 本节知识&思维导图
  • 基础概念介绍
      • 框架:
      • 组件:
      • Web架构
    • 对应Web测试手法
      • 后端:
      • 前端
      • 组件:java居多,
      • 框架:
  • CMS指纹识别-本地工具-GotoScan(CMSEEK)
  • 框架识别特性分类
  • Python-开发框架-Django&Flask识别
      • Django
      • Flask
  • PHP-开发框架-ThinkPHP&Laravel&Yii识别
      • ThinkPHP:
      • Laravel:
      • Yii:
  • Java-框架组件-Fastjson&Shiro&Solr&Spring识别
      • Fastjson/Jackson组件的判断
      • Shiro安全框架判断
      • Struts2
      • Springboot
      • Solr识别

本节涉及链接&工具

cms指纹识别工具-本地工具:

https://github.com/newbe3three/gotoscan

漏洞平台&靶场(靶场功能好像不能用了

https://vulfocus.cn/

https://vulhub.org/

52类110个主流Java组件和框架介绍:

https://blog.csdn.net/agonie201218/article/details/125300729

Fastjson/Jackson组件的判断

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

工具箱

ONE-FOX

本节知识&思维导图

请添加图片描述

1、CMS指纹识别-不出网程序识别

2、开发框架识别-PHP&Python&Java

3、开发组件识别-Java常见安全漏洞组件

解决:

1、CMS识别到后期漏洞利用和代码审计

2、开发框架识别到后期漏洞利用和代码审计

3、开发组件识别到后期漏洞利用和代码审计

CMS识别技术针对的大部分都是PHP开发的WEB应用,Java、python开发的程序少而且源码一般都不公开的,PHP大部分都是开源的。

Java或别的语言开发的web环境,CMS识别就会出现问题

信息打点、漏洞探针很重要,在安全测试中识别漏洞特征要记住,形成经验

基础概念介绍

框架:

简单代码的一个整合库,如果使用框架就只需要学习使用框架调用即可

如:文件上传功能时需要很多代码来实现的,框架把这个代码进行封装,调用函数即可。

影响:如果采用框架开发,代码的安全性是取决于框架的过滤机制的,代码的核心逻辑在框架中

组件:

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

专门去处理某一件事情功能

Web架构

1、最简单最入门的开发模型(功能代码全部手写)

安全思路:最容易出现漏洞,程序员水平不一,没有第三方或团队的检测,单纯的自己写

2、结合开发框架的开发模型(以框架为核心实现功能)

安全思路:第三方或团队的开发的封装代码框架,一般内置的过滤机制(安全测试着重于框架自身的漏洞)

3、结合开发框架外加组件模型(以框架为核心,组件为辅实现功能)

安全思路:第三方或团队的开发的封装代码框架,一般内置的过滤机制(框架和组件漏洞)

识别出网站使用了框架&组件,则寻找框架&组件漏洞,若无漏洞则不能搞,除非有的网站框架使用了一半,自己写了一般(比较蠢,半成品),看具体代码如何写的(有源码的情况

框架以外的漏洞一般都是因为没有使用框架正确的写法导致

对应Web测试手法

后端:

CMS:一般PHP开发居多源码程序

(利用源码程序名去搜漏洞情况,没有漏洞->源码去下载进行后期的代码审计)

前端

js 框架(爬取更多的js从里面筛选URL或敏感泄漏key等)

也是可以通过对js代码逻辑进行代码审计

组件:java居多,

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

直接使用漏洞利用工具

框架:

php、java、python都有,见后面知识点

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

在线平台无法识别内网环境的站点

1、在线平台见前面学习内容,本地工具适用于不出网环境

https://github.com/newbe3three/gotoscan

目标地址可以是内网可以是外网,解决内网识别

2、网络空间:Fofa Quake Hunter

3、网络空间:IO图标关系

框架识别特性分类

  1. Response返回包
  2. 固定端口
  3. ICO图标
  4. 特有的URL路径后缀

Python-开发框架-Django&Flask识别

Django

1、识别插件

2、Set-Cookie:expires=

特点:返回数据包一般会有

set-cookie:csrftoken=xxx

Flask

1、识别插件

2、Set-Cookie:expires=

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

ThinkPHP:

0、识别插件

1、X-Powered-By: ThinkPHP

2、CMS识别到源码体系TP开发

Laravel:

1、识别插件

2、Set-Cookie中特征的格式

Yii:

1、识别插件

2、Set-Cookie中特征的格式

漏洞平台:

https://vulfocus.cn/

以上识别方式都是通过插件/返回包中特定信息/泄露图标等信息判断

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

52类110个主流Java组件和框架介绍:

https://blog.csdn.net/agonie201218/article/details/125300729

Fastjson/Jackson组件的判断

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

-Fastjson组件会把01解析成1

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

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

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

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,可以尝试进行利用

即网站后缀一般是.do.action

老牌开发框架,以前用的多,现在用的少

Springboot

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5d8pSIT4-1692282143098)(image-20230817125507477.png)]

Solr识别

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

信息打点、漏洞探针很重要,在安全测试中识别漏洞特征要记住,形成经验

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

物联网在制造业中的应用

制造业目前正在经历第四次工业革命,物联网、人工智能和机器人等技术进步正在推动行业的发展。研究表明,到2024年,全球制造商将在物联网解决方案上投资700亿美元,许多制造商正在实施物联网设备,以利用预测性维护和复杂的…

LeetCode450. 删除二叉搜索树中的节点

450. 删除二叉搜索树中的节点 文章目录 [450. 删除二叉搜索树中的节点](https://leetcode.cn/problems/delete-node-in-a-bst/)一、题目二、题解方法一:递归(一种麻烦的方法)方法二:优化后的递归 一、题目 给定一个二叉搜索树的根…

系统架构设计专业技能 · 信息安全技术

系列文章目录 系统架构设计专业技能 网络技术(三) 系统架构设计专业技能 系统安全分析与设计(四)【系统架构设计师】 系统架构设计高级技能 软件架构设计(一)【系统架构设计师】 系统架构设计高级技能 …

C++入门知识点——解决C语言不足

😶‍🌫️Take your time ! 😶‍🌫️ 💥个人主页:🔥🔥🔥大魔王🔥🔥🔥 💥代码仓库:🔥🔥魔…

PgSQL中的DATE_PART使用

用法: DATE_PART(field, source) 这个DATE_PART()函数返回类型为double precision的值 century decade year month day hour minute second microseconds milliseconds dow doy epoch isodow isoyear timezone timezone_hour timezone_minute

扩散模型实战(四):从零构建扩散模型

推荐阅读列表: 扩散模型实战(一):基本原理介绍 扩散模型实战(二):扩散模型的发展 扩散模型实战(三):扩散模型的应用 本文以MNIST数据集为例,从…

【论文阅读】CONAN:一种实用的、高精度、高效的APT实时检测系统(TDSC-2020)

CONAN:A Practical Real-Time APT Detection System With High Accuracy and Efficiency TDSC-2020 浙江大学 Xiong C, Zhu T, Dong W, et al. CONAN: A practical real-time APT detection system with high accuracy and efficiency[J]. IEEE Transactions on Dep…

Spring Boot 知识集锦之actuator监控端点详解

文章目录 0.前言1.参考文档2.基础介绍默认支持的端点 3.步骤3.1. 引入依赖3.2. 配置文件3.3. 核心源码 4.示例项目5.总结 0.前言 背景: 一直零散的使用着Spring Boot 的各种组件和特性,从未系统性的学习和总结,本次借着这个机会搞一波。共同学…

超越函数界限:探索JavaScript函数的无限可能

🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 📚 前言 📘 1. 函数的基本概念 📟 1.1 函数的定义和调用 📟 1.2 …

化繁为简,使用Hibernate Validator实现参数校验

前言 在之前的悦享校园的开发中使用了SSM框架,由于当时并没有使用参数参数校验工具,方法的入参判断使用了大量的if else语句,代码十分臃肿,因此最近在重构代码时,将框架改为SpringBoot后,引入了Hibernate V…

57从零开始学Java之一文详解String字符串的底层实现原理

作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 在之前的两篇文章中,壹哥给大家介绍了String字符串及其常用的API方法、常用编码、正则表达…

第一讲:BeanFactory和ApplicationContext接口

BeanFactory和ApplicationContext接口 1. 什么是BeanFactory?2. BeanFactory能做什么?3.ApplicationContext对比BeanFactory的额外功能?3.1 MessageSource3.2 ResourcePatternResolver3.3 EnvironmentCapable3.4 ApplicationEventPublisher 4.总结 1. 什么是BeanF…

GuLi商城-前端基础Vue指令-单向绑定双向绑定

什么是指令? 指令 (Directives) 是带有 v- 前缀的特殊特性。 指令特性的预期值是:单个 JavaScript 表达式。 指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于DOM 例如我们在入门案例中的 v-on,代表绑定事…

vscode + python

序 参考链接: 【教程】VScode中配置Python运行环境_哔哩哔哩_bilibili Python部分 Python Releases for Windows | Python.org vscode部分 Visual Studio Code - Code Editing. Redefined 一路next,全部勾上: 就可以了: 安装插…

盛元广通高校实验室开放预约与综合管理系统LIMS

系统概述: 高校实验室涉及到的课程、老师、学生多,管理起来费时费力,盛元广通高校实验室开放预约与综合管理系统LIMS提供简单易用的账号管理、实验室管理、课程管理、实验项目管理、实验时间设定;为学生提供简单易用的自主实验选…

设计模式篇---抽象工厂(包含优化)

文章目录 概念结构实例优化 概念 抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。 工厂方法是有一个类型的产品,也就是只有一个产品的抽象类或接口,而抽象工厂相对于工厂方法来说,是有…

ORB-SLAM2学习笔记7之System主类和多线程

文章目录 0 引言1 整体框架1.1 整体流程 2 System主类2.1 成员函数2.2 成员变量 3 多线程3.1 ORB-SLAM2中的多线程3.2 加锁 0 引言 ORB-SLAM2是一种基于特征的视觉SLAM(Simultaneous Localization and Mapping)系统,它能够从单个、双目或RBG…

8月16日上课内容 部署LVS-DR群集

本章结构: 数据包流向分析: 数据包流向分析: (1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。 &#xf…

追踪工时和控制成本 如何选对工具

研发工作中的工时管理软件是一种用于追踪、记录和分析团队成员在项目中所花费的工作时间的工具。它有助于组织、监控和优化研发项目的进展,确保资源得到有效利用,项目按时完成,并提供数据支持用于决策制定和资源规划。 能够记录团队成员的工…

Visual Studio 2022 你必须知道的实用调试技巧

目录 1、什么是bug? 2.调试是什么?有多重要? 2.1我们是如何写代码的? 2.2又是如何排查出现的问题的呢? ​编辑 2.3 调试是什么? 2.4调试的基本步骤 2.5Debug和Release的介绍 3.Windows环境调试介绍…