7.Web应用的攻击及防御技术(下).pptx
《7.Web应用的攻击及防御技术(下).pptx》由会员分享,可在线阅读,更多相关《7.Web应用的攻击及防御技术(下).pptx(34页珍藏版)》请在三一文库上搜索。
1、1 Web应用安全攻防技术(下) 2 内容 1. Web应用程序体系结构及其安全威 胁 2. Web应用安全攻防技术概述 3. SQL注入 4. 课堂实践:具体SQL注入漏洞测试 5. XSS跨站脚本攻击 6. 课外实践作业:SEED SQL注入攻击 实验 SEED XSS攻击实验 代码注入攻击 o 代码注入攻击 n Web应用程序的输入验证不完善漏洞 n 执行由攻击者所注入的恶意指令和代码 n 敏感信息泄露、权限提升或对系统的未授权访问 o 多样化的代码注入攻击类型 n SQL注入攻击:恶意读取、修改与操纵数据库; n PHP注入或ASP注入攻击:植入和运行 Webshell n Shell
2、注入攻击:恶意执行操作系统命令的; n 其他多样化注入攻击:LDAP注入、邮件命令注入、SSI 注入、XPath注入、XML注入、XQuery注入等 3 4 SQL注入攻击 (SQL Injection) o SQL注入攻击对Web应用程序的威胁 n 相当大部分Web应用程序使用后台数据库,动态产 生内容 n SQL注入攻击: 利用Web应用程序数据层存在的输 入验证不完善型安全漏洞实施的一类代码注入攻击 技术。 o SQL注入漏洞机制 n 用户输入没有被正确地过滤:转义字符(引号、反引 号、双下划线、分号、百分号) n 没有进行严格类型检查:未判断输入是否预定类型 SQL注入攻击原理 o 表
3、示层:表单或URL输入参数 用户输入 o 业务逻辑层:通过用户输入参数构造SQL语句 n 不完善的输入验证机制 o 数据层:通过数据连接执行SQL语句 n 触发恶意数据库操作 5 SQL注入攻击原理解析 o 表示层:request表单 o 业务逻辑层:login.asp o 数据层:后台MS SQL Server 6 SQL注入攻击原理解析(2) o 正常情况 n用户名:guojing;口令:123456 n正常SQL: SELECT * from FROM accounts WHERE username =guojing AND passwd = 123456 o 黄蓉的诡计” n用户名/口
4、令:huangrong OR 1=1 n注入SQL结果:SELECT * from FROM accounts WHERE username =huangrong OR 1=1 AND passwd = huangrong OR 1=1 n等价于:SELECT * from FROM accounts n后果:绕过了login.asp用户身份认证的正常逻辑,获得访问 7 SQL注入攻击原理解析(3) o 黄蓉的诡计2 n 口令框输入:huangrong; DROP TABLE accounts; SELECT * FROM admin WHERE t =t n 注入SQL结果: SELECT
5、* from FROM accounts WHERE username =x OR 1=1 AND passwd = huangrong; DROP TABLE accounts; SELECT * FROM admin WHERE t = t 8 类型约束检查不完备SQL注入 o statement := “SELECT * FROM userinfo WHERE id = “ + a_variable + “;“ o 黄蓉的诡计3:a_variable := “1; DROP TABLE accounts” o 注入SQL结果:SELECT * FROM userinfo WHERE id
6、 = 1; DROP TABLE accounts; 9 实际SQL注入攻击步骤 o 1. 发现SQL注入点 o 2. 判断后台数据库类型 o 3. 利用SQL注入进行后台口令拆解 o 4. 上传ASP后门,得到默认账户权限 o 5. 本地特权提升与利用数据库扩展存储 过程 10 发现SQL注入点 o注入点存在于形如http:/SITE/xxx.asp?some_rec=yyy的 动态网页 n手工审查 nGoogle Hacking o注入点验证 n整数型参数: o“yyy”(加单引号) :SQL错误 o“yyy and 1=1” :正常页面 o“yyy and 1=2” :空白页面 n字符串
7、参数 o“yyy”(加单引号) :SQL错误 o“yyy and 1=1” :正常页面 o“yyy and 1=2” :空白页面 11 判断后台数据库类型 oWeb应用程序流行的后台数据库 nASP:MS SQL ServerACCESS nPHP:MySQL o利用数据库服务器的系统变量进行判断 nMS SQL Server:userdb_name() nMySQL:basedir、 nhttp:/SITE/xxx.asp?some_r ec=yyy and db_name()0 o利用数据库服务器的系统表进行判断 nACCESS:msysobjects nMS SQL Server:sys
8、objects nMySQL: mysql nhttp:/SITE/xxx.asp?some_rec = yyy and (select count(*) from sysobjects)0 12 13 利用SQL注入进行后台口令拆解 o 猜解后台口令表表名 nhttp:/SITE/xxx.asp?some_rec = yyy and (select count (*) from guessed_tbl_name)0 o 猜解字段名 nhttp:/SITE/xxx.asp?some_rec = yyy and (select Count(guessed_rec_name) from Admin
9、) 0 o 猜解字段值: 二分法逼近 n字段长度: http:/SITE/xxx.asp?some_rec = yyy and (select top 1 len(username) from Admin) guessed_length n字段值: 逐位猜解 http:/SITE/xxx.asp?some_rec = yyy and (select top 1 asc(mid(username,N,1) from Admin)guessed_ascii o 口令可能为MD5散列后的密文 nMD5Crack 上传ASP后门,得到默认账户权限 o 后台管理界面 n 利用提供的上传/下载文件等功能上
10、传ASP后门 n Web服务器软件的默认账户权限 o 本地受限账户命令执行 o Web虚拟目录中文件上传/下载 o 利用MS SQL Server的BCP命令 n bcp “select codes from tmp_tbl“ queryout c:inetpubwwwrootruncommand. asp c S localhost U sa P foobar 14 15 本地特权提升与 利用数据库扩展存储过程 o 进一步本地权限提升 n利用系统或某些特权应用服务(如Serv-U)安全漏洞 n利用系统配置不当提升系统权限 o MS SQL Server等DBMS支持扩展存储过程 nxp_cm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 应用 攻击 防御 技术
链接地址:https://www.31doc.com/p-4211517.html