sql注入之outfile

作者: 程序员Sunny | 来源:发表于2018-06-16 21:31 被阅读102次
图片.png

传送门:


接着上次的教程,我们这次将sqli-labs的lesson 7。这里用到了一个比较神奇的东西——outfile。因为Sunny对我的服务器做了一些权限限制,而且大家对于注入的流程已经有了一定的了解,所以我们这次试验主要在mysql中完成即可。大家在平时写代码的过程中可能看到过某些语句,比如说:

select [column...] from [table_name] into outfile [path];

这就是我们今天要说的重点,这个语句通常是可以用于导出数据信息的,但是也可以被sql注入利用。具体的做法也很简单,首先我们可以先想办法找出对象服务器的系统是什么,然后找到apache的根目录,后面要做的大家可能也都知道了,就是利用上面这个语句,将一个文件放到根目录中。这个过程是不是看着有点眼熟,不错,这种做法感觉像不像木马。把我们的要执行的php文件放到apache的目录中,然后我们再访问这个php文件,结果不就是相当于让服务器执行了我们想要执行的内容。不得不说,这真是php的动态性的好处,直接热部署文件都可以执行。
下面,Sunny就带大家来感受一下这个过程吧。首先我们登录mysql中:


图片.png

随便选择一个数据库,我这里就选择我们注入的security数据库:


图片.png
然后我们就来实践之前我们说到过的语句,数据我就随便选了,路径我们就选择apache的根目录:
select * from users into outfile '/var/www/html/aa';

结果报错了:


图片.png

因为我们限制了mysql的导入导出的文件权限,只能将文件导入或导出到指定位置。
那么我们就来查看它所说的安全的位置是在哪里,我们可以用下面的语句来进行查询:

show variables like 'secure_file_priv';
图片.png

所以,我们只能将文件导出到那里,或者从那里导入文件了:

select * from users into outfile '/var/lib/mysql-files/aa';

可以看到导出成功了:


图片.png

同样的,我们可以尝试导出一个php文件,比如:

select '<?php phpinfo() ?>' into outfile '/var/lib/mysql-files/test.php';
图片.png

然后,我们再去/var/lib/mysql-files 目录下查看是否真的导出成功了:


图片.png
图片.png
图片.png

总结

outfile这个方法其实在实际注入过程中,要说破坏性确实比较大——实际上对数据的破坏危害性也非常大,如果可以成功,理论上是可以对整台服务器造成危害的;但是这个问题真的非常容易防治,在严格的文件权限管理下,基本上很难成功,比如Sunny这次尝试,只能将文件放到/var/lib/mysql-files目录中,而无法放到apache的目录中,这也就意味着这个php文件无法运行——当然,如果尝试用shell的话或许有办法?
总而言之,言而总之。在sql注入中,如果可能找到注入点的话,极大概率是用盲注完成的。下一篇,Sunny将和大家分享一下盲注的内容,大家将会打开sql注入新世界的大门。


欢迎评论留言交流,有两种方式:

第一种

评论留言

第二种

邮箱联系:zsunny@yeah.net

相关文章

  • sql注入之outfile

    传送门: sql注入那些事儿——如何优雅地进行SQL注入(1) sql注入那些事儿——如何优雅地进行SQL注入(2...

  • 小迪16期-20170226

    第二天:Sql注入集锦篇 1.Sql注入之access注入 2.Sql注入之mysql注入 3.Sql注入之mss...

  • PHP代码安全之SQL注入

    PHP代码安全之SQL注入 1、什么是SQL注入? SQL攻击(英语:SQL injection),简称注入攻击,...

  • web安全之SQL注入

    2018/07/06 23:41 慕课网web安全之SQ之注入课程学习笔记 什么是SQL注入? 如何寻找SQL注入...

  • SQL注入之布尔盲注

    title: SQL注入之布尔盲注date: 2019-05-25 14:05:48tags:- SQL注入- 布...

  • Python中该怎么防止SQL注入

    SQL注入 SQL攻击(SQL injection),简称注入攻击,是发生于应用程序之数据库层的安全漏洞。简而言之...

  • web常见漏洞的成因和修复

    1.SQL注入 漏洞描述:SQL 注入攻击( SQL Injection ),简称注入攻击、SQL 注入,主要用于...

  • Web安全之SQL注入漏洞[1]

    Web安全之SQL注入漏洞 本节知识点 SQL注入原理 前言 结构化查询语句(Structured Query L...

  • 笔记:web漏洞

    SQL注入 SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,...

  • 谈谈sql注入之原理和防护(-)

    谈谈sql注入(二)谈谈sql注入(三)谈谈sql注入(四)所谓SQL注入,就是通过把SQL命令插入到Web表单提...

网友评论

本文标题:sql注入之outfile

本文链接:https://www.haomeiwen.com/subject/rrabeftx.html