在渗透一网站,遇上了许多企业网站常用的一套网站程序,版权也不知道是谁改的谁的了。以前见了这样的网站程序,拿SHELL基本没什么困难。为啥?因为有数据库备份,Just You Konw!但是这次不一样了。
网站COOKIE注入进入后台,在网站配置添加上传文件后缀asa,cer,cdx,ashx神马的。如图:
然后出现了熟悉的提示:
一流拦截XX,很猥琐的.好吧,我copy 1.jpg+2.asa 然后再上传。提示上传成功,然后访问,出现如下错误:
就是404错误吧,文件不存在,估计被一流和谐了,然后上传了ashx能上传成功也能访问,但是在同目录下没有生成asp文件,估计又是一流干的好事吧。好吧,我数据库来备份行了吧。把刚才的copy的小马改成jpg上传,上传成功,访问了一下。确实上传成功了,然后数据库备份吧。备份也成功了,然后访问了,也是404,文件不存在。
后来发现了,备份的文件后缀也被过滤了。神马asa,cer,cdx,php都被过滤。
然后,编辑器也一样,上传了,都是404错误。最后只有插配置文件了,想了下,如果直接插一句话代码进去的话。很有可能网站的配置文件也会被删掉。到时候就悲剧了,网站就崩溃了。如果把一句话变形处理呢,能不能绕过去呢。我没试,没有把握我就没有试。到这里很郁闷了,这样都拿不到shell,觉得自己挺悲剧的。然后就和好哥们code048讨论了一下,最后讨论出,如果我们用配置文件包含图片,它总不能过滤了吧。网站程序代码中,包含多常见的。不是啥危险代码,嘿嘿。
自己本地搭建测试了一下,成功了。然后就实战吧。风险也挺大的,万一包含出错,网站也会崩溃。在网站配置文件插入:
包含刚才上传成功的小马图片。这里一定要注意路径。包含文件不能以"/"开头,而且包含文件路径和网站配置文件路径的父目录上面还有一层目录就不需要填写上一层目录。例如:网站配置文件在../news/inc/config.asp 需要包含的文件 在../news/uploadfiles/xxx.jpg 那么插入配置文件包含就该这样写<!--#include file="../uploadfiles/xxx.jpg"-->.我第一次就写成<!--
#include file="../news/uploadfiles/xxx.jpg"-->结果提示找不到包含文件。路径出错了。
包含成功后网站只会显示一张图片,所以要速度把配置文件改回来。免得被管理员发现。包含成功后:
最后,用菜刀连接网站配置文件。成功拿下。
网上有用包含图片的方法来隐藏后门,如果遇上IIS7或者插配置文件被删的情况,可以试试配置文件包含。这里算是一种思路的延伸利用吧
摘自 暗组论坛