第三周培训题目:
- [SWPUCTF 2022 新生赛]1z_unserialize
- [SWPUCTF 2022 新生赛]ez_ez_unserialize
- [SWPUCTF 2021 新生赛]ez_unserialize
1、[SWPUCTF 2022 新生赛]1z_unserialize
进入题目,我们看到源码:
根据题目的描述,我们最后将POST上传的nss反序化即可得到flag.
此时,我们只需要让$a=system,也就是lt=system,lly不论输入什么指令都可以。
之后,我们构造:
我们先尝试将lly=ls发现,界面没有变化,继续尝试cat/flag,即可得到:
2、[SWPUCTF 2022 新生赛]ez_ez_unserialize
进入题目之后,我们看到源代码:
$_REQUEST:可以接受GET、POST、Cookie的传输
之后我们看到这段代码中使用了_wakeup函数,我们要将其绕过.依据_weakup函数的绕过方法,我们将fllllllag.php
序列化之后得到
x=O:1:“X”:1:{s:1:“x”;s:13:“fllllllag.php”;}
但是为了绕过_weakup函数,我们需要修改为:
x=O:1:“X”:3:{s:1:“x”;s:13:“fllllllag.php”;}
以此来实现绕过的效果
最后我们得到:
3、[SWPUCTF 2021 新生赛]ez_unseri
进入题目之后,第一时间并未发现题目:
查看源码:
看到有UA因该是有robots.txt,可以扫描一下后台
关于robots.txt,robots协议也称爬虫协议、爬虫规则等,是指网站可建立一个robots.txt文件来告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,而搜索引擎则通过读取robots.txt文件来识别这个页面是否允许被抓取。 但是,这个robots协议不是防火墙,也没有强制执行力,搜索引擎完全可以忽视robots.txt文件去抓取网页的快照。 如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata,又称元数据)
扫描之后,我们确实看到有文件:马上访问文件我们得知:
说明有c145s.php,我们访问随即得到题目:
观察题目,我们观察到admin和passwd在之后的if判断中要将admin和passwd序列化,转化:
结果为:
O:4:“wllm”:2:{s:5:“admin”;s:5:“admin”;s:6:“passwd”;s:3:“ctf”;}
之后我们通过GET的上传方式,即可得到flag: