记一次一波三折的众测SRC经历
视频教程和更多福利在我主页简介或专栏里
(不懂都可以来问我 专栏找我哦)
目录:
前言
波折一:RCE漏洞利用失败
波折二:SQL时间盲注
波折三:寻找管理后台
总结
前言
先谈个人SRC心得体会吧,我虽然很早前就体验过挖掘SRC来锻炼自己,但真正坚持下来大概是从去年3月初开始。一开始主要是逛公益SRC平台和教育SRC,动作有点慢,经常遇到报告提交前人吃肉后人喝汤的局面,而且赚不到米,慢慢进入补天SRC开始挖掘小企业和众测。因为之前算是做过几个渗透测试的项目,所以自始至终我都把关注重点放在”交互”上,而且,关键也在于”信息收集”上,只要足够细心和耐心慢慢就有了产出。
本文下面记录一次不断碰到难题不断解决难题的的众测SRC实战,为期三四天,文章不算长,请耐心看完。开局发现是一个搞外贸的企业的信息发布网站。
波折一:RCE漏洞利用失败
通过信息搜集发现网站框架为thinkphp。作为曾经的程序员,我知道ThinkPHP是一个广泛使用的PHP开发框架,但历史上存在多个安全漏洞,尤其是远程代码执行(RCE)漏洞非常好利用。
于是第一反应就是祭出神器Liqun工具箱-1.5进行漏洞扫描与利用,奇怪的是,虽然利用exp工具能够扫描出来确实存在rce漏洞,但是无法成功利用执行命令whoami,多次尝试反弹shell到我的vps也是没有成功。
分析问题出现原因:
-
可能是工具误报,目标系统并未真正存在该漏洞。
-
可能是目标系统部署了WAF(Web应用防火墙),拦截了攻击请求。
时间宝贵啊于是只能放弃这里的进攻点,去寻找新的突破口。
波折二:SQL时间盲注
这里必须要安利一个好用的burpsuite插件,xia_sql,能够被动检测SQL注入漏洞。通过前端不断点击与后台交互的功能点,找到一处存在注入点,但坑的是没有数据回显,只能使用时间盲注。
更坑的是后台居然过滤了OR 和 AND 关键字,还有空格字符,or可以用||
替代,而and可以用&&
替代,对于空格字符常见的绕过思路是:
-
space2plus
:-
将空格替换为
+
。 -
示例:
UNION SELECT
->UNION+SELECT
。
-
-
space2hash
:-
将空格替换为
%23
(即#
,URL编码)。 -
示例:
UNION SELECT
->UNION%23SELECT
。
-
-
space2blank
:-
将空格替换为其他空白字符(如
%09
、%0A
等)。 -
示例:
UNION SELECT
->UNION%09SELECT
。
-
-
space2randomblank
:-
将空格替换为随机的空白字符(如
%09
、%0A
、%0C
等)。 -
示例:
UNION SELECT
->UNION%0ASELECT
。
-
如下图,因为网站有关键字符过滤,所以sqlmap跑不出任何信息
补充一个知识点:Tamper脚本是SQLMap中用于修改请求数据的脚本,能够对注入语句进行编码、混淆或其他处理,以绕过WAF或其他过滤机制。
最终编写了一个sqlmap的tamper脚本space2randomblank_and_keywords
,成功绕过,获取到数据库信息,尤其是管理员账号密码
-
#!/usr/bin/env python
-
"""
-
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/)
-
See the file 'LICENSE' for copying permission
-
"""
-
import random
-
from lib.core.enums import PRIORITY
-
__priority__ = PRIORITY.NORMAL
-
def dependencies():
-
pass
-
def tamper(payload, **kwargs):
-
"""
-
将空格替换为随机的空白字符(如 %09, %0A, %0C 等)
-
例如:UNION SELECT -> UNION%0ASELECT 或 UNION%09SELECT
-
"""
-
if payload:
-
# 定义可用的空白字符
-
blank_chars = ["%09", "%0A", "%0C", "%0D"]
-
# 替换空格为随机的空白字符
-
payload = payload.replace(" ", random.choice(blank_chars))
-
# 替换 OR 和 AND 关键字
-
payload = payload.replace("OR", "||") # 替换 OR 为 ||
-
payload = payload.replace("AND", "&&") # 替换 AND 为 &&
-
return payload
利用tamper脚本跑出banner
利用tamper脚本跑出数据库中所有表名,重要的是admin表和user表
最终成功利用sqlmap跑出管理员账户密码为XXXX/XXXX888(因为数据敏感所以这里不放图了)
波折三:寻找管理后台
经常打SRC的大佬都知道接下来要扩大战果就是进管理后台了,但是我死活找不到该thinkphp网站的管理后台:
先是通过常规路径尝试,因为一般thinkphp框架的后台路径默认是/admin/但是这里报错显示无法加载模块admin
接着通过路径扫描工具,如dirsearch/御剑等路径扫描工具fuzz后台路径,还是无果
用了五六款工具和一个小时了,还是搞不进去,有点“难受香菇”啊。
只要努力奇迹还是可能出现的哈哈,最终通过C段扫描找到该公司下属的其他业务系统(即OA办公系统)管理后台。
利用之前获取的管理员账号密码是企业名称简写/企业名称简写+888
,进一步生成若干组合弱口令攻击和撞库,成功进入OA办公系统后台。在获取管理后台权限后,可以进一步探索系统内部,寻找更多敏感信息或漏洞。
打完~~~~收工,最后提一句厂家给了中危300大洋,谢谢厂家审核大大哈哈!
总结
目标系统存在SQL注入漏洞,而且是比较难利用的时间盲注,过滤了or/and/空格等关键字符。在实际渗透测试中,Tamper脚本是非常有用的工具,能够显著提高SQL注入攻击的成功率。后台路径隐藏较深,增加了攻击难度。通过C段扫描和组合口令攻击,成功进入管理后台,暴露了系统的防御问题。
我觉得,渗透测试中要心平静气,仔细观察每一个服务器/客户端交互的数据包,一条道走不通灵活地换一条道,山穷水复疑无路,柳暗花明又一村。为了提高渗透效率,还要不断地提高工具编写能力,平时多学习网站前后台交互的底层原理。
视频教程和更多福利在我主页简介或专栏里
(不懂都可以来问我 专栏找我哦)
申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关
相关文章:

