- web254
- web255
- web256
- web257
- web258
- web259
- web260
- web261
- web262
- web263
- web264
- web265
- web266
- web267
- web268
- web269
- web 270
- web271
- web 272、273
- web274
- web275
- web 276
- web277 278
没搞懂和反序列化有啥关系,直接传username=xxxxxx&password=xxxxxx出flag
web255请求包内容如下 首先get传的username和password都是xxxxxx 因为源码里面
$user = unserialize($_COOKIE['user']);
$user->login($username,$password);
就是是说我们需要让反序列后的结果是ctfShowUser的实例化对象。又因为只有$this->isVip是true才能是flag,所以反序列化的内容为
直接get传vip=xxx就可以了,最后访问/flag.txt应该就能拿到flag了。
web260题目意思就是你序列化出来的东西需要包含字符串ctfshow_i_love_36D, 那我们直接传ctfhsow=ctfshow_i_love_36D就可以了。
web261打下来和redis好像没什么关系.
如果类中同时定义了 __unserialize() 和 __wakeup() 两个魔术方法,
则只有 __unserialize() 方法会生效,__wakeup() 方法会被忽略。
当反序列化时会进入__unserialize中,而且也没有什么方法可以进入到__invoke中。所以直接就朝着写文件搞就可以了。
只要满足code==0x36d(877)就可以了。
而code是username和password拼接出来的。
所以只要username=877.php password=shell就可以了。
877.php==877是成立的(弱类型比较)
payload
';
echo base64_encode('|'.serialize($a));
首先修改cookie后访问index.php,接着访问check.php即可生成木马文件。比如我这个会生成log-b.php。
web264具体的可以参考下web262,但这个题略微恶心一些,用的是$_SESSION,原来是$_COOKIE,所以我们不能直接修改cookie了。 直接把原来262的值传过去就可以了
f=1&m=1&t=1fuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuck%22;s:5:%22token%22;s:5:%22admin%22;}
if(isset($_COOKIE['msg'])){
xxxx
}
所以还得随便传个cookie msg=1 ,访问message.php就行了
web265考察php按地址传参
$a='123';
$b=&$a;
$b=1;
echo $a;
大家可以试下这段代码,会发现a的值会跟着b一起改变。所以我们只需要让token按地址传给passowrd就可以了。 payload:
web268
poc
web269
poc
web 270
用法
__destruct
当对象被销毁时调用,所以我们不需要用到反序列化函数。那么只要$this->evilfile
是true就可以执行系统命令了。最后在拼接一下命令 payload
?fn=;cat f*
data: flag=123
web 276
在上个题的基础上增了了 判断$this->admin
所以真的需要我们去通过反序列化修改admin的值了。因为题目中没有反序列化函数,所以需要通过其他方式。 因为题目中有写文件的函数,所以可以通过file_put_contents写phar文件,然后再通过file_put_contents触发phar反序列化。当然我们得在删除文件前执行完这两个操作,所以需要用到条件竞争。 生成phar文件
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?