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

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

这里采用Potato提权

但生活总喜欢在为我关了一扇窗后,再用门狠狠的夹我的脑子

提权一直失败,换用了其它的方式也不行

后面才知道,原来SweetPotato源码中的默认路径与我的环境不符,要重新修改后再编译

编译完,再重新执行

成功提权!

11d57dd1879b501cf3768db17a81ed96_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后就是源码打包,下载

(PS:用哥斯拉默认的源码打包,下载下来后文件会报错,而且缺失很多,也不知道为什么,但权限提升后用7z打包就好了,很奇怪。如果有知道的表哥,在下方留个联系方式)

接下来就是java源码审计了

90239dc03e725d32f2eb397a5069f819_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

大体目录是这样的。老规矩,先翻看一下配置文件,看一下它用了哪些框架

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

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

看样子是使用了Hibernate+Struts2+Spring框架

用jd-gui快速反编译class文件,获取java源码

将Hibernate和Struts2框架的相关配置文件、action对象、filter大体熟悉以后,就开始审计了

这里不得不吐槽一句,这个开发是真的懒,部分源码还留着与该站点相关的注释

既然是为了证明危害,那么基本是以getshell-sql-信息泄露为主

全文查找文件上传的地方

在搜索处发现了一处可以upload的地点

(此处图片找不到了,假装我是图片1)

查看对应java文件源码,发现无任何过滤

2211b2e8c7a53512eb45d44cee570321_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

去掉注释,上传,不过不知道为什么会出现这种状况,查询了很多资料也没弄明白

439059a275951884aa52ecb6022b740d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

02d5ece11d2072d6a8d603433f0636c0_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

直接构造接口上传,发现会有拦截,但本地源码审计无拦截,估计是某站点二次开发了

18fcf652fee299169680289a11846793_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

第一处水洞:账号密码可爆破

顺便看了一下oa系统

成熟的框架,也导致了sql注入和越权不存在

但是逻辑漏洞仍然存在,修改密码处未限制,能批量爆破账号改密码

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

后面因不可抗力,A也叫停了我,遂暂停了测试

二战

几个星期后的某天,A又提到了某站点,从它口中得知,该站点翻新了

那我上次的源码也约等于白费了。。。

果不其然,A又找到了我,我也是很《轻松》且《愉快》的接下了任务

第一处漏洞:弱口令

我想了想,既然翻新了,那多多少少会加点东西

更新后发现了部分文章页面泄露了某editor的组件信息

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

抱着尝试的心态,来到了登录页面

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

结果发现,admin/admin一发入魂

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

第二处漏洞:部分源码+密钥泄露

四处翻看目录,偶然间发现一个压缩包

4cef6fab880c8d93b58d6cbbf4107cc7_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

看了看大小,感觉像是源码,下载下来了

果然,泄露了很多secret,有关aliyun、钉钉、wechat、云盘等等

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

其中部分还与其它公司资产相关联

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

oss也能成功接管,也涉及了很多的敏感信息(不敢多说,保命要紧)

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

但还是高兴早了,class相关文件没打包下来。。意味着只能看jsp的源码,也就只有对找接口来说,会方便一些

通过配置文件查看,发现学校改成SSM框架,晕,别想与sql注入相遇了

相关文章
|
2月前
|
Java 测试技术 Maven
JAVA单元测试概念与实战
单元测试是软件开发中的一个测试方法,用于验证软件代码中最小的、独立的单元是否按照预期工作。在Java中,这通常指的是单个的方法或者一个类的个别功能。单元测试的目的是隔离代码的每个部分,并确保各个部分是正确的。
51 4
|
7月前
|
Shell 测试技术
Shell编程实战的命令测试
Shell编程实战的命令测试
37 1
|
3月前
|
监控 数据可视化 Java
jvm性能调优实战 - 31从测试到上线_如何分析JVM运行状况及合理优化
jvm性能调优实战 - 31从测试到上线_如何分析JVM运行状况及合理优化
53 1
|
4月前
|
机器学习/深度学习 人工智能 算法
软件测试/人工智能|人工智能与自动化测试结合实战-探索人工智能在测试领域中的应用
软件测试/人工智能|人工智能与自动化测试结合实战-探索人工智能在测试领域中的应用
144 0
|
1月前
|
运维 数据库
Powershell实战:测试网络请求两个命令介绍
【2月更文挑战第11篇】 Test-Connection 命令将 Internet 控制消息协议 (ICMP) 回显请求数据包或 ping 发送给一台或多台远程计算机并返回回显响应回复。 我们可以使用该命令确定是否可通过 IP 网络ping通特定的计算机。
|
2月前
|
测试技术 API Python
Python自动化测试:unittest与pytest的实战技巧
Python自动化测试:unittest与pytest的实战技巧
|
7月前
|
数据采集 算法 测试技术
深聊性能测试,从入门到放弃之:Locust性能自动化(二)代码实战
深聊性能测试,从入门到放弃之:Locust性能自动化(二)代码实战
157 1
|
8月前
|
前端开发
前端项目实战拾壹-pda测试平板打包为何白屏
前端项目实战拾壹-pda测试平板打包为何白屏
81 0
|
4月前
|
缓存 Java 关系型数据库
Spring Boot实现RESTful接口架构实战(包括REST的讲解、定义、REST服务测试)
Spring Boot实现RESTful接口架构实战(包括REST的讲解、定义、REST服务测试)
52 0
|
7月前
|
NoSQL 测试技术 API
从程序员到架构师开发运维场景实战篇:一人一套测试环境
一人一套测试环境 本篇开始讲第16次架构经历:一人一套测试环境。同样,先介绍业务场景。 业务场景:测试环境何时能释放出来使用 当时,公司的基础设施使用的是虚拟机,而且还未迁移到容器。