论坛漏洞分析之上传漏洞和暴库漏洞

论坛漏洞分析之上传漏洞和暴库漏洞,第1张

论坛上传漏洞是论坛中一种很常见的漏洞。论坛源码往往由于设计失误而引发漏洞,其中允许远程用户将任意文件上传到论坛主机上的漏洞被称为论坛的上传漏洞。通过论坛上传漏洞,入侵者甚至可以完全控制远程开启论坛服务的主机。绝大部分论坛为了界面的美观与人性化都支持文件上传功能,而上传的文件有类型的限制,设计失误是指对文件类型过滤不严,比如本应只允许JPEG格式的文件上传,结果用户却可以上传ASP文件。下面以利用动网论坛(DV BBS)存在的上传漏洞的实例来说明上传漏洞的具体内容及利用方法。

1.实例

利用动网论坛上传漏洞进行入侵。

动网论坛上传漏洞的描述:动网论坛上传漏洞存在于DV BBS7.0 SP2及其更低的所有版本中,其中DV BBS7.0 SP2以前的版本可以利用工具直接上传ASP文件。

漏洞存在于基本资料修改中头像上传位置,如图4-73所示,单击“上传”按钮将调用upfile.asp文件,而upfile.asp中存在文件类型过滤不严的问题。

图4-73

漏洞利用思路:检测到漏洞后,在存在漏洞论坛中注册一个用户账号,利用这个账号获取Cookie。在本地制作网页木马文件,使用专用工具结合已获取的Cookie值将网页木马上传到远程主机中。

步骤1:搜索漏洞

