实战内测-某内测项目站点FUZZ到Sql注入

news2024/11/15 20:47:29

0x1 前言

下面给师傅们分享的案例呢是前段时间实战的一个站点,也是我朋友前段时间让我测的一个站点。整体的测试流程也还算ok,然后里面有些细节要是对师傅们有帮助可以收藏下,后面主要是利用FUZZ打了一个sql注入漏洞上去。

0x2 fuzz和sql结合的简介

fuzz简介

fuzz其实就是一种对请求参数的模糊测试,简单来说就是对一个接口的某个参数或多个参数用自定义的内容进行批量提交,根据接口返回内容来判断自定义内容参数对接口的影响。

常见的sql注入绕过waf有两种方式,一种是利用waf可能存在的http协议解析缺陷来绕过waf,另外一种是利用各种方式来包装sql注入语句进行混淆来绕过waf的规则库。

图片

fuzz方法分类

  1. 黑盒模糊测试:黑盒测试又称为功能测试,主要检测软件的每一个功能是否能够正常使用。在测试过程中,将程序看成不能打开的黑盒不考虑程序内部结构和特性的基础上通过程序接口进行测试,检查程序功能是否按照设计需求以及说明书的规定能够正常打开使用。

  2. 白盒模糊测试:白盒测试也称为结构测试,主要应用于单元测试阶段,检测软件编码过程中的错误。程序员的编程经验、对编程软件的掌握程度、工作状态等因素都会影响到编程质量,导致代码错误。

  3. 灰盒模糊测试:是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。

浅谈

首先来说说造轮子的原理,fuzz是对某个接口的一个参数或多个参数进行自定义参数批量请求的模糊测试,sql注入的漏洞成因是某个接口中后端没有对某个参数或多个参数的内容进行过滤并将参数内容直接合并到sql语句中进行查询,waf的防御原理是解析http请求,对里面每个参数的内容根据规则库进行匹配,那么通过fuzz结合sql注入对waf进行绕过的原理也就显而易见了。

0x3 fuzz使用工具Arjun

Arjun是一款可以找到URL端点查询参数的工具。Web应用程序使用参数(或查询)来接受用户输入,此工具可以帮助渗透测试人员方便查找隐藏的参数。

https://github.com/s0md3v/Arjun

图片

下载github项目,使用python安装,安装完成以后,—help显示下面的界面就可以了

python3 setup.py install

arjun --help

图片

0x4 信息收集+资产收集

浅谈

首先这次渗透测试是我朋友叫我帮他对该网站进行一个测试(已授权,未授权禁止测试),是一个科技园公司的一个网站,首先也是对该网站进行一个信息收集,然后对该网站的域名进行一个资产收集,直接对这个网站的主域名进行测试比较难,那么我们就可以去看看利用FOFA或者鹰图之类的空间引擎包括爱企查等进行一个边缘资产的收集。

这里直接上FOFA,然后匹配到了一些网站,然后我访问了几个

图片

发现访问了好几个站点都是下面的页面,没什么信息收集的价值

图片

在FOFA上收集到的资产太少了,换个鹰图试试

图片

然后找到了几个该公司域名下面的几个子网站,都是些功能点很少的网站,
然后我就对这几个网站简单的测试,暂时没有测出什么漏洞

图片

Arjun工具FUZZ 一下

可以看到这个网站存在能够解析php后缀的,那么我们就可以尝试使用Arjun工具来测试php后面的一些参数,比如常见的about.php?id=xxx或者about.php?file=xxx等参加的sql注入的一个参数测试,拿这个工具帮我们自动化跑一下

图片

可以看到下面的结果显示了一个found:id 看到这个就说明工具fuzz出来了后缀参数就是id

arjun -u "ip/about.php"

--passive 参数用于指示 Arjun 执行被动扫描。被动扫描不会直接向目标发起请求,而是根据目标页面的响应来推测可能的参数。这种扫描方法对目标站点的影响较小,也不容易被检测到。

图片

那我们目前已经测试出来了这个id是参数变量,那么我们就可以去手动或者直接使用bp抓包去遍历下id后面的参数呢

图片

通过bp里面1-1000参数进行爆破,发现确实存在sql注入,里面bp字段爆红是因为使用的HAE插件,我里面添加了sql注入一些常见的敏感参数

图片

师傅们可以看到下面的?id=15页面报错了,很显然存在sql注入漏洞了

图片

0x5 FUZZ到sql注入

时间盲注

