当前位置: 首页 > news >正文

攻防世界 ics-07

点击之后发现有个项目管理能进,点进去,点击看到源码,如下三段

 

<?php session_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'); } ?>

 

<?php if ($_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); } } ?>

 

<?php if (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; } ?>

大概思路是在id满足第三段代码的情况下,使$_SESSION['admin'] = True。然后在以POST方式提供con和file,当file满足条件时,会将con的内容写入uploaded /backup /filename中。在在第一段中包含此文件,可以得到flag.php

先在view-source.php?page=flag.php页面,如下图,输入1' or '9'='9,满足了第三段代码的条件

构造以下请求

在/uploaded/backup/aaa.txt确实存在,证明攻击奏效,下面主要是如何绕过第二段代码。

最终代码如下

然后菜刀链接,找到flag页面,完毕

http://www.lryc.cn/news/517470.html

相关文章:

  • C# 之某度协议登录,JS逆向,手机号绑定,获取CK
  • js适配器模式
  • 小徐影城管理系统(源码+数据库+文档)
  • Linux第101步_了解LCD屏驱动“panel-simple.c”
  • 【实用技能】如何使用 .NET C# 中的 Azure Key Vault 中的 PFX 证书对 PDF 文档进行签名
  • 前端基础函数算法整理应用(sort+reduce+date+双重for循环)
  • 鸿蒙MPChart图表自定义(六)在图表中绘制游标
  • poi-tl+kkviewfile实现生成pdf业务报告
  • 【Uniapp-Vue3】scroll-view可滚动视图区域组件
  • asp.net core webapi中的数据注解与数据验证
  • PixPin—— 高效截图工具的下载与使用攻略
  • Go语言的 的多态性(Polymorphism)基础知识
  • Vue框架主要用来做什么?Vue框架的好处和特性.
  • 科普CMOS传感器的工作原理及特点
  • tensorflow 内存错误
  • spring boot解决swagger中的v2/api-docs泄露漏洞
  • 计算机网络 (25)IPV6
  • 小程序组件 —— 30 组件 - 背景图片的使用
  • 《Opencv》信用卡信息识别项目
  • Matlab贝叶斯估计MCMC分析药物对不同种群生物生理指标数据评估可视化
  • java 转义 反斜杠 Unexpected internal error near index 1
  • 网络安全常见的问题
  • 在ubuntu22.04中使用bear命令追踪内核编译报错的原因分析和解决方案
  • 【软考网工笔记】操作系统管理与配置——Windows
  • vue3 css实现文字输出带光标显示,文字输出完毕,光标消失的效果
  • 什么情况会导致JVM退出?
  • CentOS7修改Docker默认存储路径
  • OpenCV相机标定与3D重建(46)将三维空间中的点投影到二维图像平面上函数projectPoints()的使用
  • 基于Elasticsearch8的向量检索实现相似图形搜索
  • springboot+vue使用easyExcel实现导出功能