当前位置: 首页 > news >正文

漏洞发现-web应用发现探针类型利用(43)

关于在真实环境下面,这个漏洞该如何发现

这里老师把它分成了三块第一类是

#已知cms

如常见的dedecms,discuz,wordpress等源码结构,这些都是网上比较知名的php源码的cms的名称,这是我们在国内常见的几个程序,论坛discuz,博客wordpress是很常见的;他们都有个特性,他们的源码是在网上可以下载到的,我们都可以去用他的源码去搭建网站,我称之为cms;他们使用网上公开的源码搭建的网站。

针对这种网站我们用什么方法进行检测,一般采用公开漏洞进行攻击,如果没有就可以采用白盒代码审计来自行挖掘漏洞,

#开发框架

如常见的thinkphp(php),spring(java),flask(python)等开发的源码程序,这个thinkphp开发框架比较知名就是很多php网站都采用这个框架开发的;这种源码程序的测试思路:先获取对方开发框架的信息(例如名字和版本),通过公开的框架类漏洞进行安全测试,如果漏洞没有就进行白盒代码审计,这些框架在网上都可以下载到。

开发框架是对面程序的整体或者核心是用这个框架支撑的,框架以及提前给写好了,框架就跟开发引用的模块一样,比如一个文件上传,不用框架就一个一个代码写,用框架就直接引用框架,框架就是封装好的功能代码,

#未知cms

他分位两种一种可能是公司内部的,网上识别并不出来,第二种是对某cms进行了二次开发,对部分源码修改一下,但还是保留了一部分之前的;还有一种完全没有引用框架是自己一点点开发的,一般是大企业才会这样,或者个人内部;针对此类的先判断他是不是二次开发的,如果是还是cms的整体架构,用已知cms进行测试;不能确定的,我们可以用常规类综合工具和脚本去探侦扫描,也可以进行人工探针(功能点,参数,盲猜)。

功能点:比如想测试文件上传漏洞,就去找有文件上传的功能点操作。

#详解已知cms

既然是已知cms,我们可以先去漏洞平台寻找有没有公开的漏洞,

工具框架,就是针对的特定的一些已知cms的东西,比如wpscan就是针对wordpress的扫描工具,上面刚刚提到的三个已知cms都有直接特定的扫描工具,

代码审计主要分为三中,从函数点挖掘,从功能点挖掘,从框架类挖掘,

#详解开发框架

主流个的三个开发语言,php里面比较知名的框架yii,laravel,thinkphp。java框架shiro,struts,spring,maven。python框架,flask,django,tornado。

#详解未知cms

工具框架,我们不知道他是什么情况,就使用工具帮我们去扫描,例如xray,awvs。还有人工探针手工的去分析他有没有漏洞,我们要分析应用功能来判断它会产生什么漏洞,例如跨站,他的有参数传递输入的东西才会在页面中显示,才会产生跨站, 这个漏洞对应要在那种地方会产生,就要去对应的地方去找。

url参数:是我们利用抓包工具或者爬虫工具,抓到地址或者网站的请求信息,我们就可以尝试修改参数,提交方法来看对方的回显,就直接盲猜比如有参数漏洞就直接试试sql注入。

##案列:开发框架类源码渗透测试报告-资讯-thinkphp,spring 

在fofa搜索了一个

打开靶场

输入个错误的url

看这里的回显错误信息,里面就写着thinkphp,

这时候就可以直接去利用thinkphp利用工具,

这个就没有漏洞,但是没有问题,我们还可以去网上搜素thinkphp5.024的漏洞利用

这些文章都可以帮助我们去测试,

还可以在漏洞平搜索公开漏洞

#spring框架漏洞演示

打卡靶场

就这个靶场了,打开虚拟机配置好靶场环境

打开打开靶场

我们看漏洞描述是在注册的时候抓包修改数据包,可以实现远程命令执行,我们看一下poc里面哪里是关于命令执行的

我们在网站注册抓包,注册抓包之后直接换成我们的pyload攻击数据包

如何我们就按照漏洞复现过程,看一下我们的容器

这里就有是我们远程执行命令创建的文件。

复现成功了。

##已知 CMS 非框架类渗透测试报告-工具脚本-wordpress

打开墨者靶场

打开靶场

我们觉得他是已知cms,第一步就是去识别他

去网上找cms识别

用这些在线网站识别他试试,除了这个还可以用cms识别工具。还可以手工去判断,直接谷歌浏览器点右键看检查,如何刷新网站看一下数据包里面有没有信息,这里就发现了复制下来

直接百度搜搜看,

就搜到了有相关的东西,可以确定他是wordpress。