因为上面这个网站存在sql注入漏洞,那么我这里就直接简单的利用下sleep函数打一个时间盲注看看能不能行,时间延迟5秒

下面的几个sleep时间盲注的闭合语句,师傅们可以看着来进行一个匹配测试

判断注入
15' and if(15,sleep(5),3)--+
15" and if(15,sleep(5),3)--+
15) and if(15,sleep(5),3)--+
15 and if(15,sleep(5),3)--+

后来我是使用/about.php?id=15 and if(15,sleep(5),3)--+这个闭合来打了一个时间盲注,并且成功延迟了5秒

图片

sqlmap一把梭

这里判断出来了闭合点,那么也就可以直接丢sqlmap里面跑下,但是里面有些绕字段什么的比较慢,但是后面也是跑出来了这个站点的数据库名

python sqlmap.py -u ip?id=15 --batch --random-agent --dbs

图片

像这样的站点,其实你在一个功能点发现存在sql注入,其实在别的功能点也能找到相关的漏洞,就拿那个sql注入来举例,其实后面的这几个功能点都存在sql注入漏洞

因为都是能够解析php文件,然后后面都是可以匹配 ?id 参数,所有都是可以去测试下,然后打包下这个网站的所有漏洞,这不一下就扩大了危害了嘛

图片

可以看到别的php功能点也是都存在的,可以看到上面的页面图标在延迟跳转5秒

图片

0x6 总结

上面就是对这次渗透测试项目的一个复盘了,总的来说还是有收获的,利用工具fuzz然后打到sql注入漏洞,这一套渗透测试流程希望对师傅们有些帮助哈!

更多网络安全优质免费学习资料与干货教程加v

送渗透工具、技术文档、书籍,面试题、视频(基础到进阶。环境搭建,HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等)、应急响应笔记、学习路线。

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。

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

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

相关文章

MAC安装acl

在编译前,需要先从 github https://github.com/acl-dev/acl 下载源码,国内用户可以选择从 gitee https://gitee.com/acl-dev/acl 下载源码。 3.1、Linux/Unix 平台上编译安装 在 Linux/Unix 平台上的编译非常简单,可以选择使用 make 方式或 …

【高校科研前沿】马里兰大学地理科学系在环境科学Top期刊发文:美国本土湿地因不透水面而损失的热点区域

