[BT]BUUCTF刷题第2天(3.20)

2024-03-21 03:36
文章标签 buuctf 刷题 bt 3.20

本文主要是介绍[BT]BUUCTF刷题第2天(3.20),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第2天(共5题)

Web

[ACTF2020 新生赛]Exec

Payload:target=127.0.0.1;cat /flag
分号;在许多shell中用作命令分隔符,意味着在执行完前一个命令(这里是设置target变量)后,接着执行cat /flag命令。


在这里插入图片描述

[GXYCTF2019]Ping Ping Ping

Paayload:

http://4caf85f2-dc7a-47ae-a50f-683bb207ece6.node5.buuoj.cn:81?ip=1;cat$IFS$9`ls`

反引号的「优先级」很高,会先执行反引号中的命令,而后在将执行的「结果」结果配合其他命令执行,也就是说,执行的语句时下面这样:
?ip=1;cat flag.php index.php

在这里插入图片描述
根据提示,是要在url后面加上/?ip=参数值来进行解题,这道题类似上道题都是需要执行多个命令获取flag,但是多了过滤。

初始Payload:?ip=1;ls
发现能够返回目录下的文件:flag.php index.php

加上访问文件:?ip=1;cat flag.php
发现网站过滤空格
在这里插入图片描述

绕过空格的几种方式:

  1. ${IFS}
  2. $IFS$9 $9可改成其他数字
  3. <
  4. <> 重定向符
  5. {cat,flag.php} 用逗号,实现了空格功能

本题中$IFS$9可行

绕过空格:?ip=1;cat$IFS$9flag.php
发现过滤flag字样

在这里插入图片描述
绕过flag的几种方式:

  1. 编码绕过关键词。
  2. 变量拼接绕过关键词。(?ip=1;b=ag;cat$IFS$9fl$b.php)
  3. 反引号执行绕过关键词

以上三种方式均可以显示文件内容

在这里插入图片描述
flag藏在注释

在这里插入图片描述

[强网杯 2019]随便注

Payload:

?inject=0';handler `1919810931114514` open;handler `1919810931114514` read first; -- a

