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

news2024/11/24 18:29:20

信息打点-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端口,访问页面也可以探针到

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

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

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

相关文章

RP2040开发板自制树莓派逻辑分析仪

目录 前言 1 准备工作和前提条件 1.1 Raspberry Pi Pico RP2040板子一个 1.2 Firmware-LogicAnalyzer-5.0.0.0-PICO.uf2固件 1.3 LogicAnalyzer-5.0.0.0-win-x64软件 2 操作指南 2.1 按住Raspberry Pi Pico开发板的BOOTSEL按键,再接上USB接口到电脑 2.2 刷入…

产品帮助中心怎么做?这两点不能忽略,让用户自助解决问题!

对于大部分线上产品,因为其功能和系统的复杂性,使得新手客户入门学习非常复杂,为了快速响应并且解决问题,一套系统完整的产品帮助中心必不可少! 产品帮助中心 因此,对于很多产品开发者来说,借助…

pg简单使用

1.创建服务器 2.创建数据库 3.修改默认连接数据库 工具都是链接到这里 4.数据库代码工具

ByteBuffer 使用

ByteBuffer 使用 1 java.nio包中的类定义的缓冲区类型2 缓冲区常用属性2.1缓冲区的容量(capacity)2.2 缓冲区的位置(position)2.3 缓冲区的限制(limit)2.4 缓冲区的标记(mark)2.5 剩余容量 remaining/hasRemaining 3 缓冲区常用方法3.1 创建缓冲区3.1.1 allocate方法3.1.2 wrap…

交叉编译之wiringPi库,【全志H616,orangepi-zero2】

文章目录 书接上回wiringPi全志库下载建立软链接软连接软连接创建 硬链接硬链接创建 测试树莓派运行servo文件 结束 书接上回 上回已经完整的安装了全志的gcc交叉编译工具 https://blog.csdn.net/qq_52749711/article/details/132306764 wiringPi全志库下载 下载链接 先搞到…

Jmeter+ant+jenkins实现持续集成

jmeterantjenkins持续集成 一、下载并配置jmeter 首先下载jmeter工具,并配置好环境变量;参考:https://www.cnblogs.com/YouJeffrey/p/16029894.html jmeter默认保存的是.jtl格式的文件,要设置一下bin/jmeter.properties,文件内容…

中国电信物联网收入33亿元,用户达到4.73亿户!

近日,中国电信发布2023中期业绩,物联网迎来强劲增长,物联网收入33亿元,同比增长75.7%,物联网用户4.73亿户,同比增长31.5%。天翼物联自主研发的AIoT物联网平台,升级为云原生3AZ架构,提…

在线课堂录播直播管理系统SpringBoot+Vue

在线课堂录播直播管理系统SpringBootVue 文章目录 在线课堂录播直播管理系统SpringBootVue共三个端:后端、后台管理系统、前端,如要学习看评论区(全部源码、文档、数据库)。内置功能一、前端二、后台管理三、后端--代码全有。四、…

k8s 认证和权限控制

k8s 的认证机制是啥? 说到 k8s 的认证机制,其实之前咋那么也有提到过 ServiceAccouont ,以及相应的 token ,证书 crt,和基于 HTTP 的认证等等 k8s 会使用如上几种方式来获取客户端身份信息,不限于上面几种…

【数据结构OJ题】链表分割

原题链接:https://www.nowcoder.com/practice/0e27e0b064de4eacac178676ef9c9d70?tpId8&&tqId11004&rp2&ru/activity/oj&qru/ta/cracking-the-coding-interview/question-ranking 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2…

Java面向对象——封装以及this关键字

封 装 封装是面向对象编程(OOP)的三大特性之一,它将数据和操作数据的方法组合在一个单元内部,并对外部隐藏其具体实现细节。在Java中,封装是通过类的访问控制修饰符(如 private、protected、public&#x…

Android Drawable转BitmapDrawable再提取Bitmap,Kotlin

Android Drawable转BitmapDrawable再提取Bitmap&#xff0c;Kotlin <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"…

C++ 结构体的对齐

C 结构体的对齐 flyfish 文章目录 C 结构体的对齐一 非对齐方式二 对齐方式示例1示例2 三 对齐到指定字节数 boundary 一 非对齐方式 也就是按照1字节对齐 #pragma pack(1) typedef unsigned char BYTE; typedef struct message {BYTE a[4];BYTE b[2];BYTE *c;BYTE d[4];} M…

阿里云ECS服务器企业级和共享型介绍_企业级常见问题解答FAQ

阿里云企业级服务器是什么&#xff1f;企业级和共享型有什么区别&#xff1f;企业级服务器具有独享且稳定的计算、存储、网络资源&#xff0c;如ECS计算型c6、通用型g8等都是企业级实例&#xff0c;阿里云百科分享什么是企业级云服务器、企业级实例的优势、企业级和共享型云服务…

如何收缩wsl2虚拟磁盘

简介 WSL2使用虚拟化层为它带来更高的性能和兼容性。但是&#xff0c;WSL2 的少数缺点之一是它使用虚拟磁盘 &#xff08;VHDX&#xff09; 来存储文件系统。这意味着您的虚拟磁盘占用了 100GB&#xff0c;但 WSL2 只需要 15GB... 所以要寻找一种缩小 WSL2 虚拟磁盘的方法&…

​Redis概述

目录 Redis - 概述 使用场景 如何安装 Window 下安装 Linux 下安装 docker直接进行安装 下载Redis镜像 Redis启动检查常用命令 Redis - 概述 redis是一款高性能的开源NOSQL系列的非关系型数据库,Redis是用C语言开发的一个开源的高键值对(key value)数据库,官方提供测试…

Leetcode每日一题:1444. 切披萨的方案数(2023.8.17 C++)

目录 1444. 切披萨的方案数 题目描述&#xff1a; 实现代码与解析&#xff1a; 二维后缀和 动态规划 原理思路&#xff1a; 1444. 切披萨的方案数 题目描述&#xff1a; 给你一个 rows x cols 大小的矩形披萨和一个整数 k &#xff0c;矩形包含两种字符&#xff1a; A …

根据Dockerfile创建容器案例讲解

-f为dokerfile的路径&#xff0c; -t为新镜像的名称及版本。 后面这个点是寻址路径。

【第三阶段】kotlin语言的字符串遍历操作

fun main() {val str1:String"AFWSDKFJWIUHGWINUWVRV"str1.forEach(){ it->println("所有字符&#xff1a;$it")} }执行结果

移动折叠隔断设计,自由与灵感的展现

移动折叠隔断设计可以展现自由与灵感的多样性&#xff0c;以下是一些相关的设计思路&#xff1a; 多样的材质选择&#xff1a;折叠隔断可以采用各种材质&#xff0c;如玻璃、木材、金属等&#xff0c;每种材质都有独特的质感和表现力。可以根据设计需求选择合适的材质&#xff…