常见的漏洞类型有

2021-01-28 10:58发布

5条回答
芒果
2楼 · 2021-01-28 11:41

一、SQL注入漏掉

二、跨站脚本漏洞

三、弱口令漏洞

四、HTTP报头追踪漏洞

五、Struts2远程命令执行漏洞

六、框架钓鱼漏洞(框架注入漏洞)

七、文件上传漏洞

八、应用程序测试脚本泄露

十、未加密登录请求

十一、敏感信息泄露漏洞

桥豆麻袋
3楼 · 2021-01-28 16:20

1、 大部分的中小型网站都是使用某个建站模块建设的,而这些通用的建站模块不仅本身存在各种安全漏洞,同时一些使用它们的建站人员根本没有在建站完成后对站点进行安全加固。

2、 Web站点开发人员对安全不够重视,在编写网页时,没有对用户的输入进行验证,没有对数据的大小、类型和字符串进行规范,没有限制API函数对系统资源的使用,以及对Web服务器没有进行相应的资源限制,引起拒绝服务攻击。

3、 管理员对Web服务器主机系统及Web应用程序本身配置不当,一些中小企业自己管理的Web站点根本没有足够的技术人员来管理它们的安全。

4、 当Web站点是托管在某个电信机房时,对它们进行的远程管理存在安全风险。

5、 Web站点管理员本身技术水平的限制,对各种针对Web站点的安全攻击不了解,也没有端正工作态度,没能对站点进行认真的安全加固,以及进行日常的安全检查。

6、 Web站点所处网络大环境的安全设计不合理,以及没有将安全防范工作融入到站点整个生命周期的各个阶段。


只爱泡泡的哆啦A梦呀
4楼 · 2021-01-28 16:27

01注入漏洞

1)SQL注入(SQL Injection)

2)SQL盲注(SQL Blind Injection)

3)OS命令注入

4)Xpath注入

02:失效的身份认证和会话管理

03敏感信息泄露

04XML外部实体(XXE)

05失效的访问控制

06安全配置错误

07跨站脚本(XSS)

08不安全的反序列化

09使用含有已知漏洞的组件

10不足的日志记录和监控

11跨站请求伪造(CSRF)

12未验证的重定向和转发

12弱口令漏洞

13文件上传漏洞

14缓冲区溢出

15业务逻辑漏洞

爱学习的小巴
5楼 · 2021-01-29 14:42

一、SQL 注入漏洞
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 报头追踪漏洞
HTTP/1.1 (RFC2616 )规范定义了HTTP TRACE 方法,主要是用于客
户端通过向Web 服务器提交TRACE 请求来进行测试或获得诊断信息。当Web 服
务器启用TRACE 时,提交的请求头会在服务器响应的内容(Body )中完整的返回,
其中HTTP 头很可能包括Session Token 、Cookies 或其它认证信息。攻击者可以
利用此漏洞来欺骗合法用户并得到他们的私人信息。该漏洞往往与其它方式配合来
进行有效攻击,由于HTTP TRACE 请求可以通过客户浏览器脚本发起(如
XMLHttpRequest ),并可以通过DOM 接口来访问,因此很容易被攻击者利用。
防御HTTP 报头追踪漏洞的方法通常禁用HTTP TRACE 方法。
五、Struts2 远程命令执行漏洞
Apache Struts 是一款建立Java web 应用程序的开放源代码架构。
Apache Struts 存在一个输入过滤错误,如果遇到转换错误可被利用注入和执行任
意Java 代码。
网站存在远程代码执行漏洞的大部分原因是由于网站采用了Apache
Struts Xwork 作为网站应用框架,由于该软件存在远程代码执高危漏洞,导致网站
面临安全风险。CNVD 处置过诸多此类漏洞,例如:“ GPS 车载卫星定位系统”网
站存在远程命令执行漏洞(CNVD-2012-13934) ;Aspcms 留言本远程代码执行漏
洞( CNVD-2012-11590 )等。
修复此类漏洞,只需到Apache 官网升级Apache Struts 到最新版本:
http://struts.apache.org
六、框架钓鱼漏洞(框架注入漏洞)
框架注入攻击是针对Internet Explorer 5 、Internet Explorer 6 、与
Internet Explorer 7 攻击的一种。这种攻击导致Internet Explorer 不检查结果框
架的目的网站,因而允许任意代码像Javascript 或者VBScript 跨框架存取。这种
攻击也发生在代码透过多框架注入,肇因于脚本并不确认来自多框架的输入。这种
其他形式的框架注入会影响所有的不确认不受信任输入的各厂商浏览器和脚本。
如果应用程序不要求不同的框架互相通信,就可以通过完全删除框架名
称、使用匿名框架防止框架注入。但是,因为应用程序通常都要求框架之间相互通
信,因此这种方法并不可行。因此,通常使用命名框架,但在每个会话中使用不同
的框架,并且使用无法预测的名称。一种可行的方法是在每个基本的框架名称后附
加用户的会话令牌,如main_display 。
七、文件上传漏洞
文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成
的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,
攻击者可通过Web 访问的目录上传任意文件,包括网站后门文件( webshell ),
进而远程控制网站服务器。
因此,在开发网站及应用程序过程中,需严格限制和校验上传的文件,禁
止上传恶意代码的文件。同时限制相关目录的执行权限,防范webshell 攻击。
八、应用程序测试脚本泄露
由于测试脚本对提交的参数数据缺少充分过滤,远程攻击者可以利用洞
以WEB 进程权限在系统上查看任意文件内容。防御此类漏洞通常需严格过滤提交
的数据,有效检测攻击。
九、私有IP 地址泄露漏洞
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、目录遍历、弱口令等均可导致敏感信息泄露,攻击者可
以通过漏洞获得敏感信息。针对不同成因,防御方式不同。

