web应用攻击技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL注入攻击的具体实现①寻找注入点:尝试有传入参数的页面,测试是否有SQL注入 漏洞。在这里假设http://www.***.com/list.asp?id=258 代表有漏洞的网址。在其ID=258后面加一个’号,如果页 面正常返回,则表示网站程序员在编程时,过滤了单引号 。还可以加比较经典的and 1=1或and 1=2,通过页面返回 是否正常就可以判定是否可以注入。由于这里假设是可以 注入,所以页面返回错误提示: Microsoft OLE DB Provider for ODBC Drivers 错误 ‘80040e14' [Microsoft][ODBC SQL server Driver][SQL server]字符串的语法错误 在查询表达式 'ID=258'' 中。 /list.asp 行9
SQL注入式攻击防范技术 ②程序员的防御措施 (2)限制表单或查询字符串输入的长度范围。如果 用户的登录名字范围在6-10个字符,那么不要认 可表单中输入的6个以下和10个以上的字符,从而 增加攻击者在SQL命令中插入有害代码的难度。 (3)检查用户输入的合法性,防止非法数据的输入
SQL注入式攻击防范技术 ②程序员的防御措施 (4)加密保存用户登录名称、密码等数据。加密输 入的数据后,再将它与数据库中保存的数据进行 比较,这就相当于对用户输入的数据进行了‚消 毒‛处理,用户输入的数据不再对数据库有任何 特殊的意义。
SQL注入式攻击防范技术 ②程序员的防御措施 对客户端提交的变量参数进行仔细地检测以防止 SQL注入,只要在利用表单输入的内容构造SQL命 令之前,把所有输入内容过滤一番 (1)对于动态构造SQL查询的场合,可以使用下面 的技术: 替换字符。例如把所有单独出现的单引号改 成两个单引号,以防止攻击者修改SQL命令的 含义。 第二:删除特殊字符,防止攻击者构造出类似 ‚select * from Userswhere admin = 'AAA' —— and password =''‛之类的查询
Βιβλιοθήκη Baidu大常见的WEB应用攻击
SQL注入(SQL injection) 跨站脚本攻击 恶意代码 已知弱点和错误配置 隐藏字段 后门和调试漏洞 参数篡改 更改cookie 输入信息控制 缓冲区溢出
一、SQL注入
就攻击技术本质而言,它利用的工具是SQL的语法,针对的是
技术 概述
应用程序开发者编程中的漏洞,当攻击者能操作数据,向应用 程序中插入一些SQL语句时,SQL Injection攻击就发生了。 所谓SQL注入式攻击,就是攻击者把SQL命令插入到表单(如 Web表单)的输入域或页面请求的查询字符串,欺骗服务器执 行恶意的SQL命令。