接下来就可以直接百度去搜索wordpress的漏洞,或者去一些漏洞收集平台(cnvd)去搜一下看有没有关于他的漏洞,还可以直接搜索wordpress的利用工具

这些都可以对目标进行测试。

我们知道了对面是扫描cms就可以直接使用工具去打,

打开kali虚拟机直接调用wpscan

直接扫描地址

这边弹出来给报错,需要我去加上token,这个需要我们去他的官网注册账号

复制好这个token

再次开启工具

前面有一个好色感叹号的都是漏洞

这里这个sql注入找到注入点可以直接使用sqlmap跑,

这种我们发现了他的已知cms就可以利用对应的工具去测试,

##已知 CMS 非框架类渗透测试报告-代码审计-qqyewu_php

打开本地搭建和的靶场

在网搜漏洞也搜不到,因为比较小众

这时候就只能进行代码审计,打开代码审计工具

seay

直接使用代码审计的mysql语句监控

这个选项可以监控当前页面的sql语句。

刷新一下网站,点重录,之后就出现了网站所用的sql语句

然后分析那个sql语句有我们可控制的参数

别的都是数据库的参数,只有这个不像,很可能成为注入点,

因为这个是首页文件,所有就在index.php里面点开这个源码,搜索一下select

这都是html的表单,并没有找到html的语句,这种找不到就可能在包含文件里面,我们看一下他的包含文件,就打开全局搜索,直接搜索刚刚看到的sql语句,

这可能是给包含文件,搜索一下这个php文件

所以储存在这里,就可以确定这个文件是对的。

在搜索一些ywdd

这里getip是个函数,就看他调用的某个参数

然后这里sql语句的参数&ip,ip传递的是127.0.0.1,这里我们需要搜索一些getip看有它为什么得到是127.0.0.(发现这里是从数据包的首部传参的),这里就可以构造HTTP_X_FORWARDED_FOR的值来进行SQL注入。

访问网站抓包

发送出去数据包,再去看执行的sql语句

这里就更改成了8888

寻找直接必对看他显示什么数值

知道他会显示什么数据之后,在构造一下攻击语句发送出去

想要的信息全显示出来了。

这个就当与我们有对面的源码,然后通过代码审计挖掘到了这个漏洞,

xs

s

相关文章:

漏洞发现-web应用发现探针类型利用(43)

关于在真实环境下面,这个漏洞该如何发现 这里老师把它分成了三块第一类是 #已知cms 如常见的dedecms,discuz,wordpress等源码结构,这些都是网上比较知名的php源码的cms的名称,这是我们在国内常见的几个程序&#xf…...

专门针对开发人员,攻击者利用Rust获取操作系统信息

近日,研究人员在 Rust 编程语言的 crate 注册表中发现了一些恶意软件包,专门针对开发人员。 Phylum 在上周发布的一份报告中称,这些库是由一个名为 "amaperf "的用户在 2023 年 8 月 14 日至 16 日之间上传的。现已删除的软件包名…...

PHP8的箭头函数-PHP8知识详解

