WEB应用安全问题

                                  WEB应用安全问题

 

一、 SQL注入

Web应用程序开发使用的SQL、Perl和PHP等语言,属于解释型语言,即在运行时,有一个运行时组件解释语言代码并执行其中包含的指令。这类解释型语言易于产生代码注入攻击。攻击者可以提交一段预先构造的恶意代码作为输入,输入的信息被解释成程序的指令执行,向应用程序实施攻击。 代码注入攻击中,SQL注入是危害最严重的攻击方式之一

SQL注入攻击产生的原因是由于程序员水平缺乏安全开发经验,在编写代码时,设有对用户输入数据的合法性进行判断,使得攻击者可将SQL语句提交到数库中,从面跳过安全机制操纵数据库。由于Web应用程序开发门槛比较低,所以SOL注入漏洞普遍存在

二、 跨站脚本

跨站脚本是由于网页支持脚本的执行,而程序员又没有对用户输入的数据进行严格的控制,使得攻击者可以向web页面插入恶意HTML代码,当用户浏览该页面时,嵌入其中的HTML代码会被执行,从而实现攻击者的特殊目的。跨站脚本的危害包括将用户引导到其他的地址(可能是恶意的)、窃取用户的敏感信息、屏蔽页面特定信息、伪造页面信息、拒绝服务攻击、突破外网内网不同安全设置等,或与其他漏洞结合,形成更大的影响。

跨站脚本问题与SQL注人漏洞类似,都是利程序员编写脚本或页面过滤不足所导致。相对SOL注入而言,跨站脚本安全问题和特点更复杂,这使得对跨站脚本漏洞的防范难度更大。跨站脚本的防御措施主要是针对提交的信息进行严格过滤。

三、 失效的验证和会话管理

失效的验证和会话管理指Web应用程序中与身份认证和会话管理相关的代码功能往往没有正确实现,导致攻击者破坏口令、密钥、会话令牌或攻击其他的漏洞去冒充其他用户的身份。

Web应用通常使用用户ID和口令来进行用户认证,并使用会话来保有每个用户的请求流。因为HTTP协议本身并不提供这样的功能,所以Web应用程序和环境须自己提供会话能力,妥善保护开发人员自己创建的会话 token以免攻击者劫持活跃会话。但如果编写这些代码时存在安全缺陷,则可能导致出现 session或 cookies内所存的数据泄漏。

四、 不安全的对象直接引用

不安全的对象直接引用指当web开发人未妥善保护内部实现对象,而在暴露出某些内部对象的引用时,如内部某个文件、目录或者数据库口令,攻击者可能利用这个不安全的直接对象引用去访问未授权资源,尤其是在其他访问控制或保护措施不到位时,更可能导致读取系统上任意文件或重要资料。

对于Web系统中,通常有的用户只具有部分访间权限。但是在生成Web页面时,应用程序经常使用对象的实名或关键字,而不是对象的间接引用数字。此时攻击者可以通过代码分析和尝试来直接访问这些对象,从而可能访问未授权资源。

五、 跨站请求伪造

跨站请求伪造是一种允许攻击者通过受害者发送任意HTTP请求的一类攻击方法,尤其是攻击者迫使已登录Web应用程序的合法使用者执行恶意的HTTP指令,而Web应用程序却当成合法请求处理,使得攻击者的恶意指令被正常执行。

在跨站请求伪造中,受害者通常是一个不知情的同谋,所有的伪造请求都由他发起,而不是攻击者。这样,Web应用就很难确定哪些请求是属于跨站请求伪造攻击。利用跨站伪造请求,攻击者能让受害用户修改该受害用户允许修改的任何数据,或者是执行该受害用户被授权使用的任何功能。

六、安全的配置管理

不安全的配置管理,指由于没有对Web应用程序及部署环境进行安全的配置,导致攻击者通过默认账户、测试网页、系统漏洞、未被保护的文件和目录及不必要的服务等,以得对系统未授权的访问或了解。

不安全的配置管理可以发生在一个Web应用系统的任何层面,包括操作系统、web务器、应用服务器、框架和自定义代码等方面,这些层面的不正确配置和部署,则可能导致攻击者的恶意攻击,使得攻击者能访间一些未授权的系统数据或功能,甚至会导致系完全被控制

七、 不安全的密码存储

不安全的密码存储,指Web应用程序没有使用加密算法或使用较弱的加密算法对敏感性资料加密存储,或简单地将密钥储存于容易被获取之处。

许多Web应用程序存在大量敏感数据,包括信用卡、社保卡号码、身份认证书等。Web应用这些敏感信息存储到数据库或者文件系统中,并使用适当的加密措施或Hash算法来保护。通常的漏洞是应该加密的数据不进行加密;在使用加密的情况下,常见的问题是不安全的密钥生成和储存、不轮换密钥、使用弱算法。政击者可能利用这种弱点来实施身份盗窃、信用卡许骗或其他犯罪行为。

八、错误的访问控制

错误的访问控制是指某些网页没有做好权限控制,使得攻击者可通过网址直接访网。这种漏洞允许攻击者访间未经授权的功能

通常,Web应用在显示受保护的页面之前会检查用户的访问权限,但是,当Web应用在给不同用户授予对各页面的不同的访问权限,可能存在设置方面的文题,从而导致攻击者可以不需要权限直接访问。Web中的某些隐藏的、未正确设置权限的页面也可能被攻击者直接访问。

九、 传输保护

薄弱的传输保护是指Web应用在需要传输敏感信息时没有使用安全的传输通道,从而导致敏感信息泄露或被恶意篡改。

Web应用程序在编写时,由于没有进行仔细安全设计,结果没有提供保护网络数据流的措施,如身份认证、数据加密、完整性保护等,或在保护时采用了弱算法、使用过期或无效的数字证书等。如有的Web应用在身份验证过程中使用SSL协议进行保护,但是传输数据时没有使用,因此会暴露传输的敏感数据和会话D等信息。

十、 未经验证的网址重定向

未经验证的网址重定向指某些Web程序提供网页重定向功能,让使用者可通过该程序连接到其他网站,攻击者可利用这种特性,将恶意网站隐藏在网页重定向的参数中发送给使用者。

十一、 不恰当的异常处理

不恰当的异常处理,是指 web 应用在处理内部异常、错误时处理不当,导致会给攻击者透露出过多的 web 应用架构信息和安全配置信息。

在 web 正常运行,或当攻击者控制 web 的输人时,经常能导致 web 应用产生错误既况,如内存不够、空指针、系统调用失败、数据库不存在、网络不通等。正确地处理这些错误异常,给用户提供详细有意义的错误信息、给网站维护者提供诊断信息但不能给攻击者提供任何信息。不恰当的异常处理会将详细的内部错误信息比如堆栈追溯、数据库清空及错误的代码等提供给攻击者.从而给网站带来很多安全问题。

十二、 拒绝服务攻击

一般地,Web 应用根据其硬件和软件配置,有一定的用户并发访问能力,如能同时处理两百个用户的访问情况。但是,由于 web 应用的开放性,难以分辨出攻击和普通的访问,所以更容易受到拒绝服务式攻击。一个攻击者可以从一台主机产生足够多的流量来耗尽合法的用户使用系统应用程序的特定资源。这些资源包括带宽、数据库链接、磁盘存储、 CPU 、内存、线程或应用程序的特定资源。例如,一个网站允许未授权的用户来请求信息.攻击者可以利用这点使用一个 HTTP 请求发出很多数据库的查询,并很容易地发送许多类似请求,这样数据库连接资源池很快就会被耗光,合法的用户将不能使用服务。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值