您好,欢迎访问三七文档
安全发展趋势——攻击来自应用层Gartner报告:75%的攻击来自应用层传统安全设备应用层防护功能单一,存在系统防护短板过去攻击在网络层现在攻击在应用层安全发展趋势——攻击来自应用层Gartner报告:75%的攻击来自应用层传统安全设备应用层防护功能单一,存在系统防护短板过去攻击在网络层现在攻击在应用层安全发展趋势——不仅以破坏为目的网页篡改信用卡身份信息过去的黑客:破坏——技术炫耀现在的黑客:窃取——经济利益现在:窃取过去:破坏瘫痪泄露攻击目标广泛门槛低,相比于其他网络攻击难度小。攻击成功以后经济收益大。呈现工具化,自动化趋势。Web应用攻击特点成熟的黑客产业链SQL注入(SQLinjection)跨站脚本攻击恶意代码已知弱点和错误配置隐藏字段后门和调试漏洞参数篡改更改cookie输入信息控制缓冲区溢出十大常见的WEB应用攻击一、SQL注入技术概述就攻击技术本质而言,它利用的工具是SQL的语法,针对的是应用程序开发者编程中的漏洞,当攻击者能操作数据,向应用程序中插入一些SQL语句时,SQLInjection攻击就发生了。所谓SQL注入式攻击,就是攻击者把SQL命令插入到表单(如Web表单)的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。就风险而言,SQLInjection攻击也是位居前列,和缓冲区溢出漏洞相比,其优势在于能够轻易的绕过防火墙直接访问数据库,甚至能够获得数据库所在的服务器的系统权限。在Web应用漏洞中,SQLInjection漏洞的风险要高过其他所有的漏洞。安全风险攻击特点攻击的广泛性:由于其利用的是SQL语法,使得攻击普遍存在;攻击代码的多样性:由于各种数据库软件及应用程序有其自身的特点,实际的攻击代码可能不尽相同;影响范围数据库:MS-SqlServer、Oracle、Mysql、DB2、Informix等所有基于SQL语言标准的数据库软件;应用程序:ASP、PHP,JSP、CGI、CFM等所有应用程序;SQL注入–攻击原理:利用输入校验不完整等缺陷,使得输入的数据被作为SQL语句执行。–攻击向量位置:常见于Get,Post参数,Cookie–权限和危害:SQL注入可以用数据库权限来执行各种命令,危害极大。SQL注入攻击的具体过程①SQL注入漏洞的判断,即寻找注入点;②判断后台数据库类型及取注入方法;③确定可执行情况;若当前连接数据的帐号具有SA权限,且扩展存储过程能够正确执行,则整个计算机可以通过几种方法完全控制,也就完成了整个注入过程,否则继续执行下面的步骤:④发现WEB虚拟目录;⑤上传ASP木马;⑥得到系统的管理员权SQL注入攻击的具体实现-①寻找注入点:尝试有传入参数的页面,测试是否有SQL注入漏洞。在这里假设***.com/list.asp?id=258代表有漏洞的网址。在其ID=258后面加一个’号,如果页面正常返回,则表示网站程序员在编程时,过滤了单引号。还可以加比较经典的and1=1或and1=2,通过页面返回是否正常就可以判定是否可以注入。由于这里假设是可以注入,所以页面返回错误提示:MicrosoftOLEDBProviderforODBCDrivers错误‘80040e14'[Microsoft][ODBCSQLserverDriver][SQLserver]字符串的语法错误在查询表达式'ID=258''中。/list.asp行9-②判断数据库类型及方法:不同的数据库的函数、注入方法都是有差异的,所以在注入之前,我们还要判断一下数据库的类型。③在以上的工作都做完了之后,就应该破解管理员帐号及密码了。以下就是猜解的方法:猜表名:加andexists(select(*)fromadmin)andexists(selectidfromadmin)*admin表中有个id的字段andexists(selectusernamefromadmin)*admin表中是否有username字段andexists(selectpasswordfromadmin)*admin表中有个密码的字段passwordandexists(selectidfromadminwhereid=2)*admin表中是否有一个id=2的值简单的SQLInjection攻击假设的登录查询SELECT*FROMusersWHERElogin='victor'ANDpassword='123‘假设的ASP代码varsql=SELECT*FROMusersWHERElogin='+formusr+'ANDpassword='+formpwd+';简单的SQLInjection攻击输入字符formusr='or1=1––formpwd=anything实际的查询代码SELECT*FROMusersWHEREusername=''or1=1––ANDpassword='anything‘--是结束符,后面变成注释,导致此SQL语句恒成立,可以登陆后台演示SQL注入式攻击防范技术①服务器管理员防御SQL注入攻击由于服务器管理员不可能挨个检查每个网站是否存在SQL注入漏洞,他要做的事主要就是配置IIS和数据库用户权限。SQL注入入侵是根据IIS给出的ASP错误提示信息来入侵的,如果你把IIS设置成不管出什么样的ASP错误,只给出一种错误提示信息,那么入侵也就没办法了。服务器管理员还应在IIS中为每个网站设置好执行权限,一定别给静态网站以脚本和可执行权限SQL注入式攻击防范技术②程序员的防御措施对客户端提交的变量参数进行仔细地检测以防止SQL注入,只要在利用表单输入的内容构造SQL命令之前,把所有输入内容过滤一番(1)对于动态构造SQL查询的场合,可以使用下面的技术:替换字符。例如把所有单独出现的单引号改成两个单引号,以防止攻击者修改SQL命令的含义。第二:删除特殊字符,防止攻击者构造出类似“select*fromUserswhereadmin='AAA'——andpassword=''”之类的查询SQL注入式攻击防范技术②程序员的防御措施(2)限制表单或查询字符串输入的长度范围。如果用户的登录名字范围在6-10个字符,那么不要认可表单中输入的6个以下和10个以上的字符,从而增加攻击者在SQL命令中插入有害代码的难度。(3)检查用户输入的合法性,防止非法数据的输入SQL注入式攻击防范技术②程序员的防御措施(4)加密保存用户登录名称、密码等数据。加密输入的数据后,再将它与数据库中保存的数据进行比较,这就相当于对用户输入的数据进行了“消毒”处理,用户输入的数据不再对数据库有任何特殊的意义。二、跨站脚本攻击80%网站存在跨站漏洞,包括许多大型知名网站什么是跨站脚本攻击跨站攻击的危害跨站漏洞的检测与攻击手段什么是跨站脚本攻击跨站脚本攻击(CrossSiteScripting),为了与css(层叠样式表)区分,故被人们称为Xss.它的攻击原理就是恶意浏览者构造巧妙的脚本恶意代码通过网站功能存入到网站的数据库里面,如果程序没有经过过滤或者过滤敏感字符不严密就直接输出或者写入数据库,合法用户在访问这些页面的时候程序将数据库里面的信息输出,这些恶意代码就会被执行。Xss攻击方式跨站攻击有多种方式,由HTML语言允许使用脚本进行简单交互,入侵者便通过技术手段在某个页面里插入一个恶意HTML代码——例如记录论坛保存的用户信息(Cookie),由于Cookie保存了完整的用户名和密码资料,用户就会遭受安全损失。•XSS是针对客户端的攻击•本质上说,XSS和缓存区溢出,SQL注入攻击是类似的,最终导致的是输入的数据被当成命令执行。•具体说,XSS就是利用各种手段,把数据部分的标签关闭,然后加入各种类型脚本,使得客户端执行嵌入脚本。Xss漏洞攻击原理(1)脚本标记法了解XSS的触发条件就先得从HTML(超文本标记语言)开始,我们浏览的网页全部都是基于超文本标记语言创建的,如显示一个超链接:AHREF=百度一下/A而XSS的原理也就是往HTML中注入脚本,HTML指定了脚本标记script/script.在没有过滤字符的情况下,只需要保持完整无错的脚本标记即可触发XSS,假如我们在某个资料表单提交内容,表单提交内容就是某个标记属性所赋的值,我们可以构造如下值来闭和标记来构造完整无错的脚本标记,scriptalert('XSS');/script结果形成了AHREF=scriptalert('XSS');/script/A-Xss漏洞攻击原理(2)标记属性法假如要在网页里显示一张图片,那么就要使用一个img标记,示例如下:imgsrc=标记并不是真正地把图片给加入到Html文档把两者合二为一,而是通过src属性赋值。那么浏览器的任务就是解释这个img标记,访问src属性所赋的值中的URL地址并输出图片。就是因为浏览器不会检测src属性所赋的值,因此可以在这里大做文章。javascript有一个URL伪协议,可以使用“javascript:”这种协议说明符加上任意的javascript代码,当浏览器装载这样的URL时,便会执行其中的代码.于是我们就得出了一个经典的XSS示例:imgsrc=javascript:alert('XSS');-Xss漏洞攻击原理(3)事件触发法不是所有标记的属性都能用,标记的属性在访问文件才触发的XSS,离开标记的属性还有事件能帮助我们触发XSS.只有达到某个条件才会引发事件,img标记有一个可以利用的onerror()事件,当img标记内含有一个onerror()事件而正好图片没有正常输出便会触发这个事件,而事件中可以加入任意的脚本代码,其中的代码也会执行.现在我们又得到了另外一个经典的XSS示例:imgsrc=“”onerror=alert(‘XSS’)【演示】跨站攻击的危害窃取Cookie劫持帐户执行ActiveX执行Flash内容强迫您下载软件对硬盘和数据采取操作……XSS检测和防御•开发–输入验证,输入编码,长度限制•WAF检测方法–特征方法,特征+script语法方法•树立安全意识–超长的URL一般都比较可疑,不要随便乱点。–使用较安全的浏览器躲避检测思路各种编码(%号编码,utf-8编码,html编码)注释符,空格,回车换行等特殊字符应用攻击包分片演示实验内容:利用xss跨站攻击获得Cookie三、CSRF(CrossSiteRequestForgery跨站脚本请求伪造)攻击•CSRF攻击原理图1CSRF(CrossSiteRequestForgery跨站脚本请求伪造)攻击•CSRF攻击原理图2CSRF(CrossSiteRequestForgery跨站脚本请求伪造)攻击•CSRF攻击原理图3•发起攻击的站点致使浏览器向可信的站点发送一个请求。该可信的站点认为,来自该Web浏览器的请求都是经过认证的有效请求,所以执行这个“可信的动作”。CSRF攻击之所以会发生,其根本原因就是Web站点所验证的是Web浏览器而非用户本身。下面我们用一个具体的示例来详细介绍CSRF攻击。CSRF(CrossSiteRequestForgery跨站脚本请求伪造)攻击•CSRF攻击举例{formaction==GET}Recipient’sEmailaddress:{inputtype=textname=to}Subject:{inputtype=textname=subject}Message:{textareaname=msg}{/textarea}{inputtype=submitvalue=
本文标题:web应用攻击技术
链接地址:https://www.777doc.com/doc-3594168 .html