相关问题推荐

  • 回答 6

    这个还是因人而异吧,看你自己对哪方面感兴趣,兴趣是最好的老师,感兴趣了才愿意钻研学习下去,简单说一下这两个学习知识方面的不同吧:软件测试岗位虽然对于从业者的知识基础要求不高,但是软件测试岗位所涉及到的知识面还是比较广的,所以软件测试人员也需...

  • 回答 5

    SQL注入漏洞的危害:1、数据库中存储的用户隐私信息泄漏;2、通过操作数据库对某些网页进行篡改;3、修改数据库一些字段的值,嵌入网马链接,进行挂马攻击;4、数据库服务器被恶意操作,系统管理员帐户被窜改;5、数据库服务器提供的操作系统支持,让黑客得以...

  • 回答 16

    一、CISP(Certified Information Security Professional)证书中文叫注册信息安全专业人员,由中国信息安全产品测评认证中心实施的国家认证。可以说,这是目前国内对于个人来说认可度最高的信息安全人员资质,堪称最权威、最专业、最系统。根据实际岗位的不...

  • 回答 14

    渗透测试(也称为pentest)是测试移动应用程序漏洞的过程。此测试的主要目的是确保外部人员的重要数据.通过模拟黑客的思维和攻击手段,对计算机业务系统的弱点、技术缺陷和漏洞进行探查评估。经过客户授权后,在不影响业务系统正常运行的条件下,渗透人员在黑...

  • 回答 1

    网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。主要涉及到的有:1、物理措施:例如,保护网络关键设备(如交换机、大型计算机等),制定严格的网络...

  • 回答 33

      网络安全工程师学习内容:  1、计算机应用、计算机网络、通信、信息安全等相关专业本科学历,三年以上网络安全领域工作经验;  2、精通网络安全技术:包括端口、服务漏洞扫描、程序漏洞分析检测、权限管理、入侵和攻击分析追踪、网站渗透、病毒木马防...

  • 回答 26

      学历不是问题,技术才是硬道理!只要你的技术过硬的话,你完全可以进国家安全部门去工作的。比如公安局里的网监工作,大都是九零后的电脑方面的精英。未必都是本科生。还有从社会上特招进去的。所以说,现在是拿技术说话,不是靠学历吃饭的时代了。  网...

  • 回答 16

    网络安全的知识是比较简单的,比较好入门,好多知识理论,大家都是可以听懂的,这是完全没有问题的。网络安全最终的则是实战的应用,怎么把这些理论知识运用到事件中,这些才是重中之重。所以在选择培训机构的时候,也需要尽量去找这些实践操作多的培训机构。...

  • 回答 22

      能够胜任的岗位主要有:渗透测试工程师、大数据安全工程师、信息安全工程师、安全测试工程师、安全服务工程师、安全运维工程师、系统安全工程师、服务器安全工程师、云计算安全工程师、网络安全工程师、安全分析师、渗透讲师等;  按照web渗透、内网渗透...

  • 回答 23

    一些典型的网络安全问题,可以来梳理一下:IP安全:主要的攻击方式有被动攻击的网络窃听,主动攻击的IP欺骗(copy报文伪造、篡改)和路由攻击(中间人攻击);2. DNS安全:这个大家应该比较熟悉,修改DNS的映射表,误导用户的访问流量;3. DoS攻击:单一攻击...

  • 回答 19

    运维一般是设备或者环境的搭建和维护,网络安全可以看做是防火墙

  • 回答 12

    先说说运维工程师和网络工程师的区别。运维工程师是泛指,网络工程师为特指,所以不能这么对比。你应该这么理解,网络工程师是一个人(也可以是理解成一个岗位),而运维则是他的工作内容。从工作内容上来说,运维可细分为桌面运维、网络运维、服务器运维三大...

没有解决我的问题,去提问