对sql数据库 有些攻击方式?

对sql数据库 有些攻击方式?,第1张

提到sa弱口令,我们首先就会想到,许多数据库都有1个类似的超级管理员账号,比如:Oracle是"system"和"sys",Sybase也是"sa",MySQL里有"root"(不是UNIX系统账号的那个root)。如果没有设置相对应的密码或者你设的密码强度太低过于简单,那么入侵者就能直接登陆并攻击数据库服务器,他们甚至可以获得你 *** 作系统的最高级别的权限。说到这里,有的人也许不相信,曾经有人和我说:"数据库被攻破最多你的那些表啊什么的被人家拿走,对方怎么可能获得 *** 作系统最高权限呢?"其实,我并不是在危言耸听,下面我就假设某台SQL Server 2000的数据库的SA密码被破解为例,来看看黑客在取得了数据库权限后如何进1步把自己变成系统的管理员。

目前,网络上有不少此类工具,可以方便那些不熟悉SQL的人用,其实完全不用去下载那种工具,只要用微软自己的SQL Server里自带客户端程序连上去就马上可以轻松的把自己变成整个 *** 作系统的超级管理员了。具体的过程,我就为大家讲解1遍,这里先假设黑客已经通过其他工具暴力破解了你设置的强度教低的sa帐号的弱口令,或者你根本就没有为sa账号设置口令。首先黑客打开SQL Server查询分析器,以sa身份和他刚暴力破解的密码登陆进你的SQL Server数据库,然后他执行以下语句:

xp_cmdshell "net user zxc nopassword /add" go xp_cmdshell "net localgroup /add administrators zxc" go

这时候,你如果打开你的计算机管理-本地用户和组-用户,这时候你会发现里面已经多出了1个叫zxc的新账号,查看一下此帐号的属性,你更会发现他竟然隶属于administrators组。

五大SQL注入工具

大量的现代企业采用Web应用程序与其客户无缝地连接到一起,但由于不正确的编码,造成了许多安全问题。Web应用程序中的漏洞可使黑客获取对敏感信息(如个人数据、登录信息等)的直接访问。

Web应用程序准许访问者提交数据,并可通过互联网从数据库中检索数据。而数据库是多数Web应用程序的心脏。数据库维持着Web应用程序将特定内容交给访问者的数据,Web应用程序在将信息交给客户、供应商时,也从数据库取得数据。

SQL注入攻击是最为常见的Web应用程序攻击技术,它会试图绕过SQL命令。在用户输入没有“净化”时,如果执行这种输入便会表现出一种SQL注入漏洞。

检查SQL注入漏洞主要涉及到两方面,一是审计用户的Web应用程序,二是通过使用自动化的SQL注入扫描器执行审记的最佳方法。在此,笔者罗列了一些对Web应用程序开发人员和专业的安全审计人员有价值的SQL注入扫描程序。

一、SQLIer

SQLIer可以找到网站上一个有SQL注入漏洞的URL,并根据有关信息来生成利用SQL注入漏洞,但它不要求用户的交互。通过这种方法,它可以生成一个UNION SELECT查询,进而可以强力攻击数据库口令。这个程序在利用漏洞时并不使用引号,这意味着它可适应多种网站。

SQLIer通过“true/false”SQL注入漏洞强力口令。借助于“true/false” SQL注入漏洞强力口令,用户是无法从数据库查询数据的,只能查询一个可返回“true”、“false”值的语句。

据统计,一个八个字符的口令(包括十进制ASCII代码的任何字符)仅需要大约1分钟即可破解。

其使用语法如下,sqlier [选项] [URL]

其选项如下:

-c :[主机] 清除主机的漏洞利用信息

-s :[秒]在网页请求之间等待的秒数

-u:[用户名]从数据库中强力攻击的用户名,用逗号隔开。

-w:[选项]将〔选项〕交由wget

此外,此程序还支持猜测字段名,有如下几种选择:

--table-names [表格名称]:可进行猜测的表格名称,用逗号隔开。

--user-fields〔用户字段〕:可进行猜测的用户名字段名称,用逗号隔开。

