使用SQLMAP对网站和数据库进行SQL注入攻击重点.pptxVIP

  • 5
  • 0
  • 约 18页
  • 2016-12-10 发布于湖北
  • 举报

使用SQLMAP对网站和数据库进行SQL注入攻击重点.pptx

使用SQLMAP对网站和数据库进行SQL注入攻击主讲人:孙实制作:曹轶森Q:什么是SQL注入?A:SQL注入是一种代码注入技术,过去常常用于攻击数据驱动性的应用,比如将恶意的SQL代码注入到特定字段用于实施拖库攻击等。SQL注入的成功必须借助应用程序的安全漏洞,例如用户输入没有经过正确地过滤(针对某些特定字符串)或者没有特别强调类型的时候,都容易造成异常地执行SQL语句。SQL注入是网站渗透中最常用的攻击技术,但是其实SQL注入可以用来攻击所有的SQL数据库。Q:什么是SQLMAP?SQLMAP是一个开源的渗透测试工具,它主要用于自动化地侦测和实施SQL注入攻击以及渗透数据库服务器。SQLMAP配有强大的侦测引擎,适用于高级渗透测试用户,不仅可以获得不同数据库的指纹信息,还可以从数据库中提取数据,此外还能够处理潜在的文件系统以及通过带外数据连接执行系统命令等。定位注入的网站利用GoogleDorks字符串找到可注入的网站初始验证网站是否可以进行SQL注入上面的字符串搜索之后,也许会得到成百上千的结果,那么如何判断这些网站是否可以进行SQLMAP的注入呢?假设你使用了字符串:inurl:item_id=,然后其中一个结果的网站是:在后面添加添加一个单引号’之后,URL成为了:如果页面返回一个SQL错误,说明页面存在SQL注入点;如果页面加载正常显示或者重定向到一个不同的页面,跳过这个网站,用同样的方法去测试下一个网站。不同的数据库返回的SQL错误或许会有不同,比如:MicrosoftSQLServer描述:Description:Anunhandedexceptionoccurredduringtheexecutionofthecurrentwebrequest.Pleasereviewthestacktraceformoreinformationabouttheerrorwhereitoriginatedinthecode.列出DBMS数据库找到了一个存在SQL注入点的网站后,我需要列出所有的数据库(有时这也称为枚举列数)。SQLMAP会告诉我们哪个存在漏洞。运行下面的命令,参数是你找到的存在注入点的网址:我们现在看到两个数据库,其中的information_schema是几乎所有MySQL数据库默认的标准数据库,所以我们的兴趣主要在sqldummywebsite数据库上。这里的参数:列出目标数据库的表现在我们需要知道在数据库sqldummywebsite中都有哪些表,为了弄清这些信息,我们使用下面的命令:我们发现这个数据有8张表:显而易见,我们的兴趣主要在表user_info中,因为这张表中包含着数据库的用户名和密码。列出指定数据库中的列现在我们需要列出数据库sqldummywebsite的表user_info中的所有的列,使用SQLMAP进行这一步会非常简单,运行下面的命令:命令返回5个段:其中的user_login和user_password字段就是我们要找的从指定的数据库的表中列出用户名SQLMAP的SQL注入非常简单!再次运行下面的命令:现在我们有了数据库的用户名了:现在我们只需要这个用户的密码了提取用户密码使用下面的参数来提取密码字段的数值:现在我们得到密码字段了:虽然我们得到了密码字段的值,但是却是密码的HASH值,现在我们需要解密这个密码了。下面简要地介绍如何使用hashcat来破解MD5。破解密码现在密码字段的值是24iYBc17xK0e,你首先应当判断HASH的类型。KaliLinux提供了可以用来鉴别HASH类型的工具,只需要命令行下敲入命令:Hash-identifier然后根据提示提供HASH值就可以了。所以这是一个DES(Unix)HASH。使用cudahashcat破解HASH首先我们必须知道DESHASH使用的代码,运行命令:如图所示:代码是1500或3100,因为目标是一个MySQL数据库,所以一定是1500.将HASH值存储在DES.hash文件中,然后运行命令:现在我们得到了破解的密码:abc123,接下来我们就可以使用这个用户的身份登录了。

文档评论(0)

1亿VIP精品文档

相关文档