码迷,mamicode.com
首页 > Web开发 > 详细

任意文件下载漏洞 aspx站点

时间:2016-07-31 11:23:33      阅读:2215      评论:0      收藏:0      [点我收藏+]

标签:

1) 利用sql server渗透
对于aspx站点一般后台都是sql server数据库,因此利用该漏洞的最简单的方法是直接获得数据库密码,直接登录数据库,利用sql server完成渗透。

http://www.test.org/DownLoadFileLow.aspx?FileName=Accompanying_Persons_Tour_Program.pdf

首先确定网站根目录下载web.config文件,aspx站点用根目录下的web.config文件保存配置信息
尝试确定根目录:
http://www.test.org/DownLoadFileLow.aspx?FileName=../web.config
错误信息:

该错误信息,确定网站的绝对路径(在后面的差异备份用到)

http://www.test.org/DownLoadFileLow.aspx?FileName=../../web.config

打开配置文件找到连接数据库项:

判断sql server 是否可以远程连接

可以远程连接

使用sql server连接服务器

登录成功:

已经获得网站的绝对路径,直接使用差异备份获得shell,即可.

使用菜刀 连接一句话

连接成功

完成渗透。

2) 下载dll文件
Aspx站点一般都会对后台源代码进行编译封装,保存到dll文件中,放到网站根目录的Bin文件夹下,因此,可以利用下载点下载dll文件,获得网站源代码。
一个下载点:
www.test.com.cn/DownLoad.aspx?fileName=%C4%EA%B6%C8%C9%F3%BA%CB%B1%ED.doc

两次回溯确定网站的根目录

发现数据库连接失败,不能使用上述方法,因此,尝试通过下载源码,渗透。
首先下载DownLoad.aspx文件,主要是想查看这个aspx站点是否将源代码放到dll文件,这样的话就可以直接下载dll获得整站(不准确)的源代码。

下载后打开: http://www.test.com.cn/DownLoad.aspx?fileName=../../DownLoad.aspx

在此尝试下载对应的DownLoad.aspx.cs文件
http://www.test.com.cn/DownLoad.aspx?fileName=../../DownLoad.aspx.cs

失败,说明本站点的源代码放到dll文件中,并且DownLoad.aspx对应的源代码是xkcms.webForm.DownLoad,现在主要来猜解一下dll文件名,由这个命令空间
xkcms.webForm.DownLoad可以知道DownLoad不是,只能一个一个猜测。

http://www.test.com.cn/DownLoad.aspx?fileName=../../bin/xkcms.dll

http://www.test.com.cn/DownLoad.aspx?fileName=../../bin/webForm.dll

猜测成功,dll是被编译过,直接使用.net reflector工具打开编译后的dll文件。
获得网站源代码如下:

首先看一下,download.aspx文件对应实现代码:

可以看出,没有对fileName参数做任何过滤直接下载请求文件,导致任意文件下载漏洞。

当然最关心的还是网站是否存在其他漏洞,最喜欢的当然是上传漏洞。
找到网站的上传位置

该上传页面没有对上传文件进行过滤导致可以直接上传,测试一下:
访问上传页面:

选择aspx后缀文件

然后到保存上传文件的路径下查看是否上传成功,

可见上传文件成功,直接将上传文件内容,改成aspx代码,即可获得webshell.
当然这是一个特例,注意安全的网站都不会这么差的,但是一般拿到源码总会找到漏洞,只要有时间…就不在举例子了.

任意文件下载漏洞 aspx站点

标签:

原文地址:http://www.cnblogs.com/yuleitest/p/5722532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!