--pass-fields [口令字段]:可进行猜测的口令字段名称,用逗号隔开。

下面说一下其基本用法:

例如,假设在下面的URL中有一个SQL注入漏洞:

http://example.com/sqlihole.php?id=1

我们运行下面这个命令:

sqlier -s 10 http://example.com/sqlihole.php?id=1从数据库中得到足够的信息,以利用其口令,其中的数字“10”表示要在每次查询之间等待10秒钟。

如果表格、用户名字段、口令字段名猜测得正确,那么漏洞利用程序会把用户名交付查询,准备从数据库中强力攻击口令。

sqlier -s 10 example.com -u BCable,administrator,root,user4

然而,如果内建的字段/表格名称没有猜中正确的字段名,用户就可以执行:

sqlier -s 10 example.com --table-names [table_names] --user-fields [user_fields] --pass-fields [pass_fields]

除非知道了正确的表格名、用户名字段、口令字段名,SQLIer就无法从数据库中强力攻击口令。

二、SQLMap:

这是一个自动的“盲目”SQL注入工具,它用python开发,它能执行一个动态的数据库管理系统指纹识别,可以完整地穷举远程数据库。其目标是实施一个完整的功能性数据库管理系统工具,它能够利用Web应用程序程序设置的全部缺陷,这些安全缺陷可以导致SQL注入漏洞。

在SQLMap检测到目标系统上的一个或多个SQL注入漏洞之后,用户就可以从多种选项中选择,进而执行全面的后端数据库管理系统指纹识别,检索数据库管理系统会话用户和数据库,穷举用户、口令哈希、数据库,运行其自身的SQL SELECT语句,读取文件系统上的特定文件等。

此软件完全支持MySQL、 Oracle、PostgreSQL、Microsoft SQL Server等后端数据库管理系统。此外,它还识别微软的Access数据库,以及DB2、Informix、 Sybase 、 Interbase等。

其使用方法如下:

sqlmap.py [选项] {-u | -g | -c <配置文件>}

其中,-u URL指明目标URL

-g google dork 将google dork结果处理为目标url

三、SQLID:

此工具是一个SQL注入漏洞挖掘器,是一个命令行实用程序,它能够查找SQL注入漏洞和网站中的常见错误。它可以执行以下几种 *** 作:查找网页中的SQL注入漏洞,测试提交的表单,查找SQL注入漏洞的可能性。它还支持HTTP、HTTPS、基本身份验证等。

其用法如下:

Sqid.rb [选项]

其选项有以下几种:

-m,--mode MODE,它指明以某种模式进行 *** 作,其中MODE有以下几种情况:g,google:以google搜索模式 *** 作;u,url检查这个url;p,page,它主要检查单一的网页;c,crawl,检查站点。

其中,google搜索模式选项有以下几种情况,-q,--quary 查询,QUERY执行google搜索;-s,--start START,对所需要的首个结果的零索引;-r,--results RESULTS,在此指明所需要的结果数量,默认值为20。

四、SQL Power Injector

SQL Power Injector可帮助渗透测试人员找到并利用网页上的漏洞。目前,它支持SQL Server、Oracle、MYSQL、Sybase/Adaptive Sever和DB2等数据库,但在使用inline注入时,还可借助现有的数据库管理系统来使用此软件。

其自动化的工作模式以两种方式进行,一是比较期望的结果,二是根据时间延迟。

五、SQLNinja:

Sqlninja可以利用以SQL Server为后端数据支持的应用程序的漏洞,其主要目标是提供对有漏洞的数据库服务器的远程访问。Sqlninja的行为受到配置文件的控制,它告诉了Sqlninja攻击的目标和方式,还有一些命令行选项。比如,有如下一些命令选项:

-m<攻击模式>,其攻击模式有测试(test)、指纹识别(fingerprint)、强力攻击(bruteforce)等;

其它的命令选项,-v : 指明进行详细输出;-f<配置文件>:指明一个使用的配置文件。-w<单词列表>指明以强力攻击模式使用的单词列表。

本篇文章来源于 黑客基地-全球最大的中文黑客站 原文链接:http://www.hackbase.com/tech/2008-09-11/41659.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9970693.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存