实战|记一次对某站点的渗透测试(bypass)(三)

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
简介: 实战|记一次对某站点的渗透测试(bypass)

第三处漏洞:bool ssrf

上面下载下来的源码对接的是oa系统,而第一次的源码对应的是主站,所以我将重心又重新转回了oa系统

根据上方的源码可以看到增添了ueditor组件,1.4.3的jsp版本,相信大家都懂

e84a86a0ddb4f64eae5026878626ade0_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

第四处漏洞:bypass 多个waf--->getshell

又是通过新的源码,我找到了oa内一个极为隐蔽的上传点

bf243969cf59f834cc69c20457668556_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

505c6c7cea5a8c8965ab766660e3904b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

话不多说,登录oa,找到页面开始上传

一开始我先传了个jpg,发现能正常解析

acece0de2403a541161191c56ec1cfbd_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

再传了个html,直接g了,显示Connection reset

53fe053cf92e0c742ab9b8887be5a50b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

我心里一惊,常规应该不会那么拦截,多半是有硬件waf

通过大小写上传SVG文件发现,此处应该采用了黑名单,心想,90%是稳了


0a7798ab0b125cf4d14466fe37cfcc5b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

f9a11814d5c2e71a2cc5b3ebd85c62d3_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然而后面的情况让我挺绝望的,光是后缀名这里我就绕过了很久

换行、多个等号、加点、脏数据、不常见后缀名、去掉引号绕过等组合手段,都无一例外的被干掉了

在这里苦苦绕了一晚上

也算是比较好玩吧,这里的开发有一个逻辑,你把content-type改成text/html,再把filename里改成xxx时(不加后缀,直接xxx),系统会自动帮你重命名成时间戳.xxx

于是乎,后缀名就成功绕过了

ec94f26f5e07a6c03d921701b6382ad1_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

3acba61ac06b782047d8221cdbef3925_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

可内容拦截比较变态,出现一点java特征都不行,连赋值都会被干掉(el表达式除外)

既然是硬件waf,我想到了脏数据绕过,jsp内容中可以包含html的注释

最终经过测试,大约80w的脏数据可以成功绕过

可上传上去冰蝎马后,无法连接,估计是落地就被干掉了,怀疑存在AV,于是厚着脸皮向某前辈白嫖了免杀马

ddd2baba253e17e87caa9ffa8d5975b6_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

上传成功

这次连接成功,没有被杀掉

79c62309fdb9e96785d1f139277af71d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

看了一眼,艹,全家桶啊简直

bbb241ed4b1df5fb5419d0659b7887fb_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

最后,象征性的whoami,结束战斗

3a7e7756dbcb2fa3bb7b1f3abf7370bc_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

(本来想进内网的,但想了想,不节外生枝了,如果有机会再说)

结尾

站在前辈们的肩膀上,结合实际情况,巧妙了绕过了waf,也是蛮开心的

最后也是从A手中拿到了应有的奖励

相关文章
|
2月前
|
Java 测试技术 Maven
JAVA单元测试概念与实战
单元测试是软件开发中的一个测试方法,用于验证软件代码中最小的、独立的单元是否按照预期工作。在Java中,这通常指的是单个的方法或者一个类的个别功能。单元测试的目的是隔离代码的每个部分,并确保各个部分是正确的。
77 4
|
1月前
|
SQL 搜索推荐 Android开发
AB测试实战(一)
AB测试是一种数据驱动的产品优化方法,用于比较不同版本的网页、应用界面或营销策略的效果。
|
27天前
|
消息中间件 缓存 中间件
【赠书活动 - 第1期】- 测试工程师Python开发实战(异步图书出品)| 文末送书
【赠书活动 - 第1期】- 测试工程师Python开发实战(异步图书出品)| 文末送书
|
1月前
|
测试技术 Python
AB测试实战(二)
AB测试是一种数据驱动的产品优化方法,用于比较不同版本的网页、应用界面或营销策略的效果。
|
1月前
|
设计模式 Java 测试技术
Java8实战-重构、测试和调试(二)
Java8实战-重构、测试和调试(二)
104 2
|
21天前
|
JavaScript 测试技术
vue 官方测试工具 unit-jest 实用教程(含实战范例:登录组件的测试)
vue 官方测试工具 unit-jest 实用教程(含实战范例:登录组件的测试)
18 0
|
1月前
|
前端开发 Java 测试技术
【SpringBoot】单元测试实战演示及心得分享
【SpringBoot】单元测试实战演示及心得分享
41 0
|
1月前
|
设计模式 算法 Java
Java8实战-重构、测试和调试(一)
Java8实战-重构、测试和调试(一)
20 0
|
2月前
|
开发框架 监控 Java
深入探索Spring Boot的监控、管理和测试功能及实战应用
【5月更文挑战第14天】Spring Boot是一个快速开发框架,提供了一系列的功能模块,包括监控、管理和测试等。本文将深入探讨Spring Boot中监控、管理和测试功能的原理与应用,并提供实际应用场景的示例。
42 2
|
2月前
|
Web App开发 缓存 前端开发
《手把手教你》系列技巧篇(四十四)-java+ selenium自动化测试-处理https 安全问题或者非信任站点-下篇(详解教程)
【5月更文挑战第8天】这篇文档介绍了如何在IE、Chrome和Firefox浏览器中处理不信任证书的问题。作者北京-宏哥分享了如何通过编程方式跳过浏览器的证书警告,直接访问不受信任的HTTPS网站。文章分为几个部分,首先简要介绍了问题背景,然后详细讲解了在Chrome浏览器中的两种方法,包括代码设计和运行效果,并给出了其他浏览器的相关信息和参考资料。最后,作者总结了处理此类问题的一些通用技巧。
54 2