记一次一波三折的众测SRC经历
视频教程和更多福利在我主页简介或专栏里 (不懂都可以来问我 专栏找我哦) 目录: 前言 波折一:RCE漏洞利用失败 波折二:SQL时间盲注 波折三:寻找管理后台 总结 前言 先谈个人SRC心得体会吧,我虽…...
Laravel从入门到上云
大家好,今天给大家介绍一下PHP的经典框架Laravel。 本文假定你已经安装好了PHP执行环境,并且使用PHP版本为PHP8.0以上。 首先,让我们来安装Laravel框架,执行命令:composer create-project laravel/laravel 命令执行…...
【小游戏】C++控制台版本俄罗斯轮盘赌
制作团队:洛谷813622(Igallta) 989571(_ayaka_) Mod:_ayaka_ 双人模式:Igallta 公告: 原先的9.8改名为 Alpha 1.0,以后每次更新都增加 0.1。 Alpha 1.11 改为 Beta 1…...

【前端】使用WebStorm创建第一个项目
文章目录 前言一、步骤1、启动2、创建项目3、配置Node.js4、运行项目 二、Node.js介绍 前言 根据前面文章中记录的步骤,已经安装好了WebStorm开发软件,接下来我们就用这个IDE开发软件创建第一个项目。 一、步骤 1、启动 启动软件。 2、创建项目 新建…...

前后端项目部署服务器(传统部署和Docker部署)
内外网 开发环境连外网(8.140.26.187),测试/生产环境连内网(172.20.59.17) 内外网地址不同,但指定的库是同一个 内网IP地址范围包括: 10.0.0.0 到 10.255.255.255172.16.0.0 到 172.31.2551…...

C++,设计模式,【工厂方法模式】
文章目录 如何用汽车生产线理解工厂方法模式?一、传统生产方式的困境二、工厂方法模式解决方案三、模式应用场景四、模式优势分析五、现实应用启示✅C++,设计模式,【目录篇】 如何用汽车生产线理解工厂方法模式? 某个早晨,某车企CEO看着会议室里堆积如面的新车订单皱起眉…...
golang--字符串处理(rune类型)
在 Go 语言中,rune 类型是一个非常重要的基础类型,用于处理 Unicode 字符。以下是关于 rune 类型的详细用法说明: 一、基础概念 类型定义 rune 是 int32 的别名(type rune int32),表示一个 Unicode 码点&a…...
如何通过AI优化敏捷开发中的任务管理与分配?
用ChatGPT做软件测试 在现代软件开发中,敏捷开发(Agile)已成为一种广泛采用的开发方法论,其核心思想是强调快速响应变化、与客户的持续沟通以及团队协作的高效性。然而,随着项目规模的不断扩大,敏捷开发面临…...