在这里插入图片描述
使用0' or True -- a查询表中所有数据
0后面的`用于结束前面的SQL语句,True使查询语句为真,–是SQL里的注释,a为注释的一部分

源码过滤了select、update、delete、drop、insert、where等关键字,因此本题考点为堆叠注入(即通过分号将多条SQL语句一起执行)

初始Payload:

?inject=0';show tables; -- a

这里直接查询所有表,发现了1919810931114514和word表,由于select被过滤了,show命令又不能查看表中的数据,因此需要使用「handler 命令」来查看表中的数据

添加查询表中数据的Payload:

?inject=0';handler `1919810931114514` open;handler `1919810931114514` read first; -- a

注意表名用反引号括起

得到flag
在这里插入图片描述

[SUCTF 2019]EasySQL

Payload:
1;set sql_mod=PIPES_AS_CONCAT;select 1

SQL_MOD:是MySQL支持的基本语法、校验规则
其中设置PIPES_AS_CONCAT之后会将||认为字符串的连接符,而不是或运算符,这时||符号就像concat函数一样。

在这里插入图片描述

网站漏洞代码:

select $_POST['query'] || flag from Flag;

使用1;set sql_mod=PIPES_AS_CONCAT;select 1后输出数据是1列和flag列的组合

其他Payload:
*,1

*代表所有列,逗号作为分割,1加上查询语句的|| flag会得到1这个值,然后语句会一起查询所有列和1列的数据并返回
在这里插入图片描述

[极客大挑战 2019]Secret File

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

在这里插入图片描述

这里可能是因为我加了Chrome的显示插件,所以我能直接看到下面的超链接文字(本来应该是看不到的,不过源代码中的<a id=“master” href="./Archive_room.php"也能看出来),点击跳转至Archive_room.php

在这里插入图片描述

注意这里的源代码里面的超链接是<a id=“master” href=“./action.php”,点击SECRET

在这里插入图片描述

发现结束但是没有找到flag,而且这个结束页面的链接是end.php,原本是action.php,说明可能有跳转,在Archive_room.php页面进行抓包发现注释

在这里插入图片描述

访问这个页面得到提示,说明访问flag.php可以得到flag,这段代码看似过滤file参数值,其实没什么用,直接?file=flag.php
在这里插入图片描述
提示找到了但没完全找到,考虑伪协议,将其改为?file=php://filter/read=convert.base64-encode/resource=flag.php

将得到的数据进行解码得到flag

在这里插入图片描述

这篇关于[BT]BUUCTF刷题第2天(3.20)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/831630

相关文章

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

BUUCTF(34)特殊的 BASE64

使用pycharm时,如果想把代码撤销到之前的状态可以用 Ctrl+z 如果不小心撤销多了,可以用 Ctrl+Shift+Z 还原, 别傻傻的重新敲了 BUUCTF在线评测 (buuoj.cn) 查看字符串,想到base64的变表 这里用的c++的标准程序库中的string,头文件是#include<string> 这是base64的加密函数 std::string

【每日刷题】Day113

【每日刷题】Day113 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 91. 解码方法 - 力扣(LeetCode) 2. LCR 098. 不同路径 - 力扣(LeetCode) 3. 63. 不同路径 II - 力扣(LeetCode) 1. 91. 解码方法 - 力扣(LeetCode) //思路:动态规划。 cl

BT天堂网站挂马事件后续:“大灰狼”远控木马分析及幕后真凶调查

9月初安全团队披露bt天堂网站挂马事件,该网站被利用IE神洞CVE-2014-6332挂马,如果用户没有打补丁或开启安全软件防护,电脑会自动下载执行大灰狼远控木马程序。 鉴于bt天堂电影下载网站访问量巨大,此次挂马事件受害者甚众,安全团队专门针对该木马进行严密监控,并对其幕后真凶进行了深入调查。 一、“大灰狼”的伪装 以下是10月30日一天内大灰狼远控的木马样本截图,可以看到该木马变种数量不

【CTF Web】BUUCTF Upload-Labs-Linux Pass-13 Writeup(文件上传+PHP+文件包含漏洞+PNG图片马)

Upload-Labs-Linux 1 点击部署靶机。 简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 注意 1.每一关没有固定的通关方法,大家不要自限思维! 2.本项目提供的writeup只是起一个参考作用,希望大家可以分享出自己的通关思路

hot100刷题第1-9题,三个专题哈希,双指针,滑动窗口

求满足条件的子数组,一般是前缀和、滑动窗口,经常结合哈希表; 区间操作元素,一般是前缀和、差分数组 数组有序,更大概率会用到二分搜索 目前已经掌握一些基本套路,重零刷起leetcode hot 100, 套路题按套路来,非套路题适当参考gpt解法。 一、梦开始的地方, 两数之和 class Solution:#注意要返回的是数组下标def twoSum(self, nums: Lis

代码随想录刷题day25丨491.递增子序列 ,46.全排列 ,47.全排列 II

代码随想录刷题day25丨491.递增子序列 ,46.全排列 ,47.全排列 II 1.题目 1.1递增子序列 题目链接:491. 非递减子序列 - 力扣(LeetCode) 视频讲解:回溯算法精讲,树层去重与树枝去重 | LeetCode:491.递增子序列_哔哩哔哩_bilibili 文档讲解:https://programmercarl.com/0491.%E9%80%92%E

代码随想录刷题day24丨93.复原IP地址 ,78.子集 , 90.子集II

代码随想录刷题day24丨93.复原IP地址 ,78.子集 , 90.子集II 1.题目 1.1复原IP地址 题目链接:93. 复原 IP 地址 - 力扣(LeetCode) 视频讲解:回溯算法如何分割字符串并判断是合法IP?| LeetCode:93.复原IP地址_哔哩哔哩_bilibili 文档讲解:https://programmercarl.com/0093.%E5%A4%8

【笔记】数据结构刷题09

快速排序 215. 数组中的第K个最大元素 class Solution {public:int findKthLargest(vector<int>& nums, int k) {return divide(nums,0,nums.size()-1,nums.size()-k);}int divide(vector<int>& nums,int left,int right,int k)

C语言:刷题日志(1)

一.阶乘计算升级版 本题要求实现一个打印非负整数阶乘的函数。 其中n是用户传入的参数,其值不超过1000。如果n是非负整数,则该函数必须在一行中打印出n!的值,否则打印“Invalid input”。 首先,知道阶乘是所有小于及等于该数的正整数的积,并且0的阶乘为1。那么我们先来个简单的阶乘计算吧。 #include<stdio.h>int Fact(int n){if (n <=