CISP-PTE实操练习讲解

CISP-PTE实操练习讲解

文章目录

  • CISP-PTE实操练习讲解
  • 前言
  • 一、文件上传
  • 二、反序列化漏洞
  • 三.失效的访问控制
  • 总结

前言

这次给大家讲解一下考试的各个题型

一、文件上传

这道题就很简单,上传一个木马进行蚁剑连接就可以了
CISP-PTE实操练习讲解_第1张图片
答案就在key.php文件中
CISP-PTE实操练习讲解_第2张图片
我们创建一个文件,注入一段一句话木马,改成zhi.jpg文件上传
GIF89a?

写GIF89a?这个的目的是为了证明是图片文件
CISP-PTE实操练习讲解_第3张图片
上传之后进行抓包重发即可,但是要修改后缀名为.php,且要修改为大小写绕过,就是将eval改为Eval就可以了
CISP-PTE实操练习讲解_第4张图片
CISP-PTE实操练习讲解_第5张图片
我们打开图片看看是否可不可以打开
http://150.158.27.164:82/zhi.php
CISP-PTE实操练习讲解_第6张图片
发现可以打开,我们用蚁剑进行连接
CISP-PTE实操练习讲解_第7张图片
CISP-PTE实操练习讲解_第8张图片
CISP-PTE实操练习讲解_第9张图片
CISP-PTE实操练习讲解_第10张图片
答案就是:key2:adahhsh8

二、反序列化漏洞

CISP-PTE实操练习讲解_第11张图片
反序列化漏洞就是一些php魔法函数导致出现的一些漏洞,具体的原理和方法在我之前的渗透测试的课程有讲过,同样,大家要回头好好复习,这里就不在讲了。
接下来,我们进行答题
CISP-PTE实操练习讲解_第12张图片
CISP-PTE实操练习讲解_第13张图片
先简单的讲解一下php反序列化的形成原因
首先是php中的魔法函数如下

__construct()当一个对象创建时被调用
__destruct()当一个对象销毁时被调用
__toString()当一个对象被当作一个字符串使用
__sleep() 在对象在被序列化之前运行
__wakeup将在序列化之后立即被调用

这些就是我们要关注的几个魔术方法了,如果服务器能够接收我们反序列化过的字符串、并且未经过滤的把其中的变量直接放进这些魔术方法里面的话,就容易造成很严重的漏洞了。

此时代码里看不到方法或者是数组,这样的话反而简单很多;他只有一个unserialize()
unserialize() 函数用于将通过 serialize() 函数序列化后的对象或数组进行反序列化,并返回原始的对象结构
我们构造如下 vul.php?str=s:8:“CISP-PTE”;

进行代码审计,可以看到
if (unserialize( s t r ) = = = " str) === " str)==="PTE")
{
echo “$key4”;
}
符合这个条件就可以输出答案了,在网址后面加上这个条件,就可以了
http://49.232.193.10:84/start/vul.php?str=s:8:“CISP-PTE”;
进行重发之后
CISP-PTE实操练习讲解_第14张图片
答案就是:key4:pw3yx7fa

三.失效的访问控制

CISP-PTE实操练习讲解_第15张图片
CISP-PTE实操练习讲解_第16张图片
看题目就知道了,需要管理员用户访问,那么说白了就是伪造管理员身份权限,SSO越权?
二话不说,刷新浏览器,抓包
CISP-PTE实操练习讲解_第17张图片
直接把false改成true;吧username字段改成admin对应的base64编码即可
CISP-PTE实操练习讲解_第18张图片
答案就是:key5:m9gbqjr6

总结

本次总结了考试中常见的几种考试题型,接下来会为大家讲解第二次实操练习的讲解。

你可能感兴趣的:(CISP-PTE实操练习,安全性测试,web安全,安全)