漏洞发现-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

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

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

相关文章

如何排查 Flink Checkpoint 失败问题?

分析&回答 这是 Flink 相关工作中最常出现的问题,值得大家搞明白。 1. 先找到超时的subtask序号 图有点问题,因为都是成功没失败的,尴尬了。 借图: 2. 找到对应的机器和任务 方法很多,这里看自己习惯和公司提供…

022-从零搭建微服务-短信服务(二)

写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):https://gitee.com/csps/mingyue 源码地址(前端):https://gitee.com/csps…

两台电脑共享文件设置

步骤一:确保网络连接正常,可网线直连。 两台电脑IP设置,例: 步骤二:启用共享功能。 1.在【控制面板】中选择【网络和Internet】; 2.点击【网络和共享中心】,在左侧导航栏中,点击【…

DataX DorisWriter 插件DorisWriterManager类详细解读

DorisWriterManager 的类,用于将数据写入到 Doris 中。以下是代码的具体作用和功能解释: 导入必要的包和类: 代码开头导入了所需的包和类,包括日志记录、线程池、字符编码和其他相关工具类。类成员变量定义: 下面是一…

Python入门教程 - 判断语句(二)

目录 一、布尔类型 二、比较运算符 三、if判断语句 一、布尔类型 True False result1 10 > 5 result2 10 < 5 print(result1) print(result2) print(type(result1)) True False <class bool> 二、比较运算符 ! > < > < 比较运算的结果是布尔…

wireshark 流量抓包例题

一、题目一(1.pcap) 题目要求&#xff1a; 1.黑客攻击的第一个受害主机的网卡IP地址 2.黑客对URL的哪一个参数实施了SQL注入 3.第一个受害主机网站数据库的表前缀&#xff08;加上下划线例如abc&#xff09; 4.第一个受害主机网站数据库的名字 看到题目SQL注入&#xff0c…

Cenos7安装小火车程序动画

运维Shell脚本小试牛刀(一) 运维Shell脚本小试牛刀(二) 运维Shell脚本小试牛刀(三)::$(cd $(dirname $0)&#xff1b; pwd)命令详解 运维Shell脚本小试牛刀(四): 多层嵌套if...elif...elif....else fi_蜗牛杨哥的博客-CSDN博客 Cenos7安装小火车程序动画 一&#xff1a;替换…

numpy学习:reshape和resize

.reshape 与 .resize reshape&#xff1a;有返回值&#xff0c;所谓有返回值&#xff0c;即不对原始多维数组进行修改&#xff1b; resize&#xff1a;无返回值&#xff0c;所谓无返回值&#xff0c;即会对原始多维数组进行修改&#xff1b;

电磁式电压互感器直流电阻测试

试验目的 测量电磁式电压互感器直流电阻的目 的是检查其一次、 二次绕组的质量及回路的完整性&#xff0c; 以发现各种原因所造成的导线断裂、 接头开焊、 接触不良、 匝间短路等缺陷。 试验设备 变压器直流电阻测试仪 厂家&#xff1a; 湖北众拓高试 试验方法 一次绕组直流…

C语言的类型转换

C语言的类型转换很重要&#xff0c;经常出现&#xff0c;但是往往不被人注意&#xff0c;而在汇编代码当中就暴露无遗了。 如下列代码&#xff1a; char ch; while ((ch getchar()) ! #) putchar(ch); 反汇编后&#xff1a; .text:00401006 mov…

【文心一言】学习笔记

学习资料 《听说文心一言App霸榜了&#xff0c;那必须来一波全方位实测了》 情感陪伴&#xff1a;文心一言 App 可以充当用户的情感树洞&#xff0c;提供知心姐姐、【暖男】等角色扮演&#xff0c;为用户提供情绪疏导、情感分析、约会建议等服务。 1. 模型属性 【提示词工具…

cobbler自动化安装CentOS、windows和ubuntu

环境介绍 同时玩cobbler3.3和cobbler2.8.5 cobbler3.3 系统CentOS8.3 VMware虚拟机 桥接到物理网络 IP: 192.168.1.33 cobbler2.8.5 系统CentOS7.9 VMWare虚拟机 桥接到物理网络 IP&#xff1a;192.168.1.33 安装cobbler3.3 yum源修改 cat /etc/yum.repo.d/Cento…

指针(一)------指针概念+指针类型+野指针+指针运算+二级指针

&#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;C语言 &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &#x1f339;&#x1f339;&#x1f339;关注我带你学习编程知识 指针&#xff08;一&#xff09; 指针是什么指针…

Debezium快问快答

什么是 debezium? debezium 是一系列分布式服务的集合,这些服务可以捕获数据库中行级别的更改,应用程序可以根据这些变化来做相应的处理。 debezium 在事务日志中记录提交给每个数据库表的所有行级别的更改,每个应用程序可以只读取自己感兴趣的事务日志,并按照更改时间发…

ModaHub魔搭社区:自动化机器学习Auto-Sklearn全面详细教程

Auto-Sklearn的简介 Auto-Sklearn(基于scikit-learn库的自动化的机器学习工具)的概述 简介 Auto-Sklearn,在2015年由德国图宾根大学的研究人员提出的,最初的版本于2016年发布。auto-sklearn基于scikit-learn库进行开发,支持多种机器学习任务,包括分类、回归、时间序列…

php 权限节点的位运算

一&#xff0c;概述 在 PHP 中&#xff0c;位运算可以用来进行权限节点的判断。通常&#xff0c;每个权限节点都会用一个不同的位表示&#xff08;2的n次方&#xff0c;从0开始&#xff09;&#xff0c;可以将这些位组合成一个权限值。然后&#xff0c;可以使用位运算符来检查…

【Unity】URP屏幕后处理UI模糊效果实现

这里Canvas(1)设置为Overlay能渲染出指定UI高清&#xff0c;其他UI模糊&#xff0c;然而这做法非常不好&#xff0c;如果此时再打开UI 以及 关闭模糊效果 要将这些置顶UI 恢复到原本Canvas里&#xff0c;也就是要管理2套Canvas using System; using System.Collections; using…

【算法与数据结构】404、LeetCode左叶子之和

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;思路比较简单&#xff0c;遍历所有节点然后判断该节点是否为左叶子节点&#xff0c;如果是&#xff0c…

Python3 命令行参数

Python 提供了 getopt 模块来获取命令行参数。 $ python test.py arg1 arg2 arg3 Python 中也可以所用 sys 的 sys.argv 来获取命令行参数&#xff1a; sys.argv 是命令行参数列表。 len(sys.argv) 计算命令行参数个数。 注&#xff1a;sys.argv[0] 表示脚本名。 实例 t…

静态成员(个人学习笔记黑马学习)

1、静态成员变量 所有对象共享同一份数据在编译阶段分配内存类内声明&#xff0c;类外初始化 #include <iostream> using namespace std; #include <string>class Person { public://1 所有对象都共享一份数据//2 编译阶段就分配内存//3 类内声明&#xff0c;类外初…