当前位置: 首页 > 图文教程 > 网络编程 > ASP > [漏洞]利用Activer server explorer可对文件进行读写访问

ASP
分享一段代码show.asp?id=26变成show/?26的形式
多域名一网站时如果返回最原来的域名
[原创]完美解决ASP 不能更新。数据库或对象为只读。
5天学会asp
TSYS中生成静态页时溢出: ''CInt''
对象标记具有无效的 ''MSWC.MyInfo'' ProgID
[原创]随机增加网站点击的一个不错的方法
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误的完美解决方法
反SPAM新思路—换Z-BLOG的验证码!
七步倒┈→专用asp后门
asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码
使用ASP实现网站的“目录树”管理的代码
ShowPage 显示“上一页 下一页”等信息的封装代码
[原创]站长感慨asp编程究竟何去何从
响应对象 错误 ''ASP 0185 : 80020003'' 缺少默认属性
[原创]asp下用实现模板加载的的几种方法总结
[原创]asp获取URL参数的几种方法分析总结
Access数据库中“所有记录中均未找到搜索关键字”的解决方法
ASP程序中输出Excel文件实例一则
ASP应用中如何限制同一表单被多次提交

ASP 中的 [漏洞]利用Activer server explorer可对文件进行读写访问


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 123 ::
收藏到网摘: n/a

       漏洞描述:
    chinaasp的Activer server explorer可以很方便的对本地文件在线查看服务器上的目录 在线查看文件的名称、大小、类
  型、修改时间,在线编辑纯文本文件,如.txt、.htm、.asp、.pl、.cgi等等,直接执行服务器上的文件。
    Activer server explorer要求填写相对路径或者绝对路径,但是假如:有一个攻击者把Activer server explorer上传到
  目标服务器上的某个目录,并且这个目录支持ASP的话,那么他就可以通过Activer server explorer修改、执行目标服务器上的
  文件。这种情况可以发生在一个攻击者拥有目标NT服务器上的一个可写目录帐号,并且这个目录又支持ASP。比如一些支持ASP的个
  人免费主页服务器,把Activer server explorer先传上你申请的免费主页空间,再通过各种方法得到目标服务器的路径,(比如
  可通过漏洞:"请求不存在的扩展名为idq或ida 文件,会暴露文件在服务器上的物理地址.").或者直接在相对路径上填".",一般
  是默认。这样攻击者就能任意修改,执行目标服务器上的文件,不管他对这个文件有无读写访问权。
  
    所以那些提供有ASP服务的个人主页或者其它服务的服务器,就要加倍小心这种攻击了。
  
    漏洞解决方法
    其实Activer server explorer就是利用了上面讲的漏洞 4 filesystemobject 组件篡改下载 fat 分区上的任何文件的
  漏洞。
    那么我们如何才能限制用户使用FileSystemObject对象呢?一种极端的做法是完全反注册掉提供FileSystemObject对象的那
  个组件,也就是Scrrun.dll。具体的方法如下:
  
    在MS-DOS状态下面键入:
  
  Regsvr32 /u c:\windows\system\scrrun.dll
  
  (注意:在实际操作的时候要更改成为你本地的实际路径)
  
    但是这样的话,就不能使用FileSystemObject对象了,有时利用FileSystemObject对象来管理文件是很方便,有什么办法能
  两全其美呢?
  
    我们可以做到禁止他人非法使用FileSystemObject对象,但是我们自己仍然可以使用这个对象.
    方法如下:
    查找注册表中
  
    HKEY_CLASSES_ROOT\Scripting.FileSystemObject 键值
  
    将其更改成为你想要的字符串(右键-->"重命名"),比如更改成为
  
    HKEY_CLASSES_ROOT\Scripting.FileSystemObject2
  
    这样,在ASP就必须这样引用这个对象了:
  
    Set fso = CreateObject("Scripting.FileSystemObject2")
  
    而不能使用:
  
    Set fso = CreateObject("Scripting.FileSystemObject")
  
    如果你使用通常的方法来调用FileSystemObject对象就会无法使用了。
  
    只要你不告诉别人这个更改过的对象名称,其他人是无法使用FileSystemObject对象的。这样,作为站点管理者我们就杜绝了
  他人非法使用FileSystemObject对象,而我们自己仍然可以使用这个对象来方便的实现网站在线管理等等功能了!