无意中看见一个图形设计网站,网站全部由静态asp构成,做得十分漂亮。感叹它设计精美的同时,不由心里嘀咕,全静态asp页面的确能防止注入漏洞的产生,但WEB漏洞不止注入这一种,我很想看看这个网站在其他漏洞的防范方面做得如何。
在Google上搜索了一阵,翻到了这个网站的一个上传页面,发现它没有做验证,任何人都可以上传图片文件,于是决定从这里入手。试着上传.asp文件,直接跳出对话框(图1)
|
图1 |
查看源文件,可以看出是用JavaScript在本地做了限制。(图2)
|
图2 |
把源文件中的JavaScript代码全部删除,修改post的地址为绝对网址,之后另存为htm文件。再次上传.asp文件,几秒钟后出现结果如图3
|
图3 |
可以想到虽然程序没有禁止外部提交数据,但是文件在上传到服务器保存时又做了一遍验证,如果要保存的文件名后缀不合法,则拒绝执行。以下是源代码中的相关部分(图4)
|
图4 |
继续,上传一个正常的图片文件并抓包。(如图5、6)
|
图5 |
|
图6 |
把抓包得到的数据与上传页面的源文件相对照抓包数据,如图7
|
图7 |
源文件中对应部分如图8
|
图8 |
可以发现有很多隐藏的参数在里面,而这些参数的值默认都是空的。如果我们改变这些参数的值,结果会怎样呢?把源文件中的“hidden”改为“text”,如图9
|
图9 |
保存后打开,如图10
|
图10 |