初学Web安全之sql注入(三)——利用outfile写入

本来打算写关于盲注的,不过在做sqli-labs第七关遇见了outfile写入的,所以在讲盲注之前,先插入一点别的:

sqli-labs第七关:

用我们之前的判断方法,发现既没有回显,也没有报错,只是页面显示结果不同:
初学Web安全之sql注入(三)——利用outfile写入
初学Web安全之sql注入(三)——利用outfile写入

初学Web安全之sql注入(三)——利用outfile写入

那么使用联合查询和报错注入都不行,这里就需要使用布尔盲注了,但是页面有“outfile”提醒,那么我们这里就可以尝试使用outfile上传一句话木马。

想要使用outfile,首先得确定数据库有写入权限,我们打开mysql数据库查看:

初学Web安全之sql注入(三)——利用outfile写入
也可以打开phpadmin查看:

初学Web安全之sql注入(三)——利用outfile写入

发现值为null,那么就无法写入,我们需要修改权限,如图:

初学Web安全之sql注入(三)——利用outfile写入

之后再次查看权限,不是null表示可以写入:

初学Web安全之sql注入(三)——利用outfile写入


ok,那我们现在正式开始第七关,从上面可以判断出为字符型,经过多次尝试才发现id是双括号包裹,这里就有点坑了,那么接下来判断字段数:

初学Web安全之sql注入(三)——利用outfile写入

判断出字段数之后,我们就可以开始写入了,使用into outfile将一句话木马写入:

初学Web安全之sql注入(三)——利用outfile写入

我们打开相对应的文件夹,发现已经有a.php文件:

初学Web安全之sql注入(三)——利用outfile写入

我们在浏览器查看一下,写入成功:

初学Web安全之sql注入(三)——利用outfile写入

这时候我们使用菜刀工具:

初学Web安全之sql注入(三)——利用outfile写入
成功进入,将一句话木马文件删除:

初学Web安全之sql注入(三)——利用outfile写入


使用这个方法可以快速获取权限,如果是使用手工盲注,那么会耗费大量的时间。