您的位置:寻梦网首页编程乐园ASP编程ASP网络安全

ASP网络安全手册(三)




五 ASP漏洞分析和解决方法



3 code.asp文件会泄漏ASP代码



  问题描述:

  举个很简单的例子, 在微软提供的 ASP1.0 的例程里有一个 .asp 文件, 专门用来查看其它 .asp 文件的源代码, 该文件为 ASPSamp/Samples/code.asp。 如果有人把这个程序上传到服务器, 而服务器端没有任何防范措施的话, 他就可以很容易地查看他人的程序。 例如 :

  code.asp?source=/directory/file.asp

  不过这是个比较旧的漏洞了, 相信现在很少会出现这种漏洞。



  下面这命令是比较新的:

http://someurl/iissamples/exair/howitworks/code.asp?/lunwen/
soushuo.asp=xxx.asp

  最大的危害莫过于asa文件可以被上述方式读出: 数据库密码以明文形式暴露在黑客眼前;



  问题解决或建议:

  对于IIS自带的show asp code的asp程序文件, 删除该文件或者禁止访问该目录即可



4、filesystemobject 组件篡改下载 fat 分区上的任何文件的漏洞



  问题描述:

  IIS3、 IIS4 的 ASP 的文件操作都可以通过 filesystemobject 实现, 包括文本文件的读写目录操作、文件的拷贝改名删除等, 但是这个强大的功能也留下了非常危险的 "后门"。 利用 filesystemobjet 可以篡改下载 fat 分区上的任何文件。 即使是 ntfs 分区, 如果权限没有设定好的话, 同样也能破坏, 一不小心你就可能遭受"灭顶之灾 "。 遗憾的是很多 webmaster 只知道让 web 服务器运行起来, 很少对 ntfs 进行权限 设置, 而 NT 目录权限的默认设置偏偏安全性又低得可怕。 因此, 如果你是 Webmaster, 建议你密切关注服务器的设置, 尽量将 web 目录建在 ntfs 分区上, 目录不要设定 everyone full control, 即使是是管理员组的成员一般也没什么必要 full control, 只要有读取、更改权限就足够了。 也可以把filesystemobject的组件删除或者改名。



5、输入标准的HTML语句或者javascript语句会改变输出结果



  问题描述:

  在输入框中打入标准的HTML语句会得到什么相的结果呢?

  比如一个留言本, 我们留言内容中打入:

<font size=10>你好!</font>



  如果你的ASP程序中没有屏蔽html语句, 那么就会改变"你好"字体的大小。 在留言本中改变字体大小和贴图有时并不是什么坏事, 反而可以使留言本生动。 但是如果在输入框中写个 javascript 的死循环, 比如:<a herf="http://someurl" onMouseover="while(1){window.close('/')}">特大新闻</a>



  那么其他查看该留言的客人只要移动鼠标到"特大新闻", 上就会使用户的浏览器因死循环而死掉。



  解决方法和建议:



  编写类似程序时应该做好对此类操作的防范, 譬如可以写一段程序判断客户端的输入, 并屏蔽掉所有的 HTML、 Javascript 语句。




(作者:yesky  来源:网络精英)