文章导航:
什么是 Web安全?Web应用漏洞的防御实现
什么是 Web安全?
Web安全是计算机术语。随着Web2.0、社交网络等一系列新型的互联网产品诞生问世,基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上,Web业务的迅速发展也引起黑客们的窥探,接踵而至的就是Web安全威胁的凸显。
黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。
Web安全的现状及原因
目前,很多业务都依赖于互联网,无论是网上银行、网上购物、还是网络 游戏 等,恶意攻击者们出于各种不良目的,对Web 服务器进行攻击,想方设法通过各种手段获取他人的个人账户信息谋取利益。正是如此,Web业务平台最容易遭受攻击。
而针对Web服务器的攻击也是五花八门,常见的有挂马、SQL注入、缓冲区溢出、嗅探、利用IIS等针对Webserver漏洞进行攻击。
一方面,由于TCP/IP的设计是没有考虑安全问题的,网络上传输的数据是没有任何安全防护。攻击者们可利用系统漏洞造成系统进程缓冲区溢出,攻击者可能获得或者提升自己在有漏洞的系统上的用户权限来运行任意程序,甚至安装和运行恶意代码,窃取机密数据。
而应用层面的软件在开发过程中也没有过多考虑到安全的问题,这使得程序本身存在很多漏洞,诸如缓冲区溢出、SQL注入等等流行的应用层攻击,这些都属于在软件研发过程中疏忽了对安全的考虑所致。
另一方面,个人用户由于好奇心,被攻击者利用木马或病毒程序进行攻击,攻击者将木马或病毒程序捆绑在一些诱人的图片、音视频或免费软件等文件中,然后将这些文件置于某些网站当中,再引诱用户去单击或下载运行,或通过电子邮件附件和QQ、MSN等即时聊天软件,将这些捆绑了木马或病毒的文件发送给用户,让用户打开或运行这些文件。
Web安全的三个细分
Web安全主要分为:1、保护服务器及其数据的安全。2、保护服务器和用户之间传递的信息的安全。3、保护Web应用客户端及其环境安全这三个方面。
Web应用防火墙
Web应用安全问题本质上源于软件质量问题。但Web应用相较传统的软件,具有其独特性。Web应用往往是某个机构所独有的应用,对其存在的漏洞,已知的通用漏洞签名缺乏有效性;
需要频繁地变更以满足业务目标,从而使得很难维持有序的开发周期;需要全面考虑客户端与服务端的复杂交互场景,而往往很多开发者没有很好地理解业务流程;人们通常认为Web开发比较简单,缺乏经验的开发者也可以胜任。
Web应用安全,理想情况下应该在软件开发生命周期遵循安全编码原则,并在各阶段采取相应的安全措施。
然而,多数网站的实际情况是:大量早期开发的Web应用,由于 历史 原因,都存在不同程度的安全问题。对于这些已上线、正提供生产的Web应用,由于其定制化特点决定了没有通用补丁可用,而整改代码因代价过大变得较难施行或者需要较长的整改周期。
这种现状,专业的Web安全防护工具是一种合理的选择。WEB应用防火墙(以下简称WAF)正是这类专业工具,提供了一种安全运维控制手段:基于对HTTP/HTTPS流量的双向分析,为Web应用提供实时的防护。
Web应用漏洞的防御实现
对于常见的Web应用漏洞,应该从3个方面入手进行防御:
1、对 Web应用开发者而言
大部分Web应用常见漏洞都是在Web应用开发中,由于开发者没有对用户输入的参数进行检测或者检测不严格造成的。所以,Web应用开发者应该树立很强的安全意识,开发中编写安全代码;
对用户提交的URL、查询关键字、HTTP头、POST数据等进行严格的检测和限制,只接受一定长度范围内、采用适当格式及编码的字符,阻塞、过滤或者忽略其它的任何字符。通过编写安全的Web应用代码,可以消除绝大部分的Web应用安全问题。
2、对Web网站管理员而言
作为负责网站日常维护管理工作Web管理员,应该及时跟踪并安装最新的、支撑Web网站运行的各种软件的安全补丁,确保攻击者无法通过软件漏洞对网站进行攻击。
除了软件本身的漏洞外,Web服务器、数据库等不正确的配置也可能导致Web应用安全问题。Web网站管理员应该对网站各种软件配置进行仔细检测,降低安全问题的出现可能。
此外,Web管理员还应该定期审计Web服务器日志,检测是否存在异常访问,及早发现潜在的安全问题。
3、使用网络防攻击设备
前两种都是预防方式,相对来说很理想化。在现实中,Web应用系统的漏洞仍旧不可避免:部分Web网站已经存在大量的安全漏洞,而Web开发者和网站管理员并没有意识到或发现这些安全漏洞。
由于Web应用是采用HTTP协议,普通的防火墙设备无法对Web类攻击进行防御,因此需要使用入侵防御设备来实现安全防护。
常见WEB攻击之Session攻击(会话劫持)
Session对于Web应用无疑是最重要的,也是最复杂的。对于web应用程序来说,加强安全性的第一条原则就是 – 不要信任来自客户端的数据,一定要进行数据验证以及过滤,才能在程序中使用,进而保存到数据层。 然而,为了维持来自同一个用户的不同请求之间的状态, 客户端必须要给服务器端发送一个唯一的身份标识符(Session ID)。 很显然,这和前面提到的安全原则是矛盾的,但是没有办法,http协议是无状态的,为了维持状态,我们别无选择。 可以看出,web应用程序中最脆弱的环节就是session,因为服务器端是通过来自客户端的一个身份标识来认证用户的, 所以session是web应用程序中最需要加强安全性的环节。
基于session的攻击有很多种方式。大部分的手段都是首先通过捕获合法用户的session, 然后冒充该用户来访问系统。也就是说,攻击者至少必须要获取到一个有效的session标识符,用于接下来的身份验证。
在Session攻击中又分为会话劫持和会话固定两种,篇幅原因下面简单介绍会话劫持攻击的攻击方式和防御措施
会话劫持(Session hijacking),这是一种通过获取用户Session ID后,使用该Session ID登录目标账号的攻击方法,此时攻击者实际上是使用了目标账户的有效Session。会话劫持的第一步是取得一个合法的会话标识来伪装成合法用户,因此需要保证会话标识不被泄漏。
1、 目标用户需要先登录站点;
2、 登录成功后,该用户会得到站点提供的一个会话标识SessionID;
3、 攻击者通过某种攻击手段捕获Session ID;
4、 攻击者通过捕获到的Session ID访问站点即可获得目标用户合法会话。
1、 暴力破解:尝试各种Session ID,直到破解为止;
2、 预测:如果Session ID使用非随机的方式产生,那么就有可能计算出来;
3、 窃取:使用网络嗅探,XSS攻击等方法获得。
确保User-Agent头部信息一致的确是有效的,如果会话标识通过cookie传递,攻击者能取得会话标识,他同时也能取得其它HTTP头部。由于cookie暴露与浏览器漏洞或跨站脚本漏洞相关,受害者需要访问攻击者的网站并暴露所有头部信息。则攻击者只需重建头部即可进行攻击了。
因此前提需要做好XSS防御
对于常用框架来说,其内部Session的实现机制虽然不是很安全,但是关于生成Session ID的环节还是比较安全的,这个随机的Session ID往往是极其复杂的并且难于被预测出来,所以,对于第一、第二种攻击方式基本上是不太可能成功的。
对于第三种方式大多使用网络数据通讯层进行攻击获取,可以使用SSL进行防御。
在应用层上也可以做出相应的防御措施:
目前有三种广泛使用的在Web环境中维护会话(传递Session ID)的方法:URL参数,隐藏域和Cookie。其中每一种都各有利弊,Cookie已经被证明是三种方法中最方便最安全的。从安全的观点,如果不是全部也是绝大多数针对基于Cookie的会话管理机制的攻击对于URL或是隐藏域机制同样适用,但是反过来却不一定,这就让Cookie成为从安全考虑的最佳选择。
1、 更改Session名称。PHP中Session的默认名称是PHPSESSID,此变量会保存在Cookie中,如果攻击者不分析站点,就不能猜到Session名称,阻挡部分攻击。
2、 关闭透明化Session ID。透明化Session ID指当浏览器中的Http请求没有使用Cookie来存放Session ID时,Session ID则使用URL来传递。
3、 设置HttpOnly。通过设置Cookie的HttpOnly为true,可以防止客户端脚本访问这个Cookie,从而有效的防止XSS攻击。
4、 关闭所有phpinfo类dump request信息的页面。
5、验证HTTP头部信息
在http访问头文件:[Accept-Charset、Accept-Encoding、Accept-Language、User-Agent],浏览器一般发出的头部不会改使用User-Agent检测请求的一致性。
前端程序员必须知道的 Web 漏洞,快来看看
随着互联网的发展,早已经不是仅限于简单的网页或是社交,电商购物、银行转账、企业管理等等。上次看到一个新闻,后台程序员离职后,利用职位之便,每天还不断的给自己转账,转了好多次才被发现,想想这多可怕。或者会窃取重要的商业信息,所以 Web 安全也是非常值得注意的。
什么是 Web 安全?
黑客利用网络操作系统的漏洞和 Web 服务器的 SQL 注入漏洞等,得到 Web 服务器的控制权,轻则篡改、删除、添加数据,重则窃取重要的商业信息、转账等,更严重的就是在网页中植入恶意代码,使网站受到不可预期的侵害。
常见的攻击可分为三类:XSS、CSRF、SQL注入。
Cross Site Scripting 跨站脚本攻击,为了与 CSS 区分,所以简写为 XSS 。
恶意攻击给 Web 页面植入恶意的 Script 代码,当用户浏览该网页的时候,嵌入 Web 里面的 script 代码会被执行,从而达到攻击的效果。
讲直白点,就是恶意攻击者通过在输入框处添加恶意 script 代码,用户浏览网页的时候执行 script 代码,从而达到恶意攻击用户的目的。
1.1、XSS 的危害
1.2、XSS 的攻击类型
发出请求时,XSS代码会出现在 url 中,作为输入提交到服务器端,服务器再返回给浏览器,然后浏览器解析执行 XSS 代码,这一过程像一次反射,所以称之为反射型。
这种类型的攻击,通常是把 XSS 攻击代码放入请求地址的 数据传输部分,如:
提交的 XSS 代码会存储在服务器端,如数据库、内存、文件系统内,下次请求目标页面时不再提交 XSS 代码。
文档型的 XSS 攻击不会经过服务器,作为中间人的角色,在数据传输过程中劫持到网络数据包,然后修改里面的 html 文档。
1.3、XSS 的防御措施
措施1:编码。
对这些数据进行 html entity 编码。客户端和服务器端都需要进行转义编码。
转义后为:
放入上边的代码中,还是会自动解析为上边的代码,所以放到外边。
措施2:过滤。
移除用户上传的 DOM 属性,如上边的 onerror。
移除用户上传的 style、script、iframe 节点。
措施3:利用 CSP
浏览器中的内容安全策略,就是决策浏览器加载哪些资源。
Cross site request forgery 跨站点请求伪造。
攻击者诱导受害者进入第三方网站,向被攻击网站发送跨站请求,利用被攻击者在被攻击网站已经获取的注册凭证,绕过后台的用户验证达到冒充用户对攻击网站进行的某种操作。
CSRF 攻击特点:
2.1、CSRF 的危害
2.2、CSRF 的攻击类型
使用非常简单,只需要一个 http 请求。
比如页面中的一个图片添加链接,还有 iframe、script ,最容易完成 CSFR 攻击,且不易被用户发现,隐蔽性超强。
由于 get 接口是最常见的一种 CSRF 攻击类型,所以很多重要的接口不适用 get 方式,使用 post 一定程度上可以防止 CSRF 攻击。
这种类型的 SCRF 攻击,通常使用的是一个自动提交的表单。简单讲就是伪造一个自动提交的表单,一旦访问页面时,表单就会自动提交。
如:
比起前两个,这个类型的比较少见,链接类型的攻击必须要用户点击链接,才能触发。
通常在论坛中发布的图片嵌入恶意的链接,或以广告的形式诱导用户点击中招。所以我们在邮箱中看到乱七八糟的广告,尽量别点击,防止遇到三方攻击。
伪造一种新型的攻击方式,用户误以为是在网站正常登录,实际上是使用账户和密码登录到了黑客网站,这样黑客可以监听到用户的所有操作,甚至知道用户的账户信息。
2.3、CSRF 的防御措施
措施1:检查 http 头部的 referer 信息
referer 包含在请求头内,表示请求接口的页面来源。
服务端通过检查 referer 信息,发现来源于外域时,就可以拦截请求,通过阻止不明外域的访问,一定程度上可以减少攻击。
措施2:使用一次性令牌
使用一次性令牌做身份识别,黑客是无法通过跨域拿到一次性令牌的,所以服务端可以通过判断是否携带一次性令牌,就可以排除一部分的非法操作者。
措施3:使用验证图片
服务端生成一些文本和数字,在服务端保存这份信息,同时以图片的形式在客户端展现,让用户去合法填写信息,当 CSRF 攻击时,拿不到这个验证码的时候,无法向服务器提供这个信息,导致匹配失败,从而识别它是非法攻击者。
这个应用非常常见,之前登录的时候,需要填写图形验证码。
现在滑动图片验证也非常常见。
SQL 注入,一般发生在注册、评论、添加等,只有有用户输入的地方,就有可能发生 SQL 注入。SQL 注入是一种常见的 Web 安全漏洞,攻击者会利用这个漏洞,可以访问或修改数据,利用潜在的数据库漏洞进行攻击。
所谓SQL注入,就是通过把SQL命令插入到Web 表单 提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到 SQL注入式攻击 .
3.1、SQL 注入危害
任意的账号都可以登录,可以进行任意的操作,粗暴点讲,就是随便来。
3.2、 SQL注入分类
当输入的参数为整数时,则有可能存在数字型漏洞。
当输入参数为字符串时,则可能存在字符型注入漏洞。数字型与字符型注入最大的区别在于:数字型不需要单引号闭合,而字符型一般需要使用单引号来闭合。
字符型注入最关键的是如何闭合 SQL 语句以及注释多余的代码。
其实我觉得 SQL 注入只有两种类型:数字型与字符型。很多人可能会说还有如:Cookie 注入、POST 注入、延时注入等。
的确如此,但这些类型的注入归根结底也是数字型和字符型注入的不同展现形式或者注入的位置不同罢了。
以下是一些常见的注入叫法:
3.3、SQL注入的防范措施
凡是用户输入的地方,我们都应该防止黑客攻击,永远不要相信用户的输入。所以对应的防御措施分别有:
前后端分离之后,前端每天都会接触到很多接口。发送网络请求的时候,有些接口就会使用 get 方法。最常见的传参方式就是,直接在 url 地址后面加参数。
直接采用这种方式传输数据,如果数据被劫持或抓包工具偷走之后,就会直接被人盗取走,特别危险。若是采用接口加密,如下:
上边那个看不懂的一长串符号,正是经过加密的数据。
接口加密就是将接口请求调用中传递的参数进行加密,目的就是为了保证接口请求中传递参数和返回的结果的安全性,一般比较敏感数据,如身份证、电话号码、账号、密码等需要进行加密。
常见的加密方式:
加密方式较多,可以根据自己具体的需要和项目语言选择其中一种。
加密之后的数据更安全,那我们能不能将接口所有的数据都进行加密呢?加密是非常消耗资源的,如果有大批量的数据都进行加密时,返回数据需要的时间就更长,会直接影响用户体验。所以我们进行加密时,只需要对敏感的重要的信息进行加密。
好了我今天的文章就到此结束了,本篇文章没有介绍到的 web 安全,欢迎评论区交流!
Web安全问题解答
很多新手都觉得自己的电脑web经常被木马侵袭,所以下面我为大家带来电脑基础知识学习之Web安全问题,让你了解下如何安全的保护好自己的电脑。
1、什么叫Web应用系统?
答:Web应用系统就是利用各种动态Web技术开发的,基于B/S(浏览器/服务器)模式的事务处理系统。用户直接面对的是客户端浏览器,使用Web应用系统时,用户通过浏览器发出的请求,其之后的事务逻辑处理和数据的逻辑运算由服务器与数据库系统共同完成,对用户而言是完全透明的。运算后得到的结果再通过网络传输给浏览器,返回给用户。比如:ERP系统、CRM系统以及常见的网站系统(如电子政务网站、企业网站等)都是Web应用系统。
2、为什么Google把我的网站列为恶意网站
答:Google在对网站内容进行搜索时,同时也会检查是否含有恶意软件或代码(这些恶意软件或代码可能威胁该网站的访问者)。如果该网站存在这样的恶意软件或代码,就会在用户搜索到该网站时,加上一个标记:“该网站可能含有恶意软件,有可能会危害您的电脑”。这将会使网站信誉受损,并导致潜在的用户流失。
3、Web威胁为什么难以防范
答:针对Web的攻击已经成为全球安全领域最大的挑战,主要原因有如下两点:
1. 企业业务迅速更新,需要大量的Web应用快速上线。而由于资金、进度、意识等方面的影响,这些应用没有进行充分安全评估。
2. 针对Web的攻击会隐藏在大量正常的业务行为中,而且使用各种变形伪装手段,会导致传统的防火墙和基于特征的入侵防御系统无法发现和阻止这种攻击。
4、黑客为什么要篡改网站页面
答:当黑客获取网站的控制权限后,往往会更改网站页面,可能的动机有:
1. 宣称政治主张;
2. 炫耀技术,建立“声望”;
3. 宣泄情绪;
4. 经济利益,通过网站释放木马,从而获取经济利益。
5、黑客实施网站挂马的目的是什么
答:网站挂马的主要目的是控制访问该网站的用户的计算机,从而可以进一步获取用户的计算机隐私信息而获利,或者将这些用户的计算机作为“肉鸡”,对 其它 服务器或网络进行DDos攻击。
6、为什么我网站的数据库表内容被大量替换?
答:如果排除了管理员误操作的可能性,则可能是网站服务器被自动化攻击工具(如SQL注入工具等)攻击的结果。目前已经有自动化的工具对网站进行攻击,如果网站存在漏洞的话,攻击工具能够获得对网站数据库访问的权限。如果发现这种情况,应该仔细核查网站服务器和数据库服务器日志,找出更改记录。
7、在Web威胁防御中防火墙的优点和不足
答:防火墙可以过滤掉非业务端口的数据,防止非Web服务出现的漏洞,目前市场上可选择的防火墙品牌也较多。但对于目前大量出现在应用层面上的SQL注入和XSS漏洞,防火墙无法过滤,因而无法保护Web服务器所面临的应用层威胁。
8、常见发布系统之IIS
答:IIS 是Internet Information Server的缩写,是由微软开发的一种Web服务器(Web server)产品,用以支持HTTP、FTP和SMTP服务发布。 它主要运行在微软的 操作系统 之上,是最流行的Web服务器软件之一。
9、常见Web服务器之Apache
答:Apache是Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,已成为世界上最流行的Web服务器软件之一。
10、Apache是不是比IIS要安全
答:早期的IIS在安全性方面存在着很大的问题,如果使用默认设置,黑客可以轻松趁虚而入。不过在IIS6中,微软公司对其安全方面进行了大幅改进。只要保证操作系统补丁更新及时,就可以将网站安全系数尽可能地提高。
Apache在安全方面一直做得比较好,更主要的原因是很多用户都是在linux系统下使用Apache。相对于微软的操作系统,Linux系统被发布的安全按漏洞更少一些。
从技术角度讲,两个Web服务器的安全性没有本质区别,一个完整的Web系统的安全性更取决于Web程序的安全性以及Web服务器配置的正确性。
11、什么叫应用防火墙
答:应用防火墙的概念在上个世纪九十年代就已经被提出,但在最近几年才真正走向成熟和应用。应用防火墙的概念与网络防火墙相对,网络防火墙关注网络层的访问控制,应用防火墙则关注应用层数据的过滤与控制。
12、什么叫网站防篡改系统
答:网站防篡改系统通过实时监控来保证Web系统的完整性,当监控到Web页面被异常修改后能够自动恢复页面。网站放篡改系统由于其设计理念的限制,对静态页面的防护能力比较好,对动态页面的防护则先天不足。
13、我的Web服务器被访问速度变慢,经常出现连接失败的现象,可能是什么原因造成的呢?
答:这可能有两个方面的情况,一种是网络方面的原因,如运营商的线路故障,或带宽消耗型的DDOS攻击;另外一种情况是服务器方面的原因,如感染病毒,或资源消耗型的拒绝服务攻击。
14、我的Web服务器部署了木马查杀软件,为什么还被挂了木马?
答:所谓的网页被挂马,很多情况下并不是有木马程序或代码被放到了Web服务器上,而是有一段跳转代码(本身不包含攻击信息)被放在了Web服务器上网页中。当远程用户访问带有跳转代码的页面时,将会执行这段代码,从另外一个地址下载并执行木马。所以,即使在Web服务器上部署了木马查杀软件,也会由于木马本身并不存在于服务器上,而无法避免网站被挂马。
15、我的Web服务器前端部署了入侵防御产品设备,入侵防御产品设备中包含了几百条的SQL注入攻击防御特征库,为什么我的Web系统还是被SQL注入攻击成功了呢?
答:SQL注入是一种没有固定特征的攻击行为,对安全设备来说,就是属于变种极多的攻击行为。所以,基于数据特征的SQL注入检测 方法 是没有办法穷尽所有组合的,会存在大量的误报、漏报可能。如果采用的入侵防御产品设备采用的是基于数据特征的检测方法,即使包含了数百条SQL注入特征库,也会有漏报出现。
16、黑客为什么喜欢攻击网站?
答:Web业务已经成为当前互联网最为流行的业务,大量的在线应用业务都依托于Web服务进行。并且一些大型网站的日访问量可达百万之巨,不论是直接攻击网站(如网络银行,在线游戏服务器)还是通过网站挂马窃取访问者信息,都可以使黑客获得直接的经济利益。另外一方面,网站是机构的网络形象,通过攻击篡改网站页面,也可以得到最大范围的名声传播。对于那些企图出名的黑客,攻击网站是一项不错的选择。
17、如何判断自己的Web服务器是否已经成为肉鸡?
答:如果发现自己的Web服务器上开启了一些奇怪的进程,发现Web服务器总是有大量从内往外的连接,发现Web服务器不定时系统缓慢,诸如此类的现象,可使用木马清除软件进行检查和查杀。
细分攻击形式:
18、目前国内Web应用系统存在哪些最突出的安全问题?
答:Web应用程序的漏洞是很难避免的,系统的安全隐患主要在三方面:
首先是网络运维人员或安全管理人员对Web系统的安全状况不清楚。哪些页面存在漏洞,哪些页面已经被挂马,他们不能够清晰的掌握,从而及时采取改正 措施 ;
其次,在安全设备的部署方面,没有选用专业的、针对Web业务攻击的防御产品对网站进行保护,而是寄托于防火墙这种访问控制类的网关安全设备;
另外,从安全响应来看,Web安全事件发生后的应急与处理也存在欠缺。没有相应的页面恢复系统,也没有处理Web安全事件的专业安全服务团队。很多单位没有制定实时监控的网站安全管理制度。
19、什么叫SQL注入
答:SQL注入就是利用现有应用程序,将恶意的SQL命令注入到网站后台数据库引擎执行的能力。SQL注入利用的是正常的HTTP服务端口,表面上看来和正常的Web访问没有区别,隐蔽性极强,不易被发现。
20、SQL注入有哪些危害
答:SQL注入的主要危害包括:
未经授权状况下操作数据库中的数据;
恶意篡改网页内容;
私自添加系统帐号或者是数据库使用者帐号;
网页挂木马;
21、什么叫XSS
答:跨站脚本攻击(XSS)是攻击者将恶意脚本提交到网站的网页中,使得原本安全的网页存在恶意脚本;或者是直接添加有恶意脚本的网页并诱使用户打开,用户访问网页后,恶意脚本就会将用户与网站的会话COOKIE及其它会话信息全部截留发送给攻击者,攻击者就可以利用用户的COOKIE正常访问网站。攻击者有时还会将这些恶意脚本以话题的方式提交到论坛中,诱使网站管理员打开这个话题,从而获得管理员权限,控制整个网站。跨站脚本漏洞主要是由于没有对所有用户的输入进行有效的验证所造成的,它影响所有的Web应用程序框架。
22、XSS有哪些危害
答:XSS攻击的危害包括:
盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号;
控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力;
盗窃企业重要的具有商业价值的资料;
非法转账;
强制发送电子邮件;
网站挂马;
控制受害者机器向其它网站发起攻击。
23、什么叫Shellcode
答:Shellcode实际是一段代码(也可以是填充数据),可以用来发送到服务器,利用已存在的特定漏洞造成溢出,通称“缓冲区溢出攻击”中植入进程的代码。这段代码可以是导致常见的恶作剧目的的弹出一个消息框弹出,也可以用来删改重要文件、窃取数据、上传木马病毒并运行,甚至是出于破坏目的的格式化硬盘等等。
24、什么叫网站漏洞
答:随着B/S模式被广泛的应用,用这种模式编写Web应用程序的程序员也越来越多。但由于开发人员的水平和 经验 参差不齐,相当一部分的开发人员在编写代码的时候,没有对用户的输入数据或者是页面中所携带的信息(如Cookie)进行必要的合法性判断,导致了攻击者可以利用这个编程漏洞来入侵数据库或者攻击Web应用程序的使用者,由此获得一些重要的数据和利益。
25、什么叫木马
答:木马(Trojan)这个名字来源于古希腊 传说 ,在互联网时代它通常是指通过一段特定的程序(木马程序)来控制另一台计算机。木马通常有两个可执行程序:一个是客户端,即控制端,另一个是服务端,即被控制端。木马的设计者为了防止木马被发现,而采用多种手段隐藏木马。木马的服务一旦运行并被控制端连接,其控制端将享有服务端的大部分操作权限,例如给计算机增加口令,浏览、移动、复制、删除文件,修改注册表,更改计算机配置等。
26、什么叫网站挂马
答:“挂马” 就是黑客入侵了一些网站后,将自己编写的网页木马嵌入被黑网站的主页中。当访问者浏览被挂马页面时,自己的计算机将会被植入木马,黑客便可通过远程控制他们的计算机来实现不可告人的目的。网页木马就是将木马和网页结合在一起,打开网页的同时也会运行木马。最初的网页木马原理是利用IE浏览器的ActiveX控件,运行网页木马后会弹出一个控件下载提示,只有点击确认后才会运行其中的木马。这种网页木马在当时网络安全意识普遍不高的情况下还是有一点威胁的,但是其缺点显而易见,就是会出现ActiveX控件下载提示。现在很少会有人去点击那莫名其妙的ActiveX控件下载确认窗口了。在这种情况下,新的网页木马诞生了。这类网页木马通常利用IE浏览器的漏洞,在运行的时候没有丝毫提示,因此隐蔽性极高。
27、什么叫DOS./DDOS攻击?
答:DoS即Denial Of Service,拒绝服务的缩写。DoS是指利用网络协议实现的缺陷来耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃。在此攻击中并不包括侵入目标服务器或目标网络设备。这些被大量消耗的服务资源包括网络带宽、文件系统空间容量、开放的进程或者允许的连接。这种攻击会导致资源的匮乏,无论计算机的处理速度多快、内存容量多大、网络带宽有多高,都无法避免这种攻击带来的后果。
DDoS(Distributed Denial Of Service)又把DoS又向前发展了一大步,这种分布式拒绝服务攻击是黑客利用在已经被侵入并已被控制的、不同的高带宽主机(可能是数百,甚至成千上万台)上安装大量的DoS服务程序,它们等待来自中央攻击控制中心的命令。中央攻击控制中心再适时启动全体受控主机的DoS服务进程,让它们对一个特定目标发送尽可能多的网络访问请求,形成一股DoS洪流冲击目标系统,猛烈地DoS攻击同一个网站。被攻击的目标网站会很快失去反应而不能及时处理正常的访问甚至系统瘫痪崩溃。
28、什么叫网络钓鱼
答:网络钓鱼(Phishing,又名钓鱼法或钓鱼式攻击)是通过传播“声称来自于银行或其他知名机构”的欺骗信息,意图引诱受害者泄漏出敏感信息(如用户名、口令、帐号 ID 、 ATM PIN 码或信用卡详细信息)的一种攻击方式。最典型的网络钓鱼攻击将受害者引诱到一个与其目标网站非常相似的钓鱼网站上,并获取受害者在此网站上输入的个人敏感信息。通常这个攻击过程不会让受害者警觉。它是“社会工程攻击”的一种形式。
29、什么叫网络蠕虫
答:一般认为:蠕虫病毒是一种通过网络传播的恶性病毒,它除具有病毒的一些共性外,同时具有自己的一些特征。如:不利用文件寄生(有的只存在于内存中)、对网络造成拒绝服务,以及与黑客技术相结合,等等。蠕虫病毒主要的破坏方式是大量的复制自身,然后在网络中传播,严重占用有限的网络资源,最终引起整个网络的瘫痪,使用户不能通过网络进行正常的工作。每一次蠕虫病毒的爆发都会给全球经济造成巨大损失,因此它的危害性是十分巨大的。有一些蠕虫病毒还具有更改用户文件、将用户文件自动当附件转发的功能,更是严重的地危害到用户的 系统安全 。
30、什么叫僵尸网络
答:僵尸网络(英文名称叫BotNet),是互联网上受到黑客集中控制的一群计算机,往往被黑客用来发起大规模的网络攻击。如:分布式拒绝服务攻击(DDoS)、海量垃圾邮件等。同时,黑客控制的这些计算机所保存的信息也都可以被黑客随意“取用”。因此,不论是对网络安全运行还是用户数据安全的保护,僵尸网络都是极具威胁的隐患。然而,发现一个僵尸网络是非常困难的,因为黑客通常远程、隐蔽地控制分散在网络上的“僵尸主机”,这些主机的用户往往并不知情。因此,僵尸网络是目前互联网上最受黑客青睐的作案工具。
31、什么是ARP攻击
答:ARP是地址解析协议,是一种将IP地址转化为MAC地址的协议。在网络中,当A主机需要向B主机发送报文时,会先查询本地的ARP缓存表,找到与B主机IP地址对应的MAC地址后,进行数据传输。如果未找到,则会发送一个广播ARP请求报文,请求对应B主机IP的B回应MAC地址。这个广播包会被整个广播域中所有主机收到,但只有B主机会发现IP地址对应自己,才会将MAC地址回应给A。此时A收到这个回应并更新自己的ARP缓存,进行下一步的数据传输。ARP攻击应当叫做ARP欺骗,就是冒充网关地址对网络中主机给出ARP查询回应,使得本来是A-网关的数据走向,变成A-攻击者-网关。
32、ARP攻击的危害有哪些?
答:ARP攻击的危害主要有两个方面。从ARP攻击的原理来看,这种攻击使得受害主机的所有网络数据都将通过攻击者进行转发。这样一来,要窃取信息或控制流量就变得轻而易举。另一方面,由于ARP缓存会不断刷新,有的时候,真正的网关会偶尔“清醒”。当真正的网关参与到数据包转发中来时,由于做了一个切换动作,可能会有频繁的短暂掉线现象。所以,如果Web服务器所在网络中发生了ARP攻击,将导致Web服务器不可访问。
细分攻击介质:
33、WEB应用系统(网站)会面临来自哪些方面的安全问题
答:网站面临的安全问题是方方面面的,主要可概括为以下四个方面:
1)操作系统、后台数据库的安全问题
这里指操作系统和后台数据库的漏洞,配置不当,如弱口令等等,导致黑客、病毒可以利用这些缺陷对网站进行攻击。
2)Web发布系统的漏洞
Web业务常用的发布系统(即Web服务器),如IIS、Apache等,这些系统存在的安全漏洞,会给入侵者可乘之机。
3)Web应用程序的漏洞
主要指Web应用程序的编写人员,在编程的过程中没有考虑到安全的因素,使得黑客能够利用这些漏洞发起对网站的攻击,比如SQL注入、跨站脚本攻击等等。
4)自身网络的安全状况
网站服务器所处的网络安全状况也影响着网站的安全,比如网络中存在的DoS攻击等,也会影响到网站的正常运营。
34、Web程序漏洞是怎么形成的
答:Web站点之所以存在如此众多的安全漏洞,是由下列所示的这些原因造成的:
1、 大部分的中小型网站都是使用某个建站模块建设的,而这些通用的建站模块不仅本身存在各种安全漏洞,同时一些使用它们的建站人员根本没有在建站完成后对站点进行安全加固。
2、 Web站点开发人员对安全不够重视,在编写网页时,没有对用户的输入进行验证,没有对数据的大小、类型和字符串进行规范,没有限制API函数对系统资源的使用,以及对Web服务器没有进行相应的资源限制,引起拒绝服务攻击。
3、 管理员对Web服务器主机系统及Web应用程序本身配置不当,一些中小企业自己管理的Web站点根本没有足够的技术人员来管理它们的安全。
4、 当Web站点是托管在某个电信机房时,对它们进行的远程管理存在安全风险。
5、 Web站点管理员本身技术水平的限制,对各种针对Web站点的安全攻击不了解,也没有端正工作态度,没能对站点进行认真的安全加固,以及进行日常的安全检查。
6、 Web站点所处网络大环境的安全设计不合理,以及没有将安全防范工作融入到站点整个生命周期的各个阶段。
7、 企业领导不够重视,在Web站点的安全防范方面投入的资金太少或不合理,没有制定一个有效的Web站点安全防范策略,明确Web站点日常管理流程,也没有对Web站点的管理人员和工作人员进行不断的安全培训。
35、黑客主要利用哪些方法对网站进行数据窃取和修改
答:黑客需要使用拥有一定权限的用户帐户才能对网站进行数据窃取和修改,所以可能造成用户权限泄漏或提升的漏洞,都可以被黑客利用来进行攻击,如SQL注入,溢出漏洞、暴力猜解等。
36、目前对Web服务器威胁较大的SQL注入工具有哪些?
答:网上常见的SQL注入工具有“啊D SQL注入工具”、pangolin、NBSI、HDSI、“管中窥豹注入工具”等。
37、目前对Web服务器威胁较大的XSS攻击工具有哪些?
答:网上常见的XSS攻击工具有sessionIE、Webscan、XSS Inject Scanner 等。
38、怎样应对Web业务安全事件
答:应对Web业务安全事件,从根本上的解决办法就是对Web应用程序源代码进行代码检查和漏洞修复,但是这会影响正常Web业务运行,而且费用较高。比较有效的解决方案是通过专业的Web业务安全检查工具或服务来检查网站安全状况,部署专业的Web安全产品。比如基于行为检测的入侵防御产品。同时在管理上,要求网管人员实时对网站进行监测,一旦发现网页被篡改等问题立刻进行页面恢复、删除恶意脚本等工作。
39、如何防御SQL注入
答:要想从根本上解决XSS攻击,就要对Web应用程序源代码进行检查,发现安全漏洞进行修改。但是这种方法在实际中给用户带来了不便,如:需要花费大量的人力财力、可能无法找到当时的网站开发人员、需要网站下线等。对代码进行修改后,由于增加了过滤条件和功能,同时也给服务器带来了计算压力。通常的解决方法是在数据库服务器前端部署入侵防御产品。SQL注入攻击具有变种多、隐蔽性强等特点,传统的特征匹配检测方式不能有效地进行防御,需要采用“基于攻击手法的行为监测”的入侵防御产品才能够精确地检测到SQL注入攻击。
40、如何防御XSS
答:要想从根本上解决XSS攻击,就要对Web应用程序源代码进行检查,发现安全漏洞进行修改。但是这种方法在实际中给用户带来了不便,如:需要花费大量的人力财力;可能无法找到当时的网站开发人员、需要网站下线等。对代码进行修改后,由于增加了过滤条件和功能,同时也给服务器带来了计算压力。通常的解决方法是在数据库服务器前端部署入侵防御产品。XSS攻击具有变种多、隐蔽性强等特点,传统的特征匹配检测方式不能有效地进行防御,需要采用基于攻击手法的行为监测的入侵防御产品产品才能够精确地检测到XSS攻击。
41、如何发现网站挂马
答:服务器被挂马,通常情况下,若出现诸如“弹出页面”,则可以比较容易发现,发现防病毒软件告警之类,则可以发现服务器被挂马;由于漏洞不断更新,挂马种类时刻都在变换,通过客户端的反映来发现服务器是否被挂马往往疏漏较大;正确的做法是经常性的检查服务器日志,发现异常信息;经常检查网站代码,借助于专业的检测工具来发现网页木马会大大提高工作效率和准确度。
发布于 2023-03-31 20:05:17 回复