php 7.4 引入了箭头函数(Arrow Functions),并在 PHP 8 中得到了进一步改进和扩展。 箭头函数是一种更简洁的匿名函数形式,它们提供了一种更便捷的方式来定义轻量级的、单行的回调函数。 箭头函数的语法如下: fn (参…...

初识PHP编程:探索Web开发的起点

初识PHP编程:探索Web开发的起点 PHP(Hypertext Preprocessor)是一种广泛使用的服务器端脚本语言,专门用于Web开发。它的强大功能和简单易学的语法使得它成为初学者和专业开发者的首选。在本文中,我们将探索什么是PHP&…...

Git——Windows平台创建gitee私有仓库详解

目录 1. 安装git 2. gitbash配置 2.1 设置 2.2 生成key 2.3 项目管理 2.3.1 本地新建 2.3.2 clone远程仓库的工程到本地改文件 1. 安装git 默认安装。 2. gitbash配置 2.1 设置 打开gitbash,设置用户名和邮箱: git config --global user.name …...

Git基础教程-常用命令整理:学会Git使用方法和错误解决

目录 一、了解Git的基本概念 二、Git的安装和配置 Git的安装 Git的配置 用户信息 文本编辑器 差异分析工具 查看配置信息 三、Git的基本操作 基本原理 基本操作命令 基本操作示例 场景一:创建新仓库 场景二:拉取并编辑远程仓库 四、常见问…...

Ops实践 | 国产化KylinOS系统中快速部署企业内部高性能DNS服务器、时间同步服务器 (精选)...

各位看友,由于微信公众号推送机制改变,现在需要设置为星标才能收到的本公众号推送消息哟。关注回复【学习交流群】加入【安全开发运维】答疑交流群 请朋友们【多多点击文中的广告】,支持作者更新更多文章。 目录: 本文为作者原创文章&#xf…...

stm32之IIC协议

主要通过两个层面来讲:物理层、协议层。 IIC是一个同步半双工串行总线协议。 一、物理层(通信模型) 1、最早是飞利浦公司开发的这个协议,最早应用到其产品上去。 2、两线制(两根信号线) 其中SCL为时钟…...

范式 事务 多表查询

范式 概念:设计数据库时,需要遵循的一些规范。要遵循后边的范式要求,必须遵循前边的所有范式要求 第一范式: 数据库表的每一列都是不可分割的基本数据项 这样子就不满足第一范式 这样子就满足第一范式 存在问题: 数…...

基于白鲸算法优化的BP神经网络(预测应用) - 附代码

基于白鲸算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于白鲸算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.白鲸优化BP神经网络2.1 BP神经网络参数设置2.2 白鲸算法应用 4.测试结果:5.Matlab代码 摘要…...

java并发编程 ReentrantLock详解

文章目录 1 概要2 相关文章3 例子4 方法详解4.1 lock()4.2 unlock()4.3 tryLock()4.4 其他公平锁 总结 1 概要 ReentrantLock 通过实现Lock接口的行为,提供锁机制。但是实现委托给了内部的Sync,Sync extends AbstractQueuedSynchronizer,继承…...

Java获取文件内容IO流

文章目录 InputStream和ReaderScannerNIO外传 一般读取文件类的使用字符流即可 InputStream和Reader InputStream和Reader是Java IO中的两个重要的抽象基类,InputStream是二进制流,Reader是字符流。使用InputStream或者Reader读取文件内容可以帮助我们…...

Java后端开发面试题——集合篇

ArrayList底层的实现原理是什么 底层数据结构 ArrayList底层是用动态的数组实现的 初始容量 ArrayList初始容量为0,当第一次添加数据的时候才会初始化容量为10 扩容逻辑 ArrayList在进行扩容的时候是原来容量的1.5倍,每次扩容都需要拷贝数组 添加逻…...

如何允许远程访问MySQL

许多网站和应用程序一开始都将web服务器和数据库后端托管在同一台机器上。不过,随着时间的推移,这样的设置可能会变得繁琐和难以扩展。一种常见的解决方案是通过设置远程数据库来分离这些功能,允许服务器和数据库在各自的机器上按自己的速度增…...

001图机器学习与图神经网络简介

文章目录 一. 无处不在的图二. 如何对图数据做信息挖掘三. 图神经网络四. 图机器学习常用的编程工具五. 图的可视化工具六. 常见的图数据库七. 图机器学习的应用举例八. 结束语 一. 无处不在的图 一切具有关联关系的数据都可以用图来表示。比如:交通网、知识图谱、…...

万级数据优化EasyExcel+mybatis流式查询导出封装

文章目录 前言.万级数据优化一. 直接上流式查询封装工具代码二. 传统分页导出查询三. 流式查询概念游标查询 前言.万级数据优化 我们不妨先给大家讲一个概念,利用此概念我们正好给大家介绍一个数据库优化的小技巧: 需求如下:将一个地市表的数…...

Unity——脚本序列化

在介绍序列化之前,我们先来了解一下为什么要对数据进行序列化 数据序列化有以下几个主要的应用场景和目的: 1. 持久化存储:序列化可以将对象或数据结构转换为字节序列,使得其可以被存储在磁盘上或数据库中。通过序列化&#xff…...

es(Elasticsearch)介绍

学习es可以参考mysql(相比mysql而言,es所需的cpu、内存更多) 什么是Elasticsearch Elasticsearch简称es,是由Elastic和search组成。Elastic的意思是有弹性的,search的意思是搜索。 弹性:es是一个天生支持分…...

C++中使用 do…while 循环

C中使用 do…while 循环 在有些情况(如程序清单 6.8 所示的情况)下,您需要将代码放在循环中,并确保它们至少执行一次。此时 do…while 循环可派上用场。 do…while 循环的语法如下: do {StatementBlock; // executed…...

开源vue动态表单组件

一、项目简介 vueelement的动态表单组件,拖拽组件到面板即可实现一个表单 二、实现功能 支持拖拽 支持输入框 支持文本框 支持数字输入框 支持下拉选择器 支持多选框 支持日期控件 支持开关 支持动态表格 支持上传图片 支持上传文件 支持标签 支持ht…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

C++ 基础特性深度解析

目录 引言 一、命名空间(namespace) C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用(reference)​ C 中的引用​ 与 C 语言的对比​ 四、inline(内联函数…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

C++使用 new 来创建动态数组

问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...