教师：到目前为止,
在所有的讲座中, 我们都是手动利用SQL注入｡
因此, 我们将代码注入URL或文本框｡
在本视频中, 我将向您展示一个名为sqlmap的工具,
它可以让您完成我们迄今为止学到的所有任务,
甚至更多｡
该工具可用于MySQL数据库,
即我们在其中使用的示例｡
它还可以用于Microsoft SQL､
Oracle和其他数据库类型｡
该工具非常有用, 在许多情况下非常方便｡
有时注射并不像我们看到的那样好｡
有时候, 每条记录只能得到一个输出,
而且必须循环遍历所有输出｡
因此, 该工具可以自动化这一切,
只是为您做一切更容易和更简单｡
首先, 让我们获取用于注入的URL｡
这里有我们使用的文本文件, 还有我们之前使用的URL｡
所以是用户｡ 信息 php, 用户名是admin,
密码是adminpass｡
你其实不需要知道用户名和密码,
所以我在这里输入任何内容｡
假设我们不知道密码,
我们只注入SQL注入｡
我们真的不需要知道这些东西｡
我要做的就是复制这个然后运行sqlmap｡
我会让你指定URL然后把目标｡
我会确保它在两个引号之间,
这样它就不会忽略任何东西,
中间的任何符号, 所以我们在中间有一些符号和字符, 我希望它都被视为一个URL｡
所以我所做的就是sqlmap -u我的目标｡
我将按Enter键,
工具将自动查看参数, 因此它将查看用户信息､
用户名和密码, 以查看其中是否有可注射的参数,
一旦完成, 它将把这些参数存储在内存中｡
这样它就知道这是可注射的然后我们就能进一步利用目标了｡
如您所见, 它认为我们的目标可能是MySQL或PostgreSQL｡
它问我是否应该跳过其他测试, 我会说是,
因为我知道它是MySQL｡
现在它问我是否应该为两个数据库做所有的测试？
如果我不确定是哪一个,
我会说是的｡
我知道这是MySQL, 但我还是让它自己做吧,
我们看看它是否能正确地做｡
所以现在, 它正在检查它是否是PostgreSQL｡
我假设它会知道它不是然后它会知道它是MySQL｡
它刚刚发现用户名似乎是可注射的｡
可以肯定的是, 它告诉我们参数username是易受攻击的,
我们可以注入它｡
所以它会问我是否要检查其他参数,
例如密码和所有参数？
我可以说是, 让它这样做,
但我会说不,
因为我不介意, 如果它只是使用用户名的注入,
所以这一切都很好｡
现在, sqlmap知道目标是可注入的, 并且知道它将使用username参数来注入内容｡
我可以看到, 它发现它运行的是Linux
Ubuntu, 它发现它使用的是PHP和Apache
2｡ 2. 8.
它使用MySQL Server作为数据库服务器｡
让我们运行sqlmap --help, 看看我们现在能做些什么｡
这个工具非常大,
可以让你做很多事情｡
在这段视频中, 我将快速地向大家展示这段视频,
我建议大家花更多的时间来使用它, 并尝试看看还能做些什么｡
好的, 我们来尝试获取当前用户和当前数据库｡
我们将使用之前用过的命令,
我只需要在其中添加dbms来获取当前数据库｡
或者DBS, 对不起｡
如你所见, 我们有所有的数据库｡
我们有dvwa, 我们有information_schema,
metasploit, mysql, owasp10,
这是我们之前开发的一个, 还有tikiwiki｡
现在, 如果使用current-user, 您可以看到我们是root用户,
如果使用current-database, 我们将看到owasp
10是我们的当前数据库｡
现在, 让我们尝试获取owasp10的表, 请记住我们从information_scheme中选择表名的时候｡
table_schema相等owasp10的数据表｡
我们将让sqlmap为我们完成所有这些操作,
命令是, 我们将要求它为我们获取所有表.
我们将使用D选项来指定数据库,
我们得数据库将命名为owasp10.
如你所见, 它给了我们所有存在的表,
记住, 这是一样的｡
我们有帐户, 博客表和信用卡｡
现在, 如果我们要获取列,
则可以再次使用相同的命令,
我们将输入get me the columns,
其中表名为accounts, 数据库名为owasp10｡
在这里我们可以看到列｡
我们有is_admin､ 密码和用户名,
可以使用dump选项获取数据｡
所以这是我们之前用过的同一个命令｡
因此, 我们从名为accounts的表和名为owasp10的数据库中获取｡
我要你把所有的数据都给我｡
现在, 我们得到了所有的数据｡
我们有管理员, 它的密码, 管理员密码,
我们有阿德里安和他的密码是一些密码｡
我们这里有所有的数据｡
所以就像我说的, 这个工具非常有用｡
它可以让我们的生活变得更轻松, 它可以自动完成所有事情,
它可以做我们做过的所有事情,
它甚至可以做更多的事情｡