教师：现在, 让我们看看是否可以选择､
获取并查看此表中存在的所有客户｡
因此, 让我们看看是否可以创建数据库并读取存储在accounts表中的信息｡
为此, 我们首先需要知道表中存在的列的列名,
因为如果你看一下我们使用语句的方式, 我们是从表中执行union
select列名.
所以我们仍然不知道帐户中存在哪些列, 现在我们可以尝试猜测有一个用户名和一个密码,
但有时它们可能是不同的名称｡
因此, 我将向您展示如何为某个表选择列｡
这个命令和表的命令非常相似,
唯一的区别是我们用列名代替表名.
而不是从信息模式中选择它｡
表,
我们将从信息架构中选择它｡ 列中｡
我们要说表名等于accounts的地方因为我们对accounts表感兴趣.
如果要获取另一个表的列,
则只需将this替换为所需的表或列｡
因此, 我们的命令将是union select one, 信息模式中的列名｡
列,
其中表名是我们感兴趣的表,
即帐户｡
这将显示帐户表中存在的所有列｡
让我们运行此命令｡
很好, 我们之前看到的列和它的cid,
用户名, 密码, 我的签名, 是管理员｡
现在, 让我们更进一步,
从帐户表中选择用户名和密码｡
同样, 命令将与我们当前运行的命令非常相似｡
我们将选择用户名｡
我将选择第二个密码, 第三个密码,
您将选择admin｡
现在请记住, 除了1号和5号之外,
我不能选择任何内容, 因为它们从来没有显示在屏幕上｡
我唯一看到的是2号, 3号和4号, 它们在这里显示2号,
3号和4号｡
所以我只是用值来替换2,
3, 4｡
我们将从客户中选择｡
我们也不需要地址了,
所以我把地址删掉｡
很简单, 我们从帐户中选择用户名､
密码和管理员｡
这将返回当前表中存在的所有用户名和密码,
以及帐户表中存在的所有用户名和密码｡
我这里有一个额外的报价, 我要删除｡
正如您所看到的, 我们获得了所有的用户名和密码, 我们有管理员,
他们的密码是adminpass｡
我们有其他用户, 我们有他们的密码,
它还告诉我们他们是否是管理员｡
这是非常有用的, 因为在大多数网站中,
当你以管理员身份登录时,
你比普通人拥有更多的权限｡
然后你就可以上传PHV外壳, 或者后门,
病毒, 任何你想做的事情, 然后进一步利用系统｡
因此, 目前我实际上可以使用用户名admin和密码adminpass登录｡
因为它是正确的, 所以它会接受｡
所以不管密码有多复杂, 我们都能读出来,
因为我们是直接从数据库里读出来的｡