Xss漏洞攻击原理
(1)脚本标记法 了解XSS的触发条件就先得从HTML(超文本标记语言)开始, 我们浏览的网页全部都是基于超文本标记语言创建的,如显示 一个超链接: <A HREF="http://www.baidu.com">百度一下</A> 而XSS的原理也就是往HTML中注入脚本,HTML指定了脚本标记 <script></script>.在没有过滤字符的情况下,只需要保持完 整无错的脚本标记即可触发XSS,假如我们在某个资料表单提 交内容,表单提交内容就是某个标记属性所赋的值,我们可以 构造如下值来闭和标记来构造完整无错的脚本标记, "><script>alert('XSS');</script><" 结果形成了 <A HREF=""><script>alert('XSS');</script> <""></A>
就风险而言,SQL
安全 风险
Injection攻击也是位居前列,和缓冲区溢 出漏洞相比,其优势在于能够轻易的绕过防火墙直接访问数据 库,甚至能够获得数据库所在的服务器的系统权限。 在Web应用漏洞中,SQL Injection 漏洞的风险要高过其他所 有的漏洞。
攻击特点
攻击的广泛性:由于其利用的
Xss攻击方式
跨站攻击有多种方式,由HTML语言允许使用脚本进行简单 交互,入侵者便通过技术手段在某个页面里插入一个恶意 HTML代码——例如记录论坛保存的用户信息(Cookie), 由于Cookie保存了完整的用户名和密码资料,用户就会遭 受安全损失。 • XSS是针对客户端的攻击 • 本质上说,XSS和缓存区溢出,SQL注入攻击是类似的,最 终导致的是输入的数据被当成命令执行。 • 具体说,XSS就是利用各种手段,把数据部分的标签关闭, 然后加入各种类型脚本,使得客户端执行嵌入脚本。
【演示】
跨站攻击的危害
窃取
Cookie
ActiveX Flash 内容
劫持帐户 执行 执行
强迫您下载软件 对硬盘和数据采取操作 ……
XSS检测和防御
• 开发 – 输入验证,输入编码,长度限制 • WAF检测方法 – 特征方法,特征+script语法方法 • 树立安全意识 – 超长的URL一般都比较可疑,不要随便乱点。 – 使用较安全的浏览器
-
Xss漏洞攻击原理
(2) 标记属性法 假如要在网页里显示一张图片,那么就要使用一个<img>标记 ,示例如下: <img src=" http://www.baidu.com/xss.gif"> img标记并不是真正地把图片给加入到Html文档把两者合二为 一,而是通过src属性赋值。那么浏览器的任务就是解释这个 img标记,访问src属性所赋的值中的URL地址并输出图片。就 是因为浏览器不会检测src属性所赋的值,因此可以在这里大 做文章。javascript有一个URL伪协议,可以使用 ‚javascript:‛这种协议说明符加上任意的javascript代码 ,当浏览器装载这样的URL时,便会执行其中的代码.于是我们 就得出了一个经典的XSS示例: <img src="javascript:alert('XSS');">
二、跨站脚本攻击
80%网站存在跨站漏洞, 包括许多大型知名网站 什么是跨站脚本攻击 跨站攻击的危害 跨站漏洞的检测与攻击手段
什么是跨站脚本攻击
跨站脚本攻击(Cross
Site Scripting), 为了与css(层叠样式表)区 分,故被人们称为Xss.它的攻击原理就是恶意浏览者构造巧妙的脚本 恶意代码 通过网站功能存入到网站的数据库里面,如果程序没有经 过过滤或者过滤敏感字符不严密就直接输出或者写入数据库,合法 用户在访问这些页面的时候 程序将数据库里面的信息输出, 这些 恶意代码就会被执行。
安全发展趋势——不仅以破坏为目的
过去:破坏
瘫痪
信用卡
泄露
身份信息
现在:窃取 过去的黑客:破坏——技术炫耀 现在的黑客:窃取——经济利益
网页篡改
Web应用攻击特点
攻击目标广泛
门槛低,相比于其他网络攻击难度小。
攻击成功以后经济收益大。 呈现工具化,自动化趋势。
成熟的黑客产业链
-
Xss漏洞攻击原理
(3) 事件触发法 不是所有标记的属性都能用,标记的属性在访问文件才触 发的XSS,离开标记的属性还有事件能帮助我们触发XSS.只有 达到某个条件才会引发事件,img标记有一个可以利用的 onerror()事件,当img标记内含有一个onerror()事件而正好 图片没有正常输出便会触发这个事件,而事件中可以加入任意 的脚本代码,其中的代码也会执行.现在我们又得到了另外一 个经典的XSS示例: <img src=‚ http://xss.jpg‛ onerror=alert(‘XSS’)>
安全发展趋势——攻击来自应用层
攻击在网络层
过去
攻击在应用层
现在
Gartner报告:75%的攻击来自应用层 传统安全设备应用层防护功能单一,存在系统防 护短板
安全发展趋势——攻击来自应用层
攻击在网络层
过去
攻击在应用层
现在
Gartner报告:75%的攻击来自应用层 传统安全设备应用层防护功能单一,存在系统防 护短板
SQL注入
–攻击原理:利用输入校验不完整等缺陷,使得输入的 数据 被作为SQL语句执行。 –攻击向量位置:常见于Get,Post参数,Cookie –权限和危害:SQL注入可以用数据库权限来执行各种命 令,危害极大。
SQL注入攻击的具体过程
① SQL注入漏洞的判断,即寻找注入点; ② 判断后台数据库类型及取注入方法; ③ 确定可执行情况;若当前连接数据的帐号具有SA权限, 且扩展存储过程能够正确执行,则整个计算机可以通过几 种方法完全控制,也就完成了整个注入过程,否则继续执 行下面的步骤: ④ 发现WEB虚拟目录; ⑤ 上传ASP木马; ⑥ 得到系统的管理员权
影响范围
数据库:MS-Sql
是SQL语法,使得攻击普遍存在; 攻击代码的多样性:由于各种 数据库软件及应用程序有其自 身的特点,实际的攻击代码可 能不尽相同;
Server、 Oracle、Mysql、DB2、 Informix等所有基于SQL语言 标准的数据库软件; 应用程序:ASP、PHP,JSP、 CGI、CFM等所有应用程序;
躲避检测思路
各种编码(%号编码,utf-8编码,html编码) 注释符,空格,回车换行等特殊字符应用 攻击包分片
演示
实验内容:利用xss跨站攻击获得Cookie
三、CSRF(Cross Site Request Forgery 跨站脚本请求伪造)攻击 • CSRF攻击原理
图1
CSRF(Cross Site Request Forgery 跨站脚本请求伪造)攻击 • CSRF攻击原理
简单的SQL Injection攻击
输入字符
formusr = ' or 1=1 – – formpwd = anything
实际的查询代码
--是结束符,后面变成注释,导致 此SQL语句恒成立,可以登陆后台
SELECT * FROM users WHERE username = ' ' or 1=1 – – AND password = 'anything‘
图2
CSRF(Cross Site Request Forgery 跨站脚本请求伪造)攻击 • CSRF攻击原理
简单的SQL Injection攻击
假设的登录查询
SELECT * FROM users
WHERE login = 'victor' AND password = '123‘
假设的ASP代码
var sql = "SELECT * FROM users WHERE login = '" + formusr + "' AND password = '" + formpwd + "'";
演示
SQL注入式攻击防范技术
①服务器管理员防御SQL注入攻击 由于服务器管理员不可能挨个检查每个网站是否 存在SQL注入漏洞,他要做的事主要就是配置IIS 和数据库用户权限。SQL注入入侵是根据IIS给出 的ASP错误提示信息来入侵的,如果你把IIS设置 成不管出什么样的ASP错误,只给出一种错误提示 信息,那么入侵也就没办法了。 服务器管理员还应在IIS中为每个网站设置好执行 权限,一定别给静态网站以"脚本和可执行"权限
②判断数据库类型及方法:不同的数据库的函数、注入方法 都是有差异的,所以在注入之前,我们还要判断一下数据 库的类型。
③在以上的工作都做完了之后,就应该破解管理员帐号及密 码了。以下就是猜解的方法: 猜表名:加 and exists (select( *) from admin) and exists (select id from admin) *admin表中有个id的字段 and exists (select username from admin) *admin表中是否有username字段 and exists (select password from admin) *admin表中有个密码的字段password and exists (select id from admin where id=2) *admin表中是否有一个id=2的值
相关文档
最新文档