1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Kali Linux Web渗透测试手册(第二版) - 6.4 - 基于错误的SQL注入

Kali Linux Web渗透测试手册(第二版) - 6.4 - 基于错误的SQL注入

时间:2022-02-03 20:56:42

相关推荐

Kali Linux Web渗透测试手册(第二版) - 6.4 - 基于错误的SQL注入

翻译来自:掣雷小组

成员信息:

thr0cyte,Gr33k,花花,MrTools,R1ght0us,7089bAt

标记红色的部分为今日更新内容。

6.0、介绍

6.1、寻找文件包含漏洞

6.2、文件包含和文件上传

6.3、手工验证SQL注入

6.4、基于错误的SQL注入

6.5、确认并利用sql盲注漏洞

6.6、使用SQLMap查找和利用SQL注入

6.7、利用XML外部实体注入

6.8、检测和利用命令注入漏洞

6.4、基于错误的SQL注入

在上一个章节中,我们检测到了一个SQLi。 在本文中,我们将利用该漏洞并使用它从数据库中提取信息。

实战演练

我们已经知DVWA容易受到SQLi的攻击,所以让我们登录并浏览http://192.168.56.11/dvwa/vulnerabilities/sqli/然后按照以下步骤操作:

1.在检测到SQLi存在后,下一步是想办法内部查询,或者更确切地说,知道其结果的列数。在“用户ID”框中输入任意数字,然后单击“提交”。

2.现在,打开HackBar(点击F9)然后点击加载URL。 地址栏中的URL现在应该出现在HackBar中。

3.在HackBar中,我们将id参数的值替换为1"order by 1 - "并单击Execute,屏幕截图所示:

4.我们继续增加order by后面的值并执行请求,直到页面发生了报错。在此示例中,报错信息发生在它在按列数3时。这意味着查询的结果只有两列,因为我们尝试按不存在的列对其进行排序时会触发错误:

5.现在我们知道数据有两列。然后我们尝试使用union语句提取一些信息。将id的值设置为1"union select 1,2--"并执行。 你应该会得到结果:

6.这意味着我们要使用union查询中请求两个值。 让我们来看看DBMS和数据库用户的版本。 将id设置为

1"union select @@ version,current_user()-- "

然后执行:

7.随后我们寻找与之更相关的东西,例如应用程序的用户。首先我们需要找到用户的表。将id设置为

1"union select table_schema,table_name FROM information_schema.tablesWHERE table_name LIKE "%user%"--"

提交之后看到如下页面:

8.好的,我们知道数据库(或模式)名称为dvwa,我们正在寻找的表是user。由于我们只有两个位置来设置值,我们需要知道表中的哪些列对我们有用; 将id设置为

1"union select column_name,1 FROM information_schema.tables WHEREtable_name ="users"--"

9.最后,我们知道了user表的内容。将id设置为

1"union select user,password FROM dvwa.users -- "

在First name字段中,我们找到程序所存放的用户名,在Surname字段中,我们找到了每个用户的密码哈希值。 我们可以将这些哈希值复制到文本文件中,然后尝试使用John the Ripper或我们最喜欢的密码破解程序来破解它们。

原理剖析

从我们的第一次注入,1" order by 1 - "到1"order by 3 - "的顺序,我们使用SQL中的一个功能,允许我们使用其中的数字来排序某个字段或列的查询结果。它在查询中声明的顺序。我们使用它来生成错误,以便我们可以找出数据库有多少列,以便我们可以使用它们来创建union查询。

union语句用于连接具有相同列数的两个查询。通过注入,我们几乎可以向数据库查询任何内容。在这个章节中,我们首先检查它是否按预期工作。之后我们在用户表中设置我们的目标并执行以下操作来获取它:

1.第一步是发现数据库和表的名称。我们通过查询information_schema数据库来做到这一点,该数据库存储了MySQL中数据库,表和列的所有信息。

2.一旦我们知道数据库和表的名称,我们就会查询表中的列,以找出我们要查找的列,比如用户名和密码。

3.最后,我们在dvwa数据库的users表中注入了一个查询所有用户名和密码的SQL语句。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。