1.文章简介 论文名称:Hotspots of wetland loss to impervious surfaces in the conterminous United States(美国本土湿地因不透水面而损失的热点区域) 第一作者及单位:Zhenhua Zou(马里兰大学(美国)|助理研究教授&a…

Widget自定义动画按钮实战(鼠标进入则放大,离开恢复)

目录 引言 准备工作 步骤一:创建项目和基础控件 步骤二:设计UI 步骤三:自定义按钮类(AniBtn) 步骤四:在主窗口中使用自定义按钮 步骤五:编译和运行 总结 引言 在Qt开发中,自…

226翻转二叉树

解题思路: \qquad 树相关的题,大部分都可以通过递归来解决。因为树结构(尤其是二叉树)天然地具有递归发展的性质:对于二叉树的每个树节点,都有一个左节点和一个右节点,且能无限重复延伸。 \qqu…

World of Warcraft [retail] 100G download 2024.07.31

正式服 D:\Battle.net\World of Warcraft\_retail_

微信小程序-选中文本时选中checkbox

1.使用labe嵌套住checkbox标签 <label class"label-box"> <checkbox >匿名提交</checkbox> </label>2.使checkbox和label组件在同一行 .label-box{display: flex;align-items: center; }效果图 此时选中文本匿名提交&#xff0c;checkbox…

ft232 win10驱动

ft232 win10驱动 https://ftdichip.com/drivers/d2xx-drivers/

2024年导游资格证考试报名照很严格!

2024年导游资格证考试报名照很严格&#xff01; #导游证考试 #导游证 #导游资格证考试 #导游资格证 #全国导游证考试 #导游证报名

初学者如何快速掌握工程项目管理软件?

国内外主流的10款工程项目管理系统软件对比&#xff1a;PingCode、Worktile、金蝶EAS、用友NC、汉得信息H3 BPM、SAP ERP、Wrike、Zoho Projects、Accelo、Celoxis。 选择合适的工程项目管理系统软件往往令许多项目经理和团队感到头痛。这不仅关系到项目的效率和成功率&#xf…

C++初学(8)

8.1、string类简介 现在可以用string类型的变量而不是字符数组来存储字符串&#xff0c;string类也用的会比数组简单&#xff0c;同时提供了将字符串作为一种数据类型的表示方式。 要使用string类&#xff0c;必须在程序中包含头文件string。string类位于名称空间std中&#…

昇思25天学习打卡营第XX天|GAN图像生成

感觉顺序要调整下&#xff0c;先GAN再DCGAN再Diffusion 生成式对抗网络&#xff08;GAN&#xff09;是一种前沿的无监督学习模型&#xff0c;由Goodfellow在2014年提出。它包含生成器和判别器两个对抗组件&#xff1a;生成器负责创造逼真的假图像&#xff0c;判别器则判断图像…

多语种语音合成数据,拓宽语音大模型边界

近期&#xff0c;一个名为 ChatTTS 的文本转语音项目爆火出圈&#xff0c;在 GitHub 上已经斩获了 28 k 的 Star 量。 作为一款专门为对话场景设计的语音生成模型&#xff0c;ChatTTS 支持英文和中文两种语言。针对对话式任务进行了优化&#xff0c;实现了自然流畅的语音合成。…

PG物理复制剖析

文章目录 一、物理复制概述二、同步流复制三、pg_basebackup原理源码剖析主流程具体过程 四、主从原理基本介绍1、 WAL日志文件复制2、流复制&#xff08;Streaming Replication&#xff09; 主从原理主从间的通信walsender与walreceiver过程发生故障时的行为扩展问题 一、物理…

KylinSP3 | 一篇搞定金砖信息技术应用创新赛Docker容器集群管理

KylinSP3 | 一篇搞定金砖信息技术应用创新赛Docker容器集群管理 一、知识准备1. Docker介绍2. 四大对象2.1 镜像2.2 容器2.3 网络2.4 数据卷3. Namespace介绍3.1 PID 名字空间3.2 net名字空间3.3 ipc名字空间3.4 mnt 名字空间3.5 uts名字空间3.6 user名字空间4.Docker底层原理-…

linux离线环境下安装anaconda

文章目录 背景下载及传输安装包传输安装包到linux服务器安装anacondash执行安装命令回车接受许可修改安装路径等待解压安装包添加用户环境变量 测试anaconda重新打开终端查看虚拟环境及路径使用ipython进行测试 参考文献 背景 基于内网离linux线环境下&#xff0c;且账号无roo…

Mojo编程语言:AI开发者的未来之选——代码实战解析

1. 引言 在人工智能&#xff08;AI&#xff09;领域&#xff0c;编程语言的选择对于开发效率和性能至关重要。随着AI技术的快速发展&#xff0c;开发者们对编程语言的需求也在不断演变。在这样的背景下&#xff0c;Mojo编程语言应运而生&#xff0c;它以其独特的特性和优势&am…

尚品汇-CompletableFuture异步编排-优化商品详情页(二十五)

目录&#xff1a; &#xff08;1&#xff09;创建异步对象 &#xff08;2&#xff09;计算完成时回调方法 &#xff08;3&#xff09;线程串行化与并行化方法 &#xff08;4&#xff09;多任务组合 &#xff08;5&#xff09;优化商品详情页 &#xff08;1&#xff09;创…

开启智能开发的新纪元:探索 GPT-4o mini 模型的无限可能

引言 随着人工智能技术的飞速发展&#xff0c;大型语言模型已成为推动软件开发和创新的关键力量。OpenAI 最新发布的 GPT-4o mini 模型以其卓越的性能和极具竞争力的价格&#xff0c;为开发者社区带来了新的活力。本文将探讨 GPT-4o mini 模型的特性&#xff0c;以及它如何帮助…

python ix什么意思

Pandas库中有iloc和loc以及ix可以用来索引数据&#xff0c;抽取数据。ix是一种混合索引&#xff0c;字符型标签和整型数据索引都可以。 在pandas版本0.20.0及其以后版本中&#xff0c;ix已经不被推荐使用&#xff0c;建议采用iloc和loc实现ix。这是为什么呢&#xff1f;这是由…

19017 编译依赖问题(拓扑排序)

这个问题可以通过拓扑排序来解决。拓扑排序是一种对有向无环图&#xff08;DAG&#xff09;进行排序的算法&#xff0c;它会按照依赖关系生成一个线性序列。在这个问题中&#xff0c;我们可以将文件的依赖关系看作是一个有向无环图&#xff0c;然后使用拓扑排序来生成编译顺序。…