IIS常见问题及解答连同故障分析(7)
2008-02-23 08:20:49来源:互联网 阅读 ()
因为这一方法能够让您像没有运行过锁定工具那样再次运行他,但又不撤销该锁定工具第一次运行时实现的配置或对他们“解除锁定”,所以对于您所说的情形,此方法应当行得通。 [SplitPage]
如何发送用以实现重定向的查询字符串信息
问: 在我们最初的Web服务器配置方案中,多个文档夹中均包含称作browse.asp的页面。为简化设计方案,我们现在只在单一文档夹中保留了一个 browse.asp文档。然而,服务器现在仍然接受来自用户且需要在原先位置上寻找borwse.asp文档的服务请求。我希望将这些请求重定向到存放 browse.asp文档的新位置上。通过使用IIS所内建的重定向功能,这项工作看起来似乎很简单,然而,在实际处理过程中,查询字符串信息似乎总是 被丢失。举例来说,我们将针对http://servername/oldfolder/browse.asp的请求重定向至http: //servername/newfolder/browse.asp。当用户向服务器发送形式为http: //servername/oldfolder/browse.asp?cat=135的URL时,重定向操作虽然能够执行,但却无法传递查询字符串。请 问是否存在某种方式能够允许IIS发送从原始请求URL中提取的查询字符串信息?
答:在指定IIS如何对URL进行重定向方面,IIS为您提 供了相当程度的灵活性。IIS中所包含的一项鲜为人知但却很实用的特性能够允许您在重定向过程中使用变量,从而实现了能够精确指定向目标URL传递哪些 内容的高级控制能力。举例来说,在您所描述的情况下,右键单击原有browse.asp文档,在“文档”选项卡上选择“重定向至URL”并输入http: //servername/newfolder/browse.asp$Q。这种配置方式将使用内建服务器重定向变量$Q将原有URL中所包含的查询字符 串部分内容发送到新的位置上。以下表格列出了在线IIS 5帮助文档连同编号为Q313074的Microsoft知识库文章中所包含的有关查询字符串的周详信息。
变量
描述
举例
$S
对请求URL中相匹配的后缀信息进行解析。相匹配的后缀信息是指原始URL中重定向URL被替代后所剩余的部分。
假如将/scripts重定向为/newscripts且原始请求URL为/scripts/program.exe,则/program.exe即为后缀信息。服务器将自动执行后缀替换操作,$S变量仅用于同其他变量配合使用。
$P
对原始URL中的参数进行解析。
举例来说,假如原始URL为/scripts/myscript.asp?number=1,那么,字符串“number=1”将被映射到目标URL中去。
$Q
对于从原始URL中所提取出的问号和参数进行解析。
举例来说,假如原始URL为/scripts/myscript.asp?number=1,那么,字符串“?number=1”将被映射到目标URL中去。
$V
对于请求URL中除服务器名称以外的其他信息进行解析。
举例来说,假如原始URL为//myserver/scripts/myscript.asp,那么,字符串“/scripts/myscript.asp”将被映射到目标URL中去。
$0 至$9
对请求URL中和指定通配符相匹配的部分进行解析。
举例来说,假如针对最低级别的目录名称(如*/default.htm)使用一个通配符,那么,URL中包含Default.htm的目录名称部分将被转发。
!
不进行重定向。
使用这个变量以防止对虚拟目录中已实现重定向的子目录或单独文档进行再次重定向。
缓存溢出攻击事件中术语“在进程以内”和“在进程以外”的区别
问:能否澄清一下不同运行方式之间的区别所在?
在进程以内运行的应用程式和在进程以外运行的应用程式相比,假如遭到缓存溢出攻击的话,分别将会出现何种情况?
答: 我始终认为“在进程以内”这一术语存在一些混淆。任何应用程式均在某个进程中运行,因此,实际上并不存在所谓“在进程以外”运行的应用程式。然而,我们经 常在有关IIS应用程式的参考文献中见到这个术语,那么,他究竟代表何种含义呢?在IIS 4和IIS 5.x中,包含一个名为inetinfo的进程。当Web应用程式“在进程以内”运行时,该应用程式将在inetinfo进程内部运行。对于IIS 4应用程式来说,缺省情况下,应用程式将在inetinfo进程内运行。
和此相对应,“在进程以外”运行的应用程式是指那些并非在inetinfo进程中运行的应用程式。对于IIS 4,“在进程以外”运行的应用程式宿主于一个名为MTX的进程;对于IIS 5.x,此种应用程式则宿主于一个名为dllhost的进程。
任何进程均在某个用户帐号的安全环境中运行。Inetinfo进程在System帐号下运行。MTX(IIS 4)和dllhost(IIS 5.x)则在IWAM_帐号下运行。
现 在,我们已对回答您的问题所涉及的相关概念进行了解释。在一次成功的缓存溢出攻击事件中,攻击者可能会在托管失败应用程式的进程安全环境中运行相关代 码。因此,假如您的应用程式在进程以内(在inetinfo进程中)运行,攻击者将在具备全面服务器访问权限的System安全环境中运行。假如您的应用 程式在进程以外(在MTX或dllhost进程中)运行,攻击者将在仅仅具备有限服务器访问权限的IWAM帐号安全环境中运行。
需要特别注意 的是,在缺省配置方案中,IIS 5按照中等应用程式保护配置(在进程以外模式下采用池分配方式)“在进程以外”运行任何应用程式。由于前面所提到的原因,这种运行方式和在进程以内运行应 用程式相比要安全可靠得多。和缺省配置相比,由于通过System帐号访问服务器在IIS 5上所导致高发性缓存溢出攻击使服务器极易遭受攻击。在针对IWAM和IUSER帐号应用严格限制条件的同时,通过运行IIS Lockdown工具还可实现额外的安全性。
顺便提及一下,(作为Windows .NET Server 2003的组成部分之一)IIS 6采用这样一种配置方式,即在缺省的工作进程单独模式下,缓存溢出攻击根本无法通过具备高级权限的用户帐号对服务器进行访问。
如何在重建站点后继续使用原先的日志文档
问: 我有一个和IIS元数据库文档相关的问题。当您在IIS 5服务器上创建一个新的Web站点时,日志文档夹将随该Web站点一同创建。IIS通过增量方式对这个文档夹进行命名。这种方式有效避免了日志文档夹命名 不当或遭到意外破坏的情况。然而,当您删除并重新安装一个‘站点’时,您将丢失任何先前使用的元数据。同时,日志文档夹位置也将随之丢失。此文档夹现在将 是按照增量方式最后创建的日志文档夹。[假如前一个取值为W3SVC8,那么,当前日志文档夹应为W3SVC9]。请问是否能够通过某种方式对元数据库进 行编辑,以便使IIS将站点属性指向原有日志文档夹名称?
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 让Web服务器远离脚本攻击
下一篇: 虚拟主机如何解决电信网通间互联互通
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