漏洞的搜索可以使用百度(http://www.baidu.com)、雅虎(http://cn.search.yahoo.com/)等搜索引擎。例如,在百度中搜索“"Powered By:Dvbbs Version 7.0.0 SP1"”,如图4-74所示。

图4-74

本实例中将对一个已发现存在上传漏洞的动网论坛主机进行攻击测试,地址:http://192.168. 232.132,版本为6.1.0,如图4-75所示。

图4-75

步骤2:注册用户

本例中想利用上传漏洞需要进入用户基本资料设置页面,因此首先需要注册一个用户,这里的用户名注册为squirrel,密码为111111,登录时如图4-76所示。

图4-76

登录后,选择用户控制面板中的基本资料修改项,如图4-77所示。

图4-77

进入后,显示如图4-78所示。

图4-78

步骤3:获取Cookie

什么是Cookie

Cookie是由Internet站点创建的、将信息存储在计算机上的文件,例如访问站点时的首选项。Cookie可以存储个人可识别信息,例如姓名、电子邮件地址、家庭或工作地址,或者电话号码。一旦将Cookie保存在计算机上,则只有创建Cookie的网站才能读取。

Cookie包括永久Cookie和临时Cookie。永久Cookie以文件形式存储在计算机上,关闭Internet Explorer时仍然保留在计算机上,再次访问该站点时,创建该Cookie的网站可以读取。临时Cookie或会话Cookie仅为当前浏览的对话存储,关闭Internet Explorer时即从计算机上删除。

工具介绍

使用工具:Winsock Expert。

工具说明:目前常用的版本是Winsock Expert v0.6 beta1。Winsock Expert是用于跟踪程序执行的专用软件,可以使用这个软件来跟踪IE的执行情况,获取相关的Cookie信息。

Cookie的获取

打开Winsock Expert,如图4-79所示。

图4-79 用已注册的用户名登录到论坛,进入基本资料修改页面,如图4-80所示。

图4-80

为了获取Cookie,需要跟踪IE的执行情况,抓取数据包。回到Winsock Expert,单击图标

,在Select Process To Monitor中选择刚刚打开的页面,这里是“动网先锋论坛——基本资料修改”,如图4-81所示。

图4-81 选定好单击“Open”按钮,这时的Winsock Expert运行界面如图4-82所示。

图4-82将Winsock Expert暂时放在一边,不要对其进行其他 *** 作。在论坛的个人基本资料修改页面中单击“浏览”按钮,随便选取一个文件,如图4-83所示。

图4-83

单击“上传”按钮后显示如图4-84所示,直接上传ASP文件会被过滤掉,后边的步骤中将介绍如何利用工具上传ASP网页木马,现在只是为了得到Cookie为后边的步骤做准备。

图4-84 到这里,已经实现了抓取数据包。在Winsock Expert窗口中Packets Text栏下找到“POST 路径”项所在的行,并单击此行,在窗口下部的详细信息中即包含了需要的Cookie信息和上传处理文件的路径信息和文件名信息,如图4-85所示。本例中获得的Cookie信息为ASPSESSIONIDQGQQGUDK=NMPJMAFDNGMAJHOCNLOELOHL,上传处理文件的路径为论坛根目录,文件名为upfile.asp。

图4-85

步骤4:生成网页木马

工具介绍

使用工具:海阳顶端网ASP木马2006版。

工具说明:海阳顶端网ASP木马2006版中包含有6个文件,文件的使用说明如下。

2006.asp,海阳顶端网ASP木马2006版文件。

pack.vbs,打包文件“HYTop.mdb”的解开器。

2006X.exe,海阳顶端网ASP木马2006 C/S模式转换器。

2006X2.exe,海阳顶端网ASP木马2006专用短服务器端C/S模式转换器。

2006Z.exe,海阳顶端网ASP木马2006_Lite版本组合器,用来自定义生成相应功能的Lite版木马。

hididi.ini,2006Z.exe的配置文件。

这里使用2006Z.exe生成的网页木马文件。使用2006Z.exe的好处在于生成网页木马的功能可选,且上传后易于 *** 作。

2006Z.exe使用说明:打开程序后,可以在“页面选择”框架里选择所需要生成的Lite版海阳顶端网ASP木马功能模块,“页面生成”框架里的源文件指的是Full版的海阳顶端网ASP木马2006(本文件夹中的2006a.asp),选择好相应的源文件及生成文件后,单击“生成”按钮即可生成相应功能组合的海阳顶

你试试加入如下代码:(我拿图片文件举例说明)

<%

server.scripttimeout=3000

dim fpath,EnableUpload

dim fileExt

dim ranNum

call upload_0()

sub upload_0()

set upload=new UpFile_Class

if CheckFileExt(fileEXT)=false then

response.write "<font color=red>文件格式不正确!</font> [<a href=adm_upload.asp?fpath="&fpath&">重新上传</a>]"

response.end

end if

end sub

Private Function CheckFileExt (fileEXT)

dim Forumupload,i

Forumupload="jpeg|bmp|png|gif|jpg" '允放上传的文件格式

Forumupload=split(Forumupload,"|")

for i=0 to ubound(Forumupload)

if lcase(fileEXT)=lcase(trim(Forumupload(i))) then

CheckFileExt=true

exit Function

else

CheckFileExt=false

end if

next

End Function

%>

有些定义字符你自己改下,大致就这个意思。

如果测试不成功的话把代码贴出来,我给你改。

1、 前端检测绕过

有的站点只在前端对文件的类型有所限制,我们只需用bp抓包然后修改文件后缀名就能绕过这种检测。

2、 文件头检测绕过

有的站点使用文件头来检测文件的类型,这种检测可以在shell前加入相应的字节一绕过检测,几种常见的文件类型的头字节如下:

3、 后缀检测绕过

部分服务器仅根据文件后缀、上传时的信息或者文件头来判断文件类型,此时可以绕过。php由于历史的原因,部分解释器可能支持符合正则/ph(p[2-7]?|t(ml)?)/的后缀,如php/php5/pht/phtml/shtml/pwml/phtm等。如果后端对文件名进行了过滤,可以尝试双写文件名,比如1.pphphp。

4、 系统命名绕过

在windows系统中,上传不符合windwos命名规则的文件名会被windows系统自动去掉不符合规则符号后面的内容,例如:test.asp.、test.asp(空格)、test.php:1.jpg、test.php:: D A T A 、 t e s t . p h p : : DATA、test.php:: DATA、test.php::DATA…这些文件上传到服务器端之后都会变成test.php

在linux系统下,可以尝试上传文件后缀名为大小写混用的Php文件。

5、 文件包含绕过

在文件包含的时候,为了灵活包含文件,将被包含文件设置为变量,通过动态变量来引入需要包含的文件,用户可以对变量的值进行控制,而服务器端未对变量进行合理的校验,这样就导致所包含的文件有可能存在恶意代码。比如1.php

<?php $file=$_GET[‘file’]include($file)?>

这个程序就包含了一个文件,我们在1.txt文件中写入

<?php phpinfo()?>

然后将这个文件包含在1.php中1.php?file=1.txt这样

<?php phpinfo()?>就成功写入1.php这个文件当中,我们访问1.php这个文件的时候就能出现php信息那个页面。利用这个漏洞我们就可以进行文件上传,我们只需包含一个一句话木马内容的txt就能用菜刀连接,这样就成功执行了文件上传。

6、 解析漏洞绕过

目录解析:在网站中建立名称为*.asp、.asa格式的文件夹时,其文件夹下面的文件都会被当做asp执行。

文件解析:当文件名为.asp1.jpg时,也会被当做asp执行

Apache解析漏洞:Apache在解析文件时,是从右往左,如果遇到不认识的扩展名时,就会继续向左判断,例如1.php.rar就会被当做

php解析。

IIS 7.0/IIS 7.5/Nginx<0.8.3畸形文件解析漏洞,当访问http://xxx.com/1.jpg/1.php时,此时1.php不存在,就会将1.jpg当做php文件去执行,所以如果存在该漏洞,将php木马后缀改成jpg然后访问1.jpg/1.php然后1.jpg就会被当成1.php来执行。

.htaccess,该文件里面的代码如下:

<FilesMatch “1”>

SetHandler application/x-httpd-php

这段代码的意思就是文件名包含”1”这个这个字符串就会被当成php文件来处理。但是值得注意的是上传.htaccess必须是网站根路径。

7、 文件截断绕过

00截断:由于00代表结束符,所以会把00后面的所有字符删除。

能利用这个漏洞的前提是,php版本要小于5.3.4,magic_quotes_gpc需要为OFF状态。我们用bp进行拦包之后,需要send to repeater,然后在hex中,在php后面添加00

8、 竞争条件攻击

一些网站上传文件逻辑上是允许上传任意文件的,然后检查上传文件的内容是否包含webshell脚本,如果包含则删除该文件,这里存在的问题是文件上传成功之后和删除文件之间存在一个短的时间差,攻击者就可以利用这个时间差来上传漏洞攻击。攻击者先上传一个webshell脚本1.php内容如下:

<?php fputs(fopen(‘../shell.php’,’w’),’<?php @eval($_POST[a]) ?>’)?>

代码内容就是生成一个新的webshell,shell.php,那么当1.php上传成功之后,我们快速访问这个文件,这时就会在服务器端当前目录下自动生成shell.php,这时就利用时间差完成了webshell的上传。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11849400.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存