前言
先谈个人SRC心得体会吧,我虽然很早前就体验过挖掘SRC来锻炼自己,但真正坚持下来大概是从去年3月初开始。一开始主要是逛公益SRC平台和教育SRC,动作有点慢,经常遇到报告提交前人吃肉后人喝汤的局面,而且赚不到米,慢慢进入补天SRC开始挖掘小企业和众测。因为之前算是做过几个渗透测试的项目,所以自始至终我都把关注重点放在”交互”上,而且,关键也在于”信息收集”上,只要足够细心和耐心慢慢就有了产出。
本文下面记录一次不断碰到难题不断解决难题的的众测SRC实战,为期三四天,文章不算长,请耐心看完。开局发现是一个搞外贸的企业的信息发布网站。
![图片[1]-记一次一波三折的众测SRC经历-华盟网](https://www.77169.net/wp-content/uploads/2026/05/640-776449cf.png)
波折一:RCE漏洞利用失败
通过信息搜集发现网站框架为thinkphp。作为曾经的程序员,我知道ThinkPHP是一个广泛使用的PHP开发框架,但历史上存在多个安全漏洞,尤其是远程代码执行(RCE)漏洞非常好利用。
![图片[2]-记一次一波三折的众测SRC经历-华盟网](https://www.77169.net/wp-content/uploads/2026/05/640-3fc99546.png)
于是第一反应就是祭出神器Liqun工具箱-1.5进行漏洞扫描与利用,奇怪的是,虽然利用exp工具能够扫描出来确实存在rce漏洞,但是无法成功利用执行命令whoami,多次尝试反弹shell到我的vps也是没有成功。
![图片[3]-记一次一波三折的众测SRC经历-华盟网](https://www.77169.net/wp-content/uploads/2026/05/640-8dc3c799.png)
![图片[4]-记一次一波三折的众测SRC经历-华盟网](https://www.77169.net/wp-content/uploads/2026/05/640-21922ee9.png)
分析问题出现原因:
-
可能是工具误报,目标系统并未真正存在该漏洞。 -
可能是目标系统部署了WAF(Web应用防火墙),拦截了攻击请求。
时间宝贵啊于是只能放弃这里的进攻点,去寻找新的突破口。
波折二:SQL时间盲注
这里必须要安利一个好用的burpsuite插件,xia_sql,能够被动检测SQL注入漏洞。通过前端不断点击与后台交互的功能点,找到一处存在注入点,但坑的是没有数据回显,只能使用时间盲注。
![图片[5]-记一次一波三折的众测SRC经历-华盟网](https://www.77169.net/wp-content/uploads/2026/05/640-c6d19e5b.png)
更坑的是后台居然过滤了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跑不出任何信息
![图片[6]-记一次一波三折的众测SRC经历-华盟网](https://www.77169.net/wp-content/uploads/2026/05/640-d25cb53e.png)
补充一个知识点: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
![图片[7]-记一次一波三折的众测SRC经历-华盟网](https://www.77169.net/wp-content/uploads/2026/05/640-23a11999.png)
利用tamper脚本跑出数据库中所有表名,重要的是admin表和user表
![图片[8]-记一次一波三折的众测SRC经历-华盟网](https://www.77169.net/wp-content/uploads/2026/05/640-0115271c.png)
最终成功利用sqlmap跑出管理员账户密码为XXXX/XXXX888(因为数据敏感所以这里不放图了)
波折三:寻找管理后台
经常打SRC的大佬都知道接下来要扩大战果就是进管理后台了,但是我死活找不到该thinkphp网站的管理后台:
先是通过常规路径尝试,因为一般thinkphp框架的后台路径默认是/admin/但是这里报错显示无法加载模块admin
![图片[9]-记一次一波三折的众测SRC经历-华盟网](https://www.77169.net/wp-content/uploads/2026/05/640-3a8bbc74.png)
接着通过路径扫描工具,如dirsearch/御剑等路径扫描工具fuzz后台路径,还是无果
![图片[10]-记一次一波三折的众测SRC经历-华盟网](https://www.77169.net/wp-content/uploads/2026/05/640-a48c3578.png)
用了五六款工具和一个小时了,还是搞不进去,有点“难受香菇”啊。
只要努力奇迹还是可能出现的哈哈,最终通过C段扫描找到该公司下属的其他业务系统(即OA办公系统)管理后台。
![图片[11]-记一次一波三折的众测SRC经历-华盟网](https://www.77169.net/wp-content/uploads/2026/05/640-b2d8bb86.png)
![图片[12]-记一次一波三折的众测SRC经历-华盟网](https://www.77169.net/wp-content/uploads/2026/05/640-8aa9c4da.png)
利用之前获取的管理员账号密码是企业名称简写/企业名称简写+888,进一步生成若干组合弱口令攻击和撞库,成功进入OA办公系统后台。在获取管理后台权限后,可以进一步探索系统内部,寻找更多敏感信息或漏洞。
打完~~~~收工,最后提一句厂家给了中危300大洋,谢谢厂家审核大大哈哈!
总结
目标系统存在SQL注入漏洞,而且是比较难利用的时间盲注,过滤了or/and/空格等关键字符。在实际渗透测试中,Tamper脚本是非常有用的工具,能够显著提高SQL注入攻击的成功率。后台路径隐藏较深,增加了攻击难度。通过C段扫描和组合口令攻击,成功进入管理后台,暴露了系统的防御问题。
我觉得,渗透测试中要心平静气,仔细观察每一个服务器/客户端交互的数据包,一条道走不通灵活地换一条道,山穷水复疑无路,柳暗花明又一村。为了提高渗透效率,还要不断地提高工具编写能力,平时多学习网站前后台交互的底层原理。
申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,
所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.












![工作组渗透 [ 内网搜集实战 ] [ 上 ]-华盟网](https://www.77169.net/wp-content/uploads/2019/02/1-1550625497.jpeg)
暂无评论内容