B实验-12

发布于:2025-04-22 ⋅ 阅读:(42) ⋅ 点赞:(0)

需要注意版本、页面源代码

两个文件一个目录:phpinfo       robots   phpmyadmin

实验12   靶机1   一个key在phpmyadmin,一个key在回收站

用两个扫描目录的工具扫,nmap给python版

情况1:弱口令 root root     root  123456   admin   admin       admin 123456

情况2:空口令

情况3:扫目录扫出robots.txt,访问robots.txt,将目录都访问一下,在某个目录下有.sql文件,里边有用户名密码

可以找到一个key。然后发现密码是md5,用自己的密码生成md5覆盖,注意大小写一致。md5工具会给。

上传jpg的图片,抓包,改两个地方

wen的一句话。

放过包。上传成功。复制连接到蚁剑

右键虚拟终端

修改管理员密码

win+R    mstsc

实验13  靶机2 梅奥综合   /root/key8.php

ftp可以匿名登录

密码不填

把config下载下来,打开有mysql的用户名密码

heidisql  navicat     用MD5替换,就得到了 后台用户名密码,但不知道后台在哪

在页面上,发送验证码可能与后台相关

F12看网络,观察点击“确认预约”之后的信息

http://192.168.100.129/index.php  应该是后台

档案管理   会有提示:只允许上传PDF   将wen修改后缀后上传,但不知道路径是什么

路径在源代码中,而http://192.168.100.129/index.php?m=order&o=upload 给index.php传值,因此index.php是源代码。要读index.php需要知道两点:一是index.php的路径,二是文件包含的操作点。

一、查看phpinfo

二、访问6721端口

如果页面是纯图片可以看页面源代码

base64解码

<?php require('config.php');?>
<?php include('lib/functions.php');?>
<?php require('lib/mysql.class.php');?>
<?php
@extract($_GET,EXTR_PREFIX_ALL,"g");
if(isset($_POST['submit']) || isset($g_submit)){
  @check_post_request();
  @extract($_POST,EXTR_PREFIX_ALL,"p");
}

session_cache_limiter('private,must-revalidate');
if(!isset($_SESSION)){
  session_start();
}
$db = new c_mysql;
$g_m = (isset($g_m) && in_array_key($g_m,$config['model'])) ? $g_m : 'login';
$g_o = isset($g_o) ? $g_o : '';

if($g_m != 'login')
  if(!isset($_SESSION['uid'])){
    header('Location:?m=login');
    exit();
  }
  
if(isset($_SESSION['uid']) && $g_m != 'login'){
  $user = $db->select_one('user',array('id' => $_SESSION['uid']));
  if(!$user)
    alert_goto('?m=login','没有这个用户的记录,请重新登录!');
}

if($g_m == 'home'){
  $g_m = 'order';
  $g_o = 'list';
}

$exts = $db->select_date('ext');
foreach($exts as $ext)
  $config['ext'][$ext['id']] = $ext;
foreach($exts as $ext)
  $config['ext'][$ext['code']] = $ext;

$model_file = 'model/'.$g_m.'.php';
if(file_exists($model_file))
  include($model_file);

$operate_file = 'model/'.$g_m."_".$g_o.".php";
if(file_exists($operate_file))
  include($operate_file);

create_html();
?>

include  语句用于在执行流中插入写在其他文件中的有用的代码。

order.php 中没有有用的代码

<?php
$operates['upload'] = '上传档案';
$target_dir = "CISP-PTE-1413/";
$info = '';

if(isset($_POST["submit"])){
    $target_file = $target_dir . basename($_FILES[fileToUpload]["name"]);
$uploadOK = 1;
$fileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
if(file_exists($target_file)){
    $info="文件已经存在";
    $uploadOK = 0;
}
if($fileType != "pdf"){
    $info = "只允上传PDF文件";
    $uploadOK = 0;
}
if($fileType != "pdf"){
    $info = "只允许上传pdf文件";
    $uploadOK = 0;
}
if($uploadOK == 0){
}else{
    if(move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)){
        $info = basename($_FILES["fileToUpload"]["name"])."上传成功";
    }else{
        $info = "上传文件时发生错误";
    }
}
}
$main_tpl = "order_upload.htm";
$replace['{info}'] = $info;
?>

用蚁剑连

不太懂为什么不能直接连接http://192.168.100.129/CISP-PTE-1413/wen.pdf

连上之后有key7

连虚拟终端

SUID提权  /root/key8.php

query_pdf.php  可以是文件夹下任意文件,可以自己创建。