0x01 漏洞简介

  这个漏洞是metinfo5.0变量覆盖漏洞,并且需要结合文件包含。我使用的cms版本是5.3,事实上已经修复了这个漏洞(5.0的cms源码已经找不到了哈),但是我们可以借他来学习理解变量覆盖的原理。并且知道他修复的方式。

这里捋一下漏洞的流程:

about----index.php----->包含文件【../include/module.php】----包含文件【common.inc.php】(这里有一个判断,我们可以输出验证一下),然后在common.inc.php中发现一段代码,可能存在变量覆盖,漏洞的切入点也在这里。

0x02 漏洞原理

正常逻辑下:

  module的值输出为show.php,关注module的愿意当然是因为这里有一个文件包含操作,如果被包含的文件可控,我们是不是可以使其包含一些危险文件,如小马,探针等等。

漏洞利用时:

  在这段代码后输出调试看看,可以看到这里可以传入任意参数。在进入判断函数前,$module=113。

我们回到module.php文件,到下图这段代码,5.3这个版本其实已经修复了,就靠这个$module=' '的操作,将我们之前传入的值清空了,使得漏洞修复。而5.0版本中,是没有这一操作的。我这里先将他注释,假装自己是5.0漏洞版本。

然后我们按照漏洞逻辑,使fmodule=7&module=filename ,我这里先在本地目录创建了一个1.txt,内容是phpinfo。可以看到,此时就利用成功啦!

0x03 漏洞修复

从第二点我们可以知道,在调用$module前,将我们输入的值置空,重新按照函数赋值,就可以避免被利用成功。

最新文章

  1. Box-sizing:小身材,大拳头!
  2. date命令总结
  3. 【目录】Newlife XCode组件相关文章目录
  4. MATLAB图像处理基础
  5. keepalived(nat)+ftp+http
  6. JAVA面向对象-----抽象类
  7. css详细笔记
  8. 深度解析使用CSS单位px、em、rem、vh、vw、vmin、vmax实现页面布局
  9. git 入门教程之协同开发
  10. MVC框架json数据展示程序(第一版)
  11. linux下安装与删除软件
  12. 题目1161:Repeater(规律输出图形)
  13. jquery基础框架
  14. SQL存储过程使用方法
  15. 两个List循环
  16. mybatis由浅入深day01_8.2resultMap
  17. Java上机试题1
  18. Intellij IDEA 封装Jar包(提示错误: 找不到或无法加载主类)
  19. HDU4009:Transfer water(有向图的最小生成树)
  20. LeetCode第[26]题(Java):Remove Duplicates from Sorted Array 标签:Array

热门文章

  1. 《自拍教程52》Python_adb运行Shell脚本
  2. ThreadAbortException是可以传递的
  3. sql 模块 pymysql 数据库操作
  4. ovirt 重新安装主机失败
  5. C - 饭卡
  6. js 实现浏览器全屏效果
  7. composer换源,composer切换国内源
  8. MySQL 学习之查漏补缺
  9. 基于 Spring Cloud 的微服务架构实践指南(下)
  10. Android视频悬浮窗口实现