作者:Sai52[B.H.S.T]
无意中看见一个图形设计网站,网站全部由静态asp构成,做得十分漂亮。感叹它设计精美的同时,不由心里嘀咕,全静态asp页面的确能防止注入漏洞的产生,但WEB漏洞不止注入这一种,我很想看看这个网站在其他漏洞的防范方面做得如何。
在Google上搜索了一阵,翻到了这个网站的一个上传页面,发现它没有做验证,任何人都可以上传图片文件,于是决定从这里入手。
试着上传.asp文件,直接跳出对话框(图1)

查看源文件,可以看出是用JavaScript在本地做了限制。(图2)

把源文件中的JavaScript代码全部删除,修改post的地址为绝对网址,之后另存为htm文件。再次上传.asp文件,几秒钟后出现结果如图3

可以想到虽然程序没有禁止外部提交数据,但是文件在上传到服务器保存时又做了一遍验证,如果要保存的文件名后缀不合法,则拒绝执行。
以下是源代码中的相关部分(图4)

继续,上传一个正常的图片文件并抓包。(如图5、6)


把抓包得到的数据与上传页面的源文件相对照
抓包数据,如图7

源文件中对应部分如图8

可以发现有很多隐藏的参数在里面,而这些参数的值默认都是空的。如果我们改变这些参数的值,结果会怎样呢?
把源文件中的“hidden”改为“text”,如图9

保存后打开,如图10

现在这些参数的值可以自己构造了
试验着改参数值上传了几次之后,摸到了一点规律。
把参数“mulu”对应的值改为asp.asp,试试上传gif后缀的asp小马

上传成功

由抓包的数据中找到上传路径,提交看看,

出现了可爱的画面。
可以想到这个上传程序的运行方式是,在处理参数“mulu”的值的时候,如果值不为空则创建,于是就在服务器上创建了一个“asp.asp”目录。
以下是源代码中的相关部分

可以看到对提交的变量只是简单的把“/”转换成了“\” ,其他没有做任何过滤。这里即漏洞所在。
Win2003存在着一个文件解析路径的漏洞,当文件夹名为类似asp.asp的时候(即文件夹名看起来像一个ASP文件的文件名),此时此文件夹下的文本类型的文件都可以在IIS中被当做ASP程序来执行,因此我们上传的xiaoma.gif被作为asp程序执行了。
之后就是写个大点的webshell进去,如图15

结果出错,无法写入

换了几个小马都是如此,看来不是小马的问题,可能FSO组件被禁用或者改名了。
直接上传大马不能执行


大概是服务器解析目录“asp.asp”的时候把这个目录当作了asp文件,因此出错。
为了看清楚些,把asp探针文件后缀改为gif传了上去。


这么看就明白了。
怎么突破呢?可以看到,虽然禁用了FSO组件,但是WScript.Shell组件和Shell.Application组件还在,我们可以用它们来读写文件,只要把用WScript.Shell组件或Shell.Application组件读写文件的webshell写到“asp.asp”以外的web目录里执行就可以了。
这里可以利用的写文件方法很多,如XML写文件,JMail写文件,ASPUpload上传都可以。这里我用ASPUpload上传。
构造两个文件“本地提交用.htm”和“upload.gif”,代码如图21

upload.gif上传到服务器,本地提交用.htm 用于本地打开提交上传文件。


成功上传海洋顶端木马到上一层目录,并可以正常使用。

服务器的权限设置不严,webshell可以浏览所有文件及目录,同时SERV-U为默认设置且没有设置管理密码,还是system启动服务运行的。(=_=!)

很容易地利用SERV-U提升权限,并添加管理员用户sai52


本次检测到这里就结束了。这个网站安全方面外紧内松,程序员和管理员都有责任,不过我个人认为,主要还是管理员的责任
无意中看见一个图形设计网站,网站全部由静态asp构成,做得十分漂亮。感叹它设计精美的同时,不由心里嘀咕,全静态asp页面的确能防止注入漏洞的产生,但WEB漏洞不止注入这一种,我很想看看这个网站在其他漏洞的防范方面做得如何。
在Google上搜索了一阵,翻到了这个网站的一个上传页面,发现它没有做验证,任何人都可以上传图片文件,于是决定从这里入手。
试着上传.asp文件,直接跳出对话框(图1)
查看源文件,可以看出是用JavaScript在本地做了限制。(图2)
把源文件中的JavaScript代码全部删除,修改post的地址为绝对网址,之后另存为htm文件。再次上传.asp文件,几秒钟后出现结果如图3
可以想到虽然程序没有禁止外部提交数据,但是文件在上传到服务器保存时又做了一遍验证,如果要保存的文件名后缀不合法,则拒绝执行。
以下是源代码中的相关部分(图4)
继续,上传一个正常的图片文件并抓包。(如图5、6)
把抓包得到的数据与上传页面的源文件相对照
抓包数据,如图7
源文件中对应部分如图8
可以发现有很多隐藏的参数在里面,而这些参数的值默认都是空的。如果我们改变这些参数的值,结果会怎样呢?
把源文件中的“hidden”改为“text”,如图9
保存后打开,如图10
现在这些参数的值可以自己构造了
试验着改参数值上传了几次之后,摸到了一点规律。
把参数“mulu”对应的值改为asp.asp,试试上传gif后缀的asp小马
上传成功
由抓包的数据中找到上传路径,提交看看,
出现了可爱的画面。
可以想到这个上传程序的运行方式是,在处理参数“mulu”的值的时候,如果值不为空则创建,于是就在服务器上创建了一个“asp.asp”目录。
以下是源代码中的相关部分
可以看到对提交的变量只是简单的把“/”转换成了“\” ,其他没有做任何过滤。这里即漏洞所在。
Win2003存在着一个文件解析路径的漏洞,当文件夹名为类似asp.asp的时候(即文件夹名看起来像一个ASP文件的文件名),此时此文件夹下的文本类型的文件都可以在IIS中被当做ASP程序来执行,因此我们上传的xiaoma.gif被作为asp程序执行了。
之后就是写个大点的webshell进去,如图15
结果出错,无法写入
换了几个小马都是如此,看来不是小马的问题,可能FSO组件被禁用或者改名了。
直接上传大马不能执行
大概是服务器解析目录“asp.asp”的时候把这个目录当作了asp文件,因此出错。
为了看清楚些,把asp探针文件后缀改为gif传了上去。
这么看就明白了。
怎么突破呢?可以看到,虽然禁用了FSO组件,但是WScript.Shell组件和Shell.Application组件还在,我们可以用它们来读写文件,只要把用WScript.Shell组件或Shell.Application组件读写文件的webshell写到“asp.asp”以外的web目录里执行就可以了。
这里可以利用的写文件方法很多,如XML写文件,JMail写文件,ASPUpload上传都可以。这里我用ASPUpload上传。
构造两个文件“本地提交用.htm”和“upload.gif”,代码如图21
upload.gif上传到服务器,本地提交用.htm 用于本地打开提交上传文件。
成功上传海洋顶端木马到上一层目录,并可以正常使用。
服务器的权限设置不严,webshell可以浏览所有文件及目录,同时SERV-U为默认设置且没有设置管理密码,还是system启动服务运行的。(=_=!)
很容易地利用SERV-U提升权限,并添加管理员用户sai52
本次检测到这里就结束了。这个网站安全方面外紧内松,程序员和管理员都有责任,不过我个人认为,主要还是管理员的责任