(高级Mysql攻击技术介绍.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(高级Mysql攻击技术介绍

高级Mysql攻击技术???  mysql是一种开放源代码的关系型数据库管理系统(rdbms),mysql数据库系统使用最常用的数据库管理语言--结构化查询语言(sql)进行数据库管理。mysql攻击技术的了解你是否精通呢?专职优化、域名注册、网站空间、虚拟主机、服务器托管、vps主机、服务器租用的中国信息港在这里为你做深入探讨! 1.简介(文章中的堆查询其实就是联查) 这个文章主要描述怎样再LAMP和WAMP平台上实施远程命令执行代码通过SQL注入漏洞。攻击者再Mysql平台上进行SQL注入必须处理一 些限制和约束。例如,在一个不流行的平台中进行远程命令执行漏洞的一些查询语句缺乏复杂的声明,相对其他平台来说。再最近的这 些年一些人开始仔细研究,这些人专注于利用SQL注入漏洞进行随心所欲的代码执行漏洞。然而,这些类型的攻击集中在支持堆查询 DBMS连接上。这个文档将会解释怎么使用不同的方法去完成那些不支持堆查询的DBMS连接,并且得到跟支持堆查询的DBMS相同的结果 。 2.描述 SQL注入漏洞是把恶意代码注入到正常的SQL查询中的一种攻击方式.SQL注入攻击允许恶意的用户去得到数据库的结构和挖掘出宝贵的 应用操作系统环境。 运行命令执行漏洞已经被证实了是最高级别的恶意用户去获得成功的SQL注入攻击行为。 Mysql是在LAMP和WAMP上最流行的数据库服务器软件套件。DBMS连接默认是不支持堆查询。这就使得一些技术去实施远程代码执行漏 洞的条件是在某些平台需要支持堆查询。 3.堆查询 堆查询是一个去定义是否数据库连接层某个时刻能运行多于一个的查询语句。每个查询用分号分隔开。 下面的就是再SQL注入攻击中的一个堆查询的例子 SELECT name FROM record WHERE id = 1; DROP table record; DROP table address-- 在上面的例子中,在同一时刻这里有三个分离的查询请求。第一个查询是来自现实中应用程序的正常查询。这个查询允许进行数据库 查询,然而当堆查询默认进入Mysql-php应用,一个错误信息将会被应用程序返回,同时没有任何语句被执行。 4.攻击应用程序上不支持Mysql堆查询的方法 已经被发现的Mysql UDF(User Define Function)库创建技术,它能被用在支持堆查询的应用上进行远程代码命令执行漏洞。这个技术 已经再数据库黑客大曝光做了详细解释。 在Blackhat 2009欧洲大会上,Bernando Damele解释了相似的技术。下面的步骤来自于它的whitepaper 1)创建一个字段的表,数据类型是longblob 2)把本地文件的内容进行对等的16进制的转换。 3)切分16进制的字符串到1024字符长的大块 4)INSERT 第一个大块进支持表的字段里面 5)UPDATE其他的大的块添加到这个表的字段里面 6)导出表中的字段中的16进制的文件的内容到一个指定的目标文件路径,使用的方法是SELECTs INTO DUMPFILE.再Mysql上这个是可 以实现的,一个查询例如SELECT 0x41将会返回ASCII字母编码A。 这里有一些环境去实施这个堆查询 1) DBMS连接必须支持堆查询 2) Session用户必须有FILE,INSERT,CREATE和UPDATE权限 3)再一些低于Mysql 5.1.19的版本中,工项目路径必须对于Session用户可写。 4)再高于Mysql 5.1.19的版本上,系统变量plugin_dir必须存在并且对于Session用户可写。 现在大家已经知道了这个技术有一些限制,默认的,作为mysql用户启动的Linux Mysql共享库的路径是不可写的。 然而这个特性并不适合于windows。默认windows的Mysql运行账户是Local System,也就是说文件可以被用户创建到任何文件夹。最 新的Mysql版本,系统变量plugin_dir已经不存在了,这个目录可以创建同时可以被Session用户写入。 5.攻击Mysql不支持堆查询的方法 由于再Mysql-PHP平台上不支持堆查询,运行另外一个查询再正常的语句后是不可能的。然而运行另外一个SELECT查询是可以使用 UNION语法的。UNION语法是合并多个SELECT查询到一个单独的结果中。 Mysql 5.1的官方手册(省略自己去官方看SELECTG语法) 从上面可以看到我们可以通过UNION SELECT使用SELECT INTO DUMPFILE去把可执行的文件上传到数据库服务器上。当注入这个查询的 时候,只有唯一的语句可以创建全部的文件。同样的,这个文件不能被另外一个SELEC

文档评论(0)

yyf7373 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档