- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL注入
SQL 注入原理与实战 * * * * 肖博xiaobo01@ 大纲 1、名词解释 2、SQL注入原理 3、SQL注入危害 4、SQL注入来源 5、SQL注入三部曲 6、SQL构造演练 7、SQL注入防御 8、总结 名词解释 SQL Structured Query Language 即结构化查询语句。 SQL注入 SQL Injection 就是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力。 注入点 所谓注入点就是可以实行注入的地方,通常是一个访问数据库的连接。 webshell 匿名用户(入侵者)通过网站端口对网站服务器的某种程度上操作的权限(俗称后门工具)。 SQL注入的危害 未经授权状况下操作数据库中的数据,既数据窃取。 恶意篡改网页内容,既恶意破坏。 得到管理员密码,私自添加系统帐号或者是数据库使用者帐号 绕过登陆密码登录网站后台。 获取webshell,进一步得到系统权限,控制操作系统。 …… …… SQL注入攻击来源 SQL Injection 攻击技术就其本质而言,它利用的工具是SQL的语法,针对的是应用程序开发者编程中的漏洞,当攻击者能操作数据,向应用程序中插入一些SQL语句时,SQL Injection攻击就发生了。SQL注入存在主要由有以下几点造成: 1.程序员水平和经验的欠缺,对SQL注入不够重视或者没有防范意识。 2.现在许多教程或者模版存在SQL注入漏洞。 3.Internet上给出的许多解决办法并未解决办法。 4.数据库管理员对数据库权限设置不合理。 SQL注入三部曲 第一部 寻找注入点 寻找注入点的方法: 1. 首先把IE菜单=工具=Internet选项=高级=显示友好 HTTP 错误信息前面的勾去掉,如果不勾掉,则无论服务器返回什么错误,都只显示为HTTP 500服务器错误。 2.现在在Internet上存在这样一个网页:/news.asp?id=349 测试环境,寻找注入点: /news.asp?id=349,在id=349加后: SQL注入三部曲 Microsoft JET Database Engine 错误 80040e14 字符串的语法错误 在查询表达式 id=349 中。 /news.asp,行 16 从上面这个错误信息中,我们可以得到以下信息: 从这个错误提示我们能看出下面几点: 1. 网站使用的是Access数据库,通过JET引擎连接数据库,而不是通过ODBC。 2. 程序没有判断客户端提交的数据是否符合程序要求。 3. 该SQL语句所查询的表中有一名为ID的字段。 SQL注入三部曲 最常用的方法: ;and 1=2; and 1=1;or 1=1;or 1=2; 1.继续用上面的链接举例: /news.asp?id=349 通过 测试后,发现该链接没有对输入做检测, /news.asp?id=349 and 1=1 测试正常(如果不正常,那程序逻辑就有问题) /news.asp?id=349 and 1=2 测试报错:错误 /news.asp,行 17 SQL注入三部曲 第二部 构造SQL注入代码 构造SQL注入代码需要对SQL语言有较深的理解,也就是说对SQL语言越熟悉SQL注入成功的概率越大,而且能够要懂得利用不同数据库软件的特点,比如SQLServer数据库的sa账户,mysql账户的root账户都是特权账户。 1.在第一部的基础上我们继续: /news.asp?id=349 and (select count(*) from msysobjects)0 服务器返回:Microsoft JET Database Engine 错误 80040e09 不能读取记录;在 msysobjects 上没有读取数据权限。 这里需要一些经验: /news.asp?id=349 and (select count(*) from admin)0 正常执行 SQL注入三部曲 /news.asp?id=349 and (select top 1 password from admin ) /news.asp?id=349 and (select top 1 password from admin ) 上面这两个构造的SQL都正常执行,说明我们的猜测是正确的。admin表中存在两个字段username,password。 猜解字段的步骤: SQL注入三部曲 继续:构造这样一个SQL /news.asp?id=349 and (select * from admin
您可能关注的文档
- 目标规划-1.ppt
- 目标管理-广西大学(110页).ppt
- GPO汽液联动执行器actuatorrev.1.ppt
- GSM网络基础知识.ppt
- 目标设定与达成学员版--冉云帆.ppt
- 目标管理经典培训课件.ppt
- 动物植物体系中锌的含量及分布.ppt
- GSM试题汇总一.doc
- GSM题库001.doc
- GSM网络优化基础知识.ppt
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)