记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

【反序列化漏洞】session反序列化

2021-09-21 03:21

一、漏洞原理简介:

当php.ini配置文件中设置的"session.serialize_handler",与php后端页面中的"session.serialize_handler",设置不一致时,就有可能造成反序列化漏洞


例如:

php.ini配置文件中设置的"session.serialize_handler"为php_serialize,而在php后端程序中编写了如下代码进行设置:

ini_set('session.serialize_handler', 'php');




二、session反序列化漏洞实例

我们就由一题cft题来讲解session反序列化漏洞

题目地址:

http://web.jarvisoj.com:32784/index.php



源码分析:

根据源码可以得知通过GET方式传入phpinfo的值,当phpinfo有值就会实例化OowoO类,当类被实例化时会自动调用__construce()构造方法,在构造方法中对mdzz属性进行了赋值为phpinfo(),而当对象被销毁时会自动调用__destruct()方法,在此方法中利用eval()函数将字符串作为代码执行,所以会执行输出phpinfo相关信息。


从phpinfo中可以看到session.serialize_handler默认是php_serialize,而题目使用的是php,反序列化和序列化使用的处理器不同,由于格式的原因会导致数据无法正确反序列化,那么就可以通过构造伪造任意数据进行反序列化漏洞利用




因为题目中没有能操作$_SESSION的地方,所以可以利用php的upload_progress机制:



所以利用的思路为:

需要先构造上传文件的表单将请求提交到index.php中,然后表单中通过POST传入一个与session.upload_process.name相同的变量名,后端会自动将POST的这个同名变量作为键进行序列化然后存储到session文件中,下次请求就会自动反序列化session文件,从中取出这个键,触发payload




1、构造如下表单:



2、然后访问此表单,随便上传文件后利用burp抓包:



3、然后我们可以构造序列化payload:

修改mdzz属性的是为payload即可,由于题目环境开启了disable_funtions,所以这里利用如下函数进行列目录:

<?phpsession_start();
class OowoO{ public $mdzz="print_r(scandir(dirname(__FILE__)));";}$obj = new OowoO();echo serialize($obj);?>


执行并获取序列化后的内容:



为防止双引号被转义,在双引号前加上反斜杠\:

|O:5:\"OowoO\":1:{s:4:\"mdzz\";s:36:\"print_r(scandir(dirname(__FILE__)));\";}


除此之外还要加上" | ",因为php处理器的存储格式如下:




然后将序列化的内容替换上传文件请求包中的filename字段,发包后可以看到当前目录内容:



目录已经被列出来了,接下来就是找flag,在目录中发现一个疑似flag文件的命名,所以我们可以通过获取index.php文件的绝对路径,从而获取相同目录下flag文件的绝对路径,从而读取其中flag的内容:



通过网站根目录可以得出绝对路径就是:

/opt/lampp/htdocs/Here_1s_7he_fl4g_buT_You_Cannot_see.php



然后可以通过file_get_contents()获取flag文件内容:

|O:5:\"OowoO\":1:{s:4:\"mdzz\";s:88:\"print_r(file_get_contents(\"/opt/lampp/htdocs/Here_1s_7he_fl4g_buT_You_Cannot_see.php\"));\";}




☆ END ☆

点个赞和在看吧,欢迎转发!




知识来源: https://mp.weixin.qq.com/s?__biz=MzAxNzkyOTgxMw==&mid=2247487259&idx=1&sn=e70d97877c0f1a282cf56c6ad4e34d26

阅读:123522 | 评论:0 | 标签:漏洞 序列化

想收藏或者和大家分享这篇好文章→复制链接地址

“【反序列化漏洞】session反序列化”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

黑帝公告 📢

永久免费持续更新精选优质黑客技术文章Hackdig,帮你成为掌握黑客技术的英雄

标签云 ☁

本页关键词 💎