• mysql load_file()


    本地mysql注入读取配置文件 遇到的问题 简单记录一下。

    本地测试时,读取文件发现无论怎样都返回为NULL。

    >> select load_file('c:/xx/xx/xx/x.txt');

    原因是mysql的secure_file_priv的新特性。

    mysql新版本下 secure_file_priv字段:secure_file_priv参数是用来限制LOAD DATA,SELECT ...OUTFILE, and LOAD_FILE()传到哪个指定目录的。

    ure_file_priv的值为null,表示限制mysqld不允许导入/导出

    当secure_file_priv的值为/tmp/,表示限制mysqld的导入|导出只能发生在/tmp/目录下

    当secure_file_priv的值没有具体值时,表示不对mysqld的导入|导出做限制。

    资料地址: https://segmentfault.com/a/1190000009333563

    解决办法:

    >> show global variables like '%secure%';

    默认的为NULL。

    修改mysql.ini或my.ini文件,在[mysqld]下加入

    secure_file_priv =

    保存重启mysql即可。

    这里注意一下,路径中的斜杠是 / 而不是。

    load_file,后面的路径可以是单引号,0x,char转换的字符串。

    load_file 可以在union中作为一个字段来用。 如:union select 1,load_file('c:/boot.ini'),3,4 from tables等。

    load_file 可以在where字句中使用。如and lenth(load_file(0x*************))>1  (盲注)

  • 相关阅读:
    Eclipse关于怎么调出web project
    RMI(远程方法调用)入门
    XSS攻击
    微信小程序
    java——IO流01
    06 python下
    06python上
    05python下
    05python上
    Nginx & Apache_网站用户认证
  • 原文地址:https://www.cnblogs.com/s1ye/p/8909452.html
Copyright © 2020-2023  润新知