使用SQLMAP对网站和数据库进行SQL注入攻击
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虽然我们得到了密码字段的值, 但是却是密码的HASH值,现在 我们需要解密这个密码了。 下面简要地介绍如何使用 hashcat来破解MD5。
破解密码
现在密码字段的值是 24iYBc17xK0e ,你首先应当判断HASH的类型。 Kali Linux提供了可以用来鉴别HASH类型的工具,只需要命令行下敲入命 令:Hash-identifier 然后根据提示提供HASH值就可以了。
不同的数据库返回的SQL错误或许会有不同,比如:Microsoft SQL Server
描述:Description: An unhanded exception occurred during the execution of the current web request. Please review the stack trace for more information about the error where it originated in the code.
其中的user_login和 user_password字段就是我们要 找的
从指定的数据库的表中列出用户名
SQLMAP的SQL注入非常简单!再次运行wk.baidu.com面的命令:
现在我们有了数据库的用户名了:
现在我们只需要这个用户的 密码了
提取用户密码
使用下面的参数来提取密码字段的数值:
现在我们得到密码字段了:
利用Google Dorks字符串 找到可注入的网站
初始验证网站是否可以进行SQL注入
上面的字符串搜索之后,也许会得到成百上千的结果,那么如 何判断这些网站是否可以进行SQLMAP的注入呢? 假设你使用了字符串:inurl:item_id=,然后其中一个结果的网 站是: 在后面添加添加一个单引号’之后,URL成为了: 如果页面返回一个SQL错误,说明页面存在SQL注入点;如果 页面加载正常显示或者重定向到一个不同的页面,跳过这个网站, 用同样的方法去测试下一个网站。
所以这是一个DES(Unix) HASH。
使用cudahashcat破解HASH
首先我们必须知道DES HASH使用的代码,运行命令:
如图所示:代码是1500或3100,因为目标 是一个MySQL数据库,所以一定是1500.
将HASH值存储在DES.hash文件中,然后运行命令:
现在我们得到了破解的密码:abc123, 接下来我们就可以使用这个用户的身 份登录了。
列出目标数据库的表
现在我们需要知道在数据库sqldummywebsite中都有哪些表,为了弄清这 些信息,我们使用下面的命令: 我们发现这个数据有8张表:
显而易见,我们的兴趣主要在表user_info中,因为这 张表中包含着数据库的用户名和密码。
列出指定数据库中的列
现在我们需要列出数据库sqldummywebsite的表user_info中的所有的列, 使用SQLMAP进行这一步会非常简单,运行下面的命令: 命令返回5个段:
列出DBMS数据库
找到了一个存在SQL注入点的网站后,我需要列出所有的数据 库(有时这也称为枚举列数)。SQLMAP会告诉我们哪个存在漏洞。 运行下面的命令,参数是你找到的存在注入点的网址:
我们现在看到两个数据库,其中的information_schema是几乎 所有MySQL数据库默认的标准数据库,所以我们的兴趣主要在 sqldummywebsite数据库上。 这里的参数:
SQLMAP是一个开源的渗透测试工具,它主要用于自动化地侦测和 实施SQL注入攻击以及渗透数据库服务器。SQLMAP配有强大的侦 测引擎,适用于高级渗透测试用户,不仅可以获得不同数据库的指 纹信息,还可以从数据库中提取数据,此外还能够处理潜在的文件 系统以及通过带外数据连接执行系统命令等。
定位注入的网站
使用SQLMAP对网站和数 据库进行SQL注入攻击
主讲人:孙实 制作:曹轶森
A:SQL注入是一种代码注入技术,过去常常用于攻击数据驱动性的 应用,比如将恶意的SQL代码注入到特定字段用于实施拖库攻击等。 SQL注入的成功必须借助应用程序的安全漏洞,例如用户输入没有 经过正确地过滤(针对某些特定字符串)或者没有特别强调类型的 时候,都容易造成异常地执行SQL语句。SQL注入是网站渗透中最 常用的攻击技术,但是其实SQL注入可以用来攻击所有的SQL数据 库。