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

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 installarjun --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://xiahunao.cn/news/3280190.html

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

相关文章

嵌入式学习Day17---Linux软件变编程

目录 ​编辑 一、Linux 系统 1.1.Linux服务器 1.2.Linux嵌入式 1.3.Linux系统上的软件开发 1.操作系统 2.Linux内核 3.man手册 1.4.shell命令 1.基本命令 2.文件查看命令 3.文件查找命令 4.压缩解压文件 5.其他命令 6.通配符 7.管道 8.重定向 1.5.虚拟机上网 1.NAT模式 …

【中项】系统集成项目管理工程师-第9章 项目管理概论-9.1PMBOK的发展与9.2项目基本要素

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…

旷野之间30 - 创业者如何更好的获取VC

让我们来谈谈初创公司创始人如何获得资金——以及他们为什么没有获得资金。 很多初次创业的企业家都向我咨询如何帮助他们的公司获得资金。现在,我不再做这些了,但我确实认识很多风险投资 (VC) 和天使投资者,所以我问了他们中的很多人&#…

JavaWeb开发——Eclipse安装配置教程

一、安装 1.Eclipse官方下载网站:https://www.eclipse.org/downloads/packages/ 2.点击Eclipse IDE for Enterprise Java and Web Developers进行安装 3.按需求选择操作系统的版本 4.点击DownLoad 5.打开文件并解压 6.打开文件 7.打开程序 8.配置安装 出现以…

基于站点的中国6小时PM2.5数据集(1960-2020)

基于站点的中国6小时PM2.5数据集(1960-2020) 数据介绍 几十年来,PM2.5改变了地球上的辐射平衡,增加了环境和健康风险,但直到2013年才在中国得到广泛监测。历史长期 PM2.5具有高时间分辨率的记录是必不可少的&#xff0…

《代码大全》读书笔记-第5章 软件构建的设计

有人会说,设计不是真正的构建活动。但在小项目中,包括设计在内的许多活动都被认为是构建。有些设计更关注系统级问题,许多设计工作留给构建。有些大型项目设计非常详细,导致编码成为一项机械性劳动。小型项目的设计更多的是程序员…

【Kafka】对 kafka 消费程序客户端进行监控采集

前言 对于 Kafka 组件而言,我们通常会对 kafka 服务端添加一些监控,来确保服务的稳定性,虽然有 kafka-exporter 来对消费者进行监控,但是指标很少,对于生产者和消费者更细粒度的监控就无法做到了。只能将监控部署在客…

Java | Leetcode Java题解之第307题区域和检索-数组可修改

题目&#xff1a; 题解&#xff1a; class NumArray {private int[] tree;private int[] nums;public NumArray(int[] nums) {this.tree new int[nums.length 1];this.nums nums;for (int i 0; i < nums.length; i) {add(i 1, nums[i]);}}public void update(int inde…

C++(week15): C++提高:(三)计算机网络

文章目录 一、计算机网络基础1.协议概念2.分层模型3.协议格式(1)以太网帧格式(2)IP段格式(3)TCP/UDP数据报格式4.TCP协议(1)TCP协议的特点(2)三次握手(3)四次挥手(4)SYN攻击5.状态迁移图的解析:11种状态6.TCP通信状态与程序结合分析二、网络编程(Socket编程)1.网络编程基础2.字…

快速识别音频文件转成文字

一、SenseVoice概述 阿里云通义千问开源了两款语音基座模型 SenseVoice&#xff08;用于语音识别&#xff09;和 CosyVoice&#xff08;用于语音生成&#xff09;。 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测&#xff0c;有以下特点&#xff1a; 多语言…

数据结构与算法 - 数组

一、数组 1. 概述 定义&#xff1a;在计算机科学中&#xff0c;数组是由一组元素&#xff08;值或变量&#xff09;组成的数据结构&#xff0c;每个元素有至少一个索引或键来标识。 因为数组内的元素是连续存储的&#xff0c;所以数组中元素的地址&#xff0c;可以通过其索引…

手把手教你用家用电脑完成图片和视频AI去水印功能

一.效果展示 二.video-subtitle-remover源码地址 soda151314/video-subtitle-remover: 基于AI的图片/视频硬字幕去除、文本水印去除&#xff0c;无损分辨率生成去字幕、去水印后的图片/视频文件。无需申请第三方API&#xff0c;本地实现。AI-based tool for removing hard-cod…

随堂测小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;学生管理&#xff0c;教师管理&#xff0c;试题信息管理&#xff0c;标签类型管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;考试成绩&#xff0c;试题信息&#xff0…

SOMEIPSRV_RPC_11: 字段的设定器和有效载荷

测试目的&#xff1a; 验证字段的setter方法是否按照规范要求&#xff0c;通过请求/响应调用实现&#xff0c;其中请求消息的负载包含期望的字段值&#xff0c;响应消息的负载包含已设置到字段的值。 描述 本测试用例旨在验证DUT&#xff08;Device Under Test&#xff0c;被…

【区块链+绿色低碳】碳低链 | FISCO BCOS应用案例

在碳中和、碳达峰国家战略的号召下&#xff0c;碳中和数字化、协同低碳的发展如火如荼。但是在金融业的实际场景应用中&#xff0c; 存在数据收集效率低、数据核查困难、服务单一等问题&#xff0c;痛点集中为两个&#xff1a;一是数据冗杂&#xff0c;可能会存在数据篡改&…

MySQL存储引擎和

MySQL存储引擎 在数据库中保存的是一张张有着千丝万缕关系的表&#xff0c;所以表设计的好坏&#xff0c;将直接影响着整个数据库。而在设计表的时候&#xff0c;最关注的一个问题是使用什么存储引擎。MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种…

LeetCode 144.二叉树的前序遍历 C写法

LeetCode 144.二叉树的前序遍历 思路&#x1f9d0;&#xff1a; 遍历很简单&#xff0c;但是我们需要开空间进行值的存储&#xff0c;结点个数也可以用递归进行统计&#xff0c;开好空间就可以用数组进行值的存储&#xff0c;注意下标要么用全局&#xff0c;要么指针解引用&…

Astro 实现TodoList网页应用案例

Astro 是一个现代化的静态站点生成器和前端框架&#xff0c;它具有独特的设计理念&#xff1a;岛屿架构。它允许开发人员使用组件化的方式构建内容优先的网站&#xff0c;将各种技术栈&#xff08;如React、Vue、Svelte等&#xff09;的组件无缝集成到同一个项目中。 1、创建项…

使用注意力机制的seq2seq

一、背景 1、机器翻译中&#xff0c;每个生成的词可能相关于源句子中不同的词&#xff0c;但是之前用的是最后一个RNN层出来的context。 2、加入注意力 &#xff08;1&#xff09;假设输入序列中有&#x1d447;个词元&#xff0c; 解码时间步&#x1d461;′的上下文变量是…

​LLM大模型从入门到精通(7)--企业大模型开发流程​

一、大模型项目开发的两种方式 2023年以来&#xff0c;随着ChatGPT的火爆&#xff0c;使得LLM成为研究和应用的热点&#xff0c;但是市面上大部分LLM都存在一个共同的问题&#xff1a;模型都是基于过去的经验数据进行训练完成&#xff0c;无法获取最新的知识&#xff0c;以及各…