第1章大型互联网公司的基础架构——1.11 消息中间件技术
消息队列(Message Queue)是分布式系统中最重要的中间件之一,在服务架构设计中被广泛使用。 1.11.1 通信模式与用途 消息中间件构建了这样的通信模式: 一条消息由生产者创建,并被投递到存放消息的队列中;…...

FlutterAssetsGenerator插件的使用
在Plugins中找到FlutterAssetsGenerator插件,点击安装。 更改生成的资源索引类可以修改名字。 在根目录下创建assets/images文件夹,用于存储图片。 点击images文件夹,鼠标右键点击Flutter:Configuring Paths,pub…...

EasyExcel 自定义头信息导出
需求:需要在导出 excel时,合并单元格自定义头信息(动态生成),然后才是字段列表头即导出数据。 EasyExcel - 使用table去写入:https://easyexcel.opensource.alibaba.com/docs/current/quickstart/write#%E4%BD%BF%E7%94%A8table%E…...

网络运维学习笔记 012网工初级(HCIA-Datacom与CCNA-EI)某机构新增:GRE隧道与EBGP实施
文章目录 GRE隧道(通用路由封装,Generic Routing Encapsulation)协议号47实验:思科:开始实施: 华为:开始实施: eBGP实施思科:华为: GRE隧道(通用路…...
【系列专栏】银行IT的云原生架构-存储架构-数据库部署 10
银行 IT 的云原生架构:存储架构(数据库部署) 一、引言 在银行 IT 云原生架构的构建中,存储架构作为关键支撑,其性能、可靠性和扩展性直接影响着银行各类业务系统的运行效率与数据安全。而数据库作为数据存储与管理的…...
Python 爬虫selenium
1.selenium自动化 selenium可以操作浏览器,在浏览器页面上实现:点击、输入、滑动 等操作。 不同于selenium自动化,逆向本质是: 分析请求,例如:请求方法、请求参数、加密方式等。用代码模拟请求去实现同等…...
为啥vue3设计不直接用toRefs,而是reactive+toRefs
Vue 3 设计中将 reactive 和 toRefs 结合使用而非直接使用 toRefs,主要基于以下设计考量: 1. 响应式粒度的不同需求 reactive 适用于对象整体响应式 reactive 会为整个对象创建响应式代理,自动追踪对象内部所有属性的变化。这种设计适用于需要…...

深入解析 vLLM:高性能 LLM 服务框架的架构之美(二)调度管理
深入解析 vLLM:高性能 LLM 服务框架的架构之美(一)原理与解析 深入解析 vLLM:高性能 LLM 服务框架的架构之美(二)调度管理 1. vLLM 调度器结构与主要组件 在 vLLM 中,调度器的结构设计围绕任务…...
VMware安装教程
一、安装VMware软件 1. 安装前准备 系统要求: 操作系统:Windows 10/11 或 Linux(如Ubuntu、CentOS)。硬件要求: CPU:支持虚拟化技术(Intel VT-x 或 AMD-V),需在BIOS中启…...

iOS事件传递和响应
背景 对于身处中小公司且业务不怎么复杂的程序员来说,很多技术不常用,你可能看过很多遍也都大致了解,但是实际让你讲,不一定讲的清楚。你可能说,我以独当一面,应对自如了,但是技术的知识甚多&a…...

TensorFlow 实现任意风格的快速风格转换
一、什么是风格迁移? 风格迁移(Style Transfer)是一种利用深度学习技术,将一幅图像的内容与另一幅图像的艺术风格相结合,生成新图像的技术。其核心思想是将图像的“内容”和“风格”分离,再重新组合&#…...

火绒终端安全管理系统V2.0【系统防御功能】
火绒企业版V2.0系统防御功能包含系统加固、应用加固、软件安装拦截、摄像头保护和浏览器保护。火绒终端安全管理软件V2.0守护企业用户终端安全。 系统防御 1. 系统加固 系统加固功能根据火绒提供的安全加固策略,当程序对特定系统资源操作时提醒用户可能存在的安…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...
【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?
FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...