A. 常见的漏洞类型有哪些
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、目录遍历、弱口令等均可导致敏感信息泄露,攻击者可以通过漏洞获得敏感信息。针对不同成因,防御方式不同。
B. 常见的网络漏洞有哪些
A.按漏洞可能对系统造成的直接威胁
可以大致分成以下几类,事实上一个系统漏洞对安全造成的威胁远不限于它的直接可能性,如果攻击者获得了对系统的一般用户访问权限,他就极有可能再通过利用本地漏洞把自己升级为管理员权限:
一.远程管理员权限
攻击者无须一个账号登录到本地直接获得远程系统的管理员权限,通常通过攻击以root身份执行的有缺陷的系统守护进程来完成。漏洞的绝大部分来源于缓冲区溢出,少部分来自守护进程本身的逻辑缺陷。
典型漏洞:
1、IMAP4rev1 v10.190版的守护进程imapd的AUTHENTICATE命令存在读入参数时未做长度检查,构造一个精心设计的AUTH命令串,可以溢出imapd的缓冲区,执行指定的命令,由于imapd以root身份运行,从而直接获得机器的root权限。
2、WindowsNT IIS 4.0的ISAPI DLL对输入的URL未做适当的边界检查,如果构造一个超长的URL,可以溢出IIS (inetinfo.exe)的缓冲区,执行我们指定的代码。由于inetinfo.exe是以local system身份启动,溢出后可以直接得到管理员权限。
3、早期AIX 3.2 rlogind代码存在认证逻辑缺陷,用rlogin victim.com ?Cl ?Cfroot,可以直接以root身份登录到系统而无须提供口令。
二.本地管理员权限
攻击者在已有一个本地账号能够登录到系统的情况下,通过攻击本地某些有缺陷的suid程序,竞争条件等手段,得到系统的管理员权限。
典型漏洞:
1、RedHat linux的restore是个suid程序,它的执行依靠一个中RSH的环境变量,通过设置环境变量PATH,可以使RSH变量中的可执行程序以root身份运行,从而获得系统的root权限。
2、Solaris 7的Xsun程序有suid位,它对输入参数未做有效的边界检查,可以很容易地溢出它的缓冲区,以root身份运行我们指定的代码,从而获得管理员权限。
3、在windows2000下,攻击者就有机会让网络DDE(一种在不同的Windows机器上的应用程序之间动态共享数据的技术)代理在本地系统用户的安全上下文中执行其指定的代码,从而提升权限并完全控制本地机器。
三.普通用户访问权限
攻击者利用服务器的漏洞,取得系统的普通用户存取权限,对UNIX类系统通常是shell访问权限,对Windows系统通常是cmd.exe的访问权限,能够以一般用户的身份执行程序,存取文件。攻击者通常攻击以非root身份运行的守护进程,有缺陷的cgi程序等手段获得这种访问权限。
典型漏洞:
1、UBB是个广泛运行于各种UNIX和Windows系统的论坛程序,用PERL实现,它的5.19以下版本存在输入验证问题,通过提交精心构造的表单内容,可以使UBB去执行shell命令,因为一般的web服务器以nobody身份运行,因此可以得到一个nobody shell。比如提交这样的数据:topic='012345.ubb mail [email protected]
2、RedHat Linux 6.2带的innd 2.2.2.3版新闻服务器,存在缓冲区溢出漏洞,通过一个精心构造的新闻信件可以使innd服务器以news身份运行我们指定的代码,得到一个innd权限的shell。
3、Windows IIS 4.0-5.0存在Unicode解码漏洞,可以使攻击者利用cmd.exe以guest组的权限在系统上运行程序。相当于取得了普通用户的权限。
四.权限提升
攻击者在本地通过攻击某些有缺陷的sgid程序,把自己的权限提升到某个非root用户的水平。获得管理员权限可以看做是一种特殊的权限提升,只是因为威胁的大小不同而把它独立出来。
典型漏洞:
1、RedHat Linux 6.1带的man程序为sgid man,它存在format bug,通过对它的溢出攻击,可以使攻击者得到man组的用户权限。
2、Solaris 7的write程序为sgid tty,它存在缓冲区溢出问题,通过对它的攻击可以攻击者得到tty组的用户权限。
3、WindowsNT系统中,攻击者能够使系统中其他用户装入一个”特洛化”的porfile,使其他用户执行攻击者的恶意代码,有时甚至是管理员。
C. linux系统下,哪些函数可以引起命令执行漏洞
系统漏洞会影响到的范围很大,包括系统本身及其支撑软件,网络客户和服务器软件,网络路由器和安全防火墙等。
腾讯电脑管家可以修复Windows操作系统漏洞,还可以智能筛选区分出高危漏洞补丁及功能性补丁,操作方法:腾讯电脑管家-工具箱-选择“修复漏洞”。
D. web 应用的常见 漏洞有哪些
web常见的几个漏洞
1. SQL注入
SQL注入攻击是黑客对数据库进行攻击的常用手段之一。
2. XSS跨站点脚本
XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。
3. 缓冲区溢出
缓冲区溢出漏洞是指在程序试图将数据放到及其内存中的某一个位置的时候,因为没有足够的空间就会发生缓冲区溢出的现象。
4. cookies修改
即使 Cookie 被窃取,却因 Cookie 被随机更新,且内容无规律性,攻击者无法加以利用。另外利用了时间戳另一大好处就是防止 Cookie 篡改或重放。
5. 上传漏洞
这个漏洞在DVBBS6.0时代被黑客们利用的最为猖獗,利用上传漏洞可以直接得到WEBSHELL,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞。
6. 命令行注入
所谓的命令行输入就是webshell 了,拿到了权限的黑客可以肆意妄为。
E. 安全漏洞的5个最危险安全漏洞
在应用程序将不可信的数据发送给解释器时,就有可能产生注入漏洞。这种漏洞很普遍,会影响到大量方案。最普遍的注入漏洞会影响到SQL、LDAP、XPath、XML解析器和程序参数。
其实,通过分析代码是可以发现注入漏洞的,但是,如果已经将系统部署到了生产环境中了,在测试期间就很难发现这些漏洞。
利用劫持漏洞的网络攻击带来的后果可能有:敏感数据被泄露、拒绝服务等。
攻击者可以运行劫持攻击,从而完全破坏目标系统,并获得其控制权。
注入漏洞可以影响多种软件,其影响依赖于有漏洞的应用程序的传播范围或传播水平。注入漏洞可能带来的一个典型影响就是Bash Bug漏洞。红帽子的安全团队在Linux 中的 Bash shell 中发现了一个危险的安全漏洞“Bash Bug”。对于用户的正常访问,该漏洞允许攻击者的代码如同在外壳 中一样被执行,这就为各种各样的攻击打开了方便之门。
这种类型的漏洞可能带来大规模影响,例如,物联网设备(例如,智能仪表,路由器,网络摄像机等设备)就有可能遭受这种漏洞的威胁。 如果应用程序试图将超过缓冲区容量的数据存放在其中时,就产生了缓冲区溢出漏洞的条件。从外部写入到缓冲区可以使攻击者覆盖邻近内存块的内容,从而导致数据遭到破坏,程序崩溃,甚至可以执行任何恶意代码。
缓冲区溢出攻击难以发现,但与注入攻击相比,也更难以利用。攻击者需要了解目标应用的内存管理,并且知道修改其内容运行攻击的方法。
在典型的攻击中,攻击者将数据发送给一个应用程序,而后者是一个将数据存储在小容量的堆栈缓冲区的程序,这会导致覆盖调用堆栈上的信息,其中包括函数的返回指针。通过这种方法,在合法的功能完成之后,攻击者就可以运行自己的恶意代码,并且可以将控制交给包含攻击者数据的漏洞利用代码。
由于针对SCADA的攻击日益增多,所以这种缓冲区溢出漏洞被利用的频率也会越来越高。 数据可以存储在系统中,或在两个实体(如服务器或浏览器)之间传输,如果缺乏足够的保护,就会发生敏感数据泄露的问题。
敏感数据的泄露可涉及到访问静态数据、正在传输数据,其中也包括备份和用户正在浏览的数据。
攻击者有多种选择,例如,如果要窃取或攻击数据存储器,他可以使用基于恶意软件的攻击,通过中间人攻击截获服务器和浏览器之间的数据,或者欺骗Web应用程序做出一些动作(例如,改变电子商务应用程序中购物车的内容,或者提升特权)等。
敏感数据泄露主要是由于敏感数据缺少加密造成的,但是即使实施了加密机制,其他事件也会造成信息泄露。密钥的生成和管理及算法等不够强健在许多行业和应用中是很普遍的事情。
近一年来发生的有许多事件都表明这种漏洞的严重性,特别是在两方面表面尤为突出:一是实施了错误的加密算法,二是移动和云的方案缺乏加密。
2014年九月,美国计算机紧急事件响应小组协调中心(CERT/CC)的专家对一些没有能够正确验证SSL证书的安卓应用进行了测试,并发布了测试报告。
CERT的报告认为,许多应用正使用有漏洞的库,如Flurry库。因此,安卓用户就会暴露在这种攻击中,并仅有少量公司采取措施保障其产品的安全。
攻击者往往并不直接破解加密,而是利用敏感数据的泄露缺陷。这就意味着攻击者会窃取加密密钥,运行中间人攻击,从服务器或用户的浏览器上窃取正在传输的明文数据。
注意,敏感数据泄露往往是攻击活动第一阶段的一个组成部分,也就是说攻击者随后会利用其它黑客技术。
管理敏感数据的每家企业都有可能遭受攻击,特别是那些有大量用户的企业,很多用户都有可能为网络攻击打开大门。 如果攻击者利用了认证或会话管理过程的漏洞或缺陷(例如,账户、口令、会话ID被泄露等),并假冒其他用户,就会发生认证和会话管理攻击。
这种攻击非常常见,许多黑客组织都利用这些漏洞访问受害者账户,实施网络间谍活动,或者窃取信息用于犯罪活动。
一个主要的威胁问题与认证和会话管理机制的自定义实施有关,在多数情况下,这种机制会导致攻击活动。这种漏洞影响到WEB应用程序,如用户登出、口令管理、超时、网站登录的“记住我”功能等,而且账户的更新也受到认证漏洞攻击影响。
最大的问题是,如果这种漏洞被成功地利用,攻击者就假冒受害者,用其获得的特权从事任何活动。
不幸的是,由于大量的认证机制是由每个不同的受害者实施的,所以认证和会话管理的攻击漏洞是很难对付的。认证和会话管理系统往往并不一致,这就使得大规模地采用最佳方法并非易事。
攻击者有多种方法可以绕过认证机制,其中包括使用SQL注入攻击对目标账户实施蛮力攻击、从URL中恢复会话标志、利用会话超时、重新利用已经使用的会话令牌,或者破坏用户的浏览器,等等。
最常见的攻击依靠会话,而认证机制往往基于服务器上与每个会话有关的的令牌。取得会话标志的攻击者能够假冒受害者而无需再次提供登录凭据。 这种漏洞其实是最常见也是最危险的。错误配置的服务器和应用程序在网络上数量众多,这为网络攻击打开了大门。
下面是一些典型的安全配置错误:
· 运行过时的软件· 生产环境中的应用程序和产品仍运行在调试模式,或者仍包含调试模块。· 在系统中运行不必要的服务。· 没有配置对服务器资源和服务的访问,导致泄露敏感信息,或者导致攻击者破坏或窃取这些信息。· 没有改变出厂设置(例如,默认密钥和口令)· 不正确的异常管理,导致将系统信息泄露给攻击者。· 使用默认账户。
F. Web应用常见的安全漏洞有哪些
Web应用常见的安全漏洞:
1、SQL注入
注入是一个安全漏洞,允许攻击者通过操纵用户提供的数据来更改后端SQL语句。当用户输入作为命令或查询的一部分被发送到解释器并且欺骗解释器执行非预期的命令并且允许访问未授权的数据时,发生注入。
2、跨站脚本攻击 (XSS)
XSS漏洞针对嵌入在客户端(即用户浏览器而不是服务器端)的页面中嵌入的脚本。当应用程序获取不受信任的数据并将其发送到Web浏览器而未经适当验证时,可能会出现这些缺陷。
3、跨站点请求伪造
CSRF攻击是指恶意网站,电子邮件或程序导致用户的浏览器在用户当前已对其进行身份验证的受信任站点上执行不需要的操作时发生的攻击。
4、无法限制URL访问
Web应用程序在呈现受保护的链接和按钮之前检查URL访问权限 每次访问这些页面时,应用程序都需要执行类似的访问控制检查。通过智能猜测,攻击者可以访问权限页面。攻击者可以访问敏感页面,调用函数和查看机密信息。
5、不安全的加密存储
不安全的加密存储是一种常见的漏洞,在敏感数据未安全存储时存在。用户凭据,配置文件信息,健康详细信息,信用卡信息等属于网站上的敏感数据信息。
(6)哪种类型漏洞能够造成命令执行扩展阅读
web应用漏洞发生的市场背景:
由于Web服务器提供了几种不同的方式将请求转发给应用服务器,并将修改过的或新的网页发回给最终用户,这使得非法闯入网络变得更加容易。
许多程序员不知道如何开发安全的应用程序。他们的经验也许是开发独立应用程序或Intranet Web应用程序,这些应用程序没有考虑到在安全缺陷被利用时可能会出现灾难性后果。
许多Web应用程序容易受到通过服务器、应用程序和内部已开发的代码进行的攻击。这些攻击行动直接通过了周边防火墙安全措施,因为端口80或443(SSL,安全套接字协议层)必须开放,以便让应用程序正常运行。
G. 按漏洞可能对系统造成的直接威胁,可以讲漏洞分成哪些类别
漏洞按其对目标主机的危险程度一般分为三级:
(1)A级漏洞
它是允许恶意入侵者访问并可能会破坏整个目标系统的漏洞,如,允许远程用户未经授权访问的漏洞。A级漏洞是威胁最大的一种漏洞,大多数A级漏洞是由于较差的系统管理或配置有误造成的。同时,几乎可以在不同的地方,在任意类型的远程访问软件中都可以找到这样的漏洞。如:FTP,GOPHER,TELNET,SENDMAIL,FINGER等一些网络程序常存在一些严重的A级漏洞。
(2)B级漏洞
它是允许本地用户提高访问权限,并可能允许其获得系统控制的漏洞。例如,允许本地用户(本地用户是在目标机器或网络上拥有账号的所有用户,并无地理位置上的含义)非法访问的漏洞。网络上大多数B级漏洞是由应用程序中的一些缺陷或代码错误引起的。
SENDMAIL和TELNET都是典型的例子。因编程缺陷或程序设计语言的问题造成的缓冲区溢出问题是一个典型的B级安全漏洞。据统计,利用缓冲区溢出进行攻击占所有系统攻击的80%以上。
(3)C级漏洞
它是任何允许用户中断、降低或阻碍系统操作的漏洞。如,拒绝服务漏洞。拒绝服务攻击没有对目标主机进行破坏的危险,攻击只是为了达到某种目的,对目标主机进行故意捣乱。最典型的一种拒绝服务攻击是SYN-Flooder,即入侵者将大量的连接请求发往目标服务器,目标主机不得不处理这些“半开”的SYN,然而并不能得到ACK回答,很快服务器将用完所有的内存而挂起,任何用户都不能再从服务器上获得服务。
综上所述,对系统危害最严重的是A级漏洞,其次是B级漏洞,C级漏洞是对系统正常工作进行干扰。
H. 什么是高级漏洞
1.高级漏洞就是指具有能够远程执行高权限命令或其他危险操作的漏洞2.也是指一些刚被发现,并且造成了很大损失的漏洞
I. 漏洞有哪几种
Microsoft Windows 动画图标文件栈溢出漏洞
发布日期:2007-04-02
受影响的软件及系统:
====================
Microsoft Windows 2000
Microsoft Windows XP
Microsoft Windows Server 2003
Microsoft Windows Vista
综述:
======
Microsoft Windows在处理畸形的动画图标文件时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制用户机器。微软已经发布了安全公告MS07-017来修补这一漏洞,请Windows用户尽快安装升级补丁。
分析:
======
Microsoft Windows 的user32.dll中用于处理动画光标的LoadAniIcon()函数没有正确的验证动画光标文件中所提供动画光标文件头的大小,存在栈溢出漏洞。
该函数可能在很多场合被调用。例如,WEB站点可能使用动画光标文件指定鼠标指针停留在超级链接上时所应使用的图标,资源管理器在打开包含动画光标文件的文件夹时会解析该文件的内容作为文件图标。也就是说,入侵者可以通过在网页中插入恶意代码,或者发送恶意邮件,或者将动画光标文件拷贝到共享目录等方式来进行入侵。
值得注意的是,资源管理器在遇到.ani、.cur或.ico等扩展名时会试图调用LoadAniIcon()函数进行解析,其它扩展名则不会,但是在网页中插入恶意动画光标时,光标文件的扩展名则没有限制,譬如.jpg。
该漏洞的影响范围十分广泛,涵盖了Windows 2000/XP/2003/Vista的所有版本,并且可以由多种途径触发,导致执行任意指令,所以威胁非常大。目前国内已经有入侵者利用该漏洞进行“网站挂马”。
解决方法:
==========
厂商补丁:
微软已经发布了MS07-017来修复这一漏洞,您可以根据您的操作系统手工下载并安装相关补丁:
http://www.microsoft.com/technet/Security/bulletin/ms07-017.mspx
您也可以通过微软的自动更新("Windows update")功能来自动安装相关补丁。
临时解决方案:
如果您不能立刻安装补丁,NSFOCUS建议您采取以下措施以降低威胁:
1、以文本方式而不是HTML方式打开邮件。这可以避免被入侵者通过发送邮件的方式进行攻击。
2、经过测试,FireFox和Opera浏览器并不支持ANI文件,所以使用这两种浏览器是安全的。但是其它基于IE内核的浏览器都会受该漏洞的影响,包括FireFox的IE Tab插件。由于即使是那些本身合法的站点也可能因为被入侵而插入恶意代码,所以我们建议在微软发布安全补丁之前,无论访问什么站点,都应尽可能使用 FireFox或Opera浏览器,而不要使用IE或者任何基于IE内核的浏览器。
3、打开资源浏览器的“工具->文件夹选项”菜单,在“Web 视图”中选择“使用Windows传统风格的文件夹”。这个配置可以避免在资源浏览器中打开包含恶意动画光标文件而导致的入侵
4、如果您的操作系统是Windows XP/2003/Vista,请参考下面这个链接,将DEP配置为“为除下列选定程序之外的所有程序和服务启用 DEP”:
http://www.microsoft.com/china/technet/security/prodtech/windowsxp/depcnfxp.mspx
这并不能消除漏洞,但是可以大大降低因为该漏洞而被入侵的风险。
Microsoft Windows DNS服务RPC接口远程缓冲区溢出漏洞
发布日期:2007-04-13
受影响的软件及系统:
====================
Microsoft Windows 2000 Server
Microsoft Windows Server 2003
综述:
======
Windows 2000和Windows 2003的DNS服务存在安全漏洞,利用该漏洞,攻击者可以远程入侵服务器,获得本地系统权限。目前已经有黑客利用此漏洞进行入侵的报告,绿盟科技建议受影响的用户尽快采取临时措施进行防范。
分析:
======
微软新发布了一份关于DNS服务RPC接口的安全公告。公告中提示,DNS服务的RPC接口存在缓冲区溢出漏洞,攻击者通过这个漏洞可以获得本地系统权限。该漏洞影响Windows 2000 Server和Windows 2003的所有版本。
绿盟科技安全研究小组对该漏洞进行跟踪分析后发现,利用该漏洞无需认证,通过匿名访问就可以实现攻击,并且这是一个易于编写攻击代码的堆栈溢出漏洞,所以危险程度相当高。
建议广大Windows服务器用户尽快检查自己的系统是否开放了DNS服务,如果并不需要使用该服务,最好将其停止并禁用;如果确实需要开放该服务,建议按照我们提供的临时解决方案进行安全配置。
解决方法:
==========
厂商补丁:
微软已经在安全公告MS07-029中修复了这一漏洞,我们建议您使用Windows系统自带的"Windows update"功能下载最新补丁。
您也可以通过微软的安全公告选择并安装针对您所用系统的安全补丁:
http://www.microsoft.com/china/technet/security/bulletin/MS07-029.mspx
补丁下载地址:
Microsoft Windows 2000 Service Pack 4:
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=d9de0480-5fa9-4974-a82f-5d89056484c4
Microsoft Windows Server 2003 Service Pack 1和Microsoft Windows Server
2003 Service Pack 2:
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=dfb5eaca-788b-475c-9817-491f0b7cf295
Microsoft Windows Server 2003 with SP1 for Itanium-based Systems和Microsoft
Windows Server 2003 with SP2 for Itanium-based Systems:
http://www.microsoft.com/downloads/details.aspx?FamilyId=d4ce0aa8-46ac-446c-b1e3-ff76f1311610
Microsoft Windows Server 2003 x64 Edition Service Pack 1和Microsoft Windows
Server 2003 x64 Edition Service Pack 2:
http://www.microsoft.com/downloads/details.aspx?FamilyId=e7a7b46b-775d-4912-8119-3ab9a95d775a
临时解决方案:
* 如果您不需要提供DNS服务,则可以在控制面板->管理工具->服务中将DNS Server
服务关闭。
* 如果您确实需要提供DNS服务,可以通过禁用DNS的RPC接口来阻止远程攻击。
1、在开始菜单上点击“运行”,输入“Regedit”,然后按回车,打开注册表编辑器。
2、找到这个键值“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters”,
然后新建一个“双字节值”,命名为“RpcProtocol”。
3、将“RpcProtocol”的值设置为“4”。
4、重启DNS服务。
上述操作不会影响通常的DNS服务。
J. 安全漏洞的分类
大众类软件的漏洞。如Windows的漏洞、IE的漏洞等等。
专用软件的漏洞。如Oracle漏洞、Apache漏洞等等。 能读按理不能读的数据,包括内存中的数据、文件中的数据、用户输入的数据、数据库中的数据、网络上传输的数据等等。
能把指定的内容写入指定的地方(这个地方包括文件、内存、数据库等)
输入的数据能被执行(包括按机器码执行、按Shell代码执行、按SQL代码执行等等) 远程漏洞,攻击者可以利用并直接通过网络发起攻击的漏洞。这类漏洞危害极大,攻击者能随心所欲的通过此漏洞操作他人的电脑。并且此类漏洞很容易导致蠕虫攻击,在Windows。
本地漏洞,攻击者必须在本机拥有访问权限前提下才能发起攻击的漏洞。比较典型的是本地权限提升漏洞,这类漏洞在Unix系统中广泛存在,能让普通用户获得最高管理员权限。
触发条件上看可以分为:
主动触发漏洞,攻击者可以主动利用该漏洞进行攻击,如直接访问他人计算机。
被动触发漏洞,必须要计算机的操作人员配合才能进行攻击利用的漏洞。比如攻击者给管理员发一封邮件,带了一个特殊的jpg图片文件,如果管理员打开图片文件就会导致看图软件的某个漏洞被触发,从而系统被攻击,但如果管理员不看这个图片则不会受攻击。 文件操作类型,主要为操作的目标文件路径可被控制(如通过参数、配置文件、环境变量、符号链接灯),这样就可能导致下面两个问题:
写入内容可被控制,从而可伪造文件内容,导致权限提升或直接修改重要数据(如修改存贷数据),这类漏洞有很多,如历史上Oracle TNS LOG文件可指定漏洞,可导致任何人可控制运行Oracle服务的计算机;
内容信息可被输出,包含内容被打印到屏幕、记录到可读的日志文件、产生可被用户读的core文件等等,这类漏洞在历史上Unix系统中的crontab子系统中出现过很多次,普通用户能读受保护的shadow文件;
内存覆盖,主要为内存单元可指定,写入内容可指定,这样就能执行攻击者想执行的代码(缓冲区溢出、格式串漏洞、PTrace漏洞、历史上Windows2000的硬件调试寄存器用户可写漏洞)或直接修改内存中的机密数据。
逻辑错误,这类漏洞广泛存在,但很少有范式,所以难以查觉,可细分为:
条件竞争漏洞(通常为设计问题,典型的有Ptrace漏洞、广泛存在的文件操作时序竞争)
策略错误,通常为设计问题,如历史上FreeBSD的Smart IO漏洞。
算法问题(通常为设计问题或代码实现问题),如历史上微软的Windows 95/98的共享口令可轻易获取漏洞。
设计的不完善,如TCP/IP协议中的3步握手导致了SYN FLOOD拒绝服务攻击。
实现中的错误(通常为设计没有问题,但编码人员出现了逻辑错误,如历史上博彩系统的伪随机算法实现问题)
外部命令执行问题,典型的有外部命令可被控制(通过PATH变量,输入中的SHELL特殊字符等等)和SQL注入问题。 已发现很久的漏洞:厂商已经发布补丁或修补方法,很多人都已经知道。这类漏洞通常很多人已经进行了修补,宏观上看危害比较小。
刚发现的漏洞:厂商刚发补丁或修补方法,知道的人还不多。相对于上一种漏洞其危害性较大,如果此时出现了蠕虫或傻瓜化的利用程序,那么会导致大批系统受到攻击。
0day:还没有公开的漏洞,在私下交易中的。这类漏洞通常对大众不会有什么影响,但会导致攻击者瞄准的目标受到精确攻击,危害也是非常之大。