这篇文章主要介绍了Jenkins任意文件读取CVE-2018-1999002漏洞的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Jenkins官方发布最新安全通告,披露多个安全漏洞。其中,SECURITY-914是由Orange发现的Jenkins未授权任意文件读取漏洞,存在高危风险。利用该漏洞,攻击者可以读取Windows系统服务器中的任意文件,且在特定而条件下也可以读取Linux系统服务器中的文件。通过利用该文件读取漏洞,攻击者可以获取Jenkins系统的凭证信息,导致用户的敏感信息遭到泄露。同时,Jenkins的部分凭证可能与其用户的帐号密码相同,攻击者获取到凭证信息后甚至可以直接登录Jenkins系统进行命令执行操作等。三、 搭建环境安装漏洞影响范围内的Jenkins版本: Jenkins weekly 2.132及此前所有版本Jenkins LTS 2.121.1及此前所有版本,此处使用的是Jenkins LTS 2.121.1。首先把jenkins的war包下载后放在tomcat webapps目录下,启动后自动解压war包或安装msi版本,或使用git从GitHub下载war包。 启动tomcat,访问http://localhost:8080,如果8080默认端口被占用,则可以在Jenkins安装路径下的Jenkins.xml文件中修改端口后访问。打开页面后需要解锁jenkins。在安装目录下找到initialAdminPassword文件复制密码输入到password输入框,点击continue即可进行下一步操作。安装插件后使用管理员进行登录,环境搭建完成。四、 触发条件1. 进行全局安全配置,开启匿名具有可读权限。五、 漏洞分析doDynamic这里用来处理请求中的包含的路径,比如/plugin/xxxx。跟入request.getLocale(),跳至Request.javagetLocale()处理Http中的Accept-Language,根据-分为language和country,language为zh,count免费云主机域名ry为cn,然后return Locale(language,country),如果不存在-,language即可使用../遍历,这时返回的结果即为Locale(language,””)。再看Stapler.java中的LocaleDrivenResourceSelector类的open方法,从注释来看,这段代码本身根据Accept-Language来返回不同文件,比如请求为/plugin/credentials/.ini,payload为_../../../../../../../../../../../windows/win,在linux下需要plugin下存在-名称目录可利用,但win下直接可以通过路径穿越绕过,达到任意文件读取效果。六、 修复建议1. 将您的Jenkins weekly升级至2.133版本,将您的Jenkins LTS升级至2.121.2版本。2.如果您暂时不希望通过升级Jenkins版本解决该漏洞,建议您使用Web应用防火墙的精准访问控制功能对您的业务进行防护。通过精准访问控制功能,针对Accept-Language这个HTTP请求头设置阻断规则过滤该请求头中包含 ../的请求,防止攻击者利用该漏洞通过目录穿越读取任意文件。感谢你能够认真阅读完这篇文章,希望小编分享的“Jenkins任意文件读取CVE-2018-1999002漏洞的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持云编程开发博客,关注云编程开发博客行业资讯频道,更多相关知识等着你来学习!
这篇文章主要介绍“Docker敏感信息怎么防止泄露”,在日常操作中,相信很多人在Docker敏感信息怎么防止泄露问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker敏感信息怎么防止泄露”的疑惑有所帮助!接下来,请跟着小编一…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。