Polar CTF Web 简单(1)

作为自己的副向也要认真学习刷题,但是现在哪一个方向都要认真学习刷题实践

swp:

这第一题就是要给我来个下马威?试试访问到/.index.php.swp,可以用御剑扫目录扫出来

F12查看代码

分析一下,POST传参,要求参数xdmtql字符串中必须包含"sys nb",就会返回flag,该参数不能是数组,故不可以进行数组绕过;要求这个参数又匹配/sys.*nb/is,又要求这个参数含有sys nb,产生矛盾

那么就传入足够长的数据使preg_match函数失效(利用PCRE回溯次数限制绕过)

python 复制代码
import requests
 
url = 'http://6798cfa0-6424-4490-af65-7ee1c5b6153e.www.polarctf.com:8090/' #自己的网址
data = {
    'xdmtql': 'sys nb'+'very' * 250000
}
 
r = requests.post(url=url, data=data).text
print(r)
点击并拖拽以移动

运行即可

简单rce:

是一段php代码

问一下ai这一段php代码

需要满足两个条件,eval才能执行:GET参数sys必须存在;POST参数yyds必须存在

对于no函数,通过正则匹配,禁止了一些读取命令如cat等、空格以及多个命令执行函数

那么就需要绕过空格过滤和未禁用的文件读取方法,用include直接包含/flag

复制代码
/?sys=include"/flag";

POST传参yyds=666即可

蜜雪冰城吉警店:

总共8个,让点第9个隐藏款奶茶的单子,这真是神人

查看源代码

直接把id = 8改成id = 9,再点最后一个就行

召唤神龙:

是一个游戏界面,不知道咋玩成功

看源代码,发现在main.js有一段不知道什么加密的文本

问一下ai

是JSFuck,在线解即可

seek flag:

先访问robots.txt有flag3

看源代码没啥思路,用bp抓包,找了半天终于在响应这二找到了flag2

咋拿到flag1呢,看一下别人的博客,是要将cookie的id改为1,再发送请求即可

拼到一块 flag{7ac5b3ca8737a70f029dc0ad71dadd11} (web类flag是动态的)

jwt:

登录界面

在源代码网络里发现一串base64加密字符串

解一下,但是看不出来啥

问一下ai就是个图标。也没看出来啥,看一下别人的博客

【Web】记录Polar靶场<简单>难度题一遍过(全)-CSDN博客

JWT是一种用于在网络上安全传递信息的轻量级令牌格式,基于 JSON 格式,常用于身份验证和信息交换。更多的在AI上可以了解一下

要先注册一个普通用户,查看源码,看到JWT以及值

在网站里解一下

jwt-cracker爆破出密钥为SYSA

jwt伪造,用户名改为admin

Yakit构造即可

login:

按F12会有登录提示

但是输入只是显示登陆成功

用bp抓包试试,也没啥结果。看一下别人的思路。

尝试去攻击,且学号不断向后递增就会发现从2开始每个学号对应的请求会有flag的一部分

拼起来即可 flag{dlcg}

iphone:

打开后有个界面,enter没啥信息

看一下代码

提示改UA,用bp改UA为iphone

还可以用HackBar改User Agent

浮生日记:

F12看代码,看title让弹个窗

无ssti,结合题目名字,可以想到js注入

发现如果写入<script>alert(1)</script>,输入就会变成空的

那就先闭合value值,再双写绕过

html 复制代码
"><scriscriptpt>alert(1)</scriscriptpt>
点击并拖拽以移动

点击即可获得flag

$$:

得到php代码

重点是变量覆盖和正则绕过,用GET传参c给变量(符号为$)a,正则绕过下面的符号

先尝试FLAG,输出是NULL;那么要用到超全局变量GLOBALS,构造

?c=GLOBALS就可以看到了

爆破:

一段php代码

重点看if语句,检查经过 MD5 加密后的字符串的特定位置的字符是否相同。具体来说,它检查字符串的第2、15和18 个字符是否相同。如果这三个位置的字符相同,则继续执行内部代码块

继续看里面if,这段代码对特定位置的字符进行处理,并将它们转换为整数进行计算。具体地,它计算字符串的第 2、15 和 18 个字符的整数值相加,然后除以第 2 个字符的整数值,并检查结果是否等于字符串的第 32 个字符的整数值。如果相等,则执行内部代码块

根据分析和题目,可以先访问/?pass=text,再bp爆破

根据长度找到可疑之处,得到flag

还可以直接访问flag.php即可

XFF:

提示

那就直接XFF构造

发送给重放器,看响应

rce1:

由php代码

get传入ip参数,通过正则表达式过滤空格,没有空格才会继续执行执行 ping -c 4 {$ip}命令

用管道符,输入命令127.0.0.1|ls,返回一个fllllaaag.php

直接查看,右键查看源码即可

GET-POST:

根据代码

先GET传参,再POST传参即可

被黑掉的站:

扫目录

访问index.php.bak,给了一堆字典

访问shell.php

OK,字典爆破

签到题:

好家伙,有点贴脸开大,bp抓包,发现cookie初始值为no

改为yes,发包,发现一串base64加密字符串

在线解

直接访问

分析代码,GET传参file,过滤把../替换为空,拼接.php后缀,包含文件

php伪协议结合双写绕过,用伪协议以base64编码进行内容读取

base64解密即可

签到:

提交无法点击,F12查看源代码,在元素里将disabled删去

随便输一个数可以给提示

那这不就简单了嘛,可是发现复制不全

把maxlength调大一点就行

提交获得flag

session文件包含:

随便输没啥信息

查看源码,发现是php伪协议

用命令把php代码编码后的输出

base64解码

当通过 POST 传入 name 参数时,PHP会把Session数据写入服务器本地的 Session 文件;如果在 name 里传入恶意 PHP 代码(比如 <?php system('ls');?>),这段代码会被写入 Session 文件;再利用 include($_GET['file']) 的 LFI 漏洞,包含这个 Session 文件,PHP 就会执行里面的恶意代码。那么就用session恶意文件上传

先抓包,看到一个PHPSESSID,先将php语句包含到sess_ctf文件中,发送,再传入一句话木马

发现了flaggggg文件,继续查看发送即可,可能需要多次发送

Don't touch me:

F12查看源代码,发现有2.php,访问

发现click,不能点击。继续查看源代码,有个disabled,删掉即可

click,查看源代码,发现有fla.php,访问即可

robots:

根据题目提示,访问robots.txt

继续访问即可

php very nice:

一段php代码,是php反序列化

分析一下:对 $_GET['a'] 进行了 unserialize 反序列化操作,且类中存在 __destruct 魔术方法调用了危险的 eval() 函数执行代码

构造一个 Example 类的对象,把 $sys 属性改成我们想执行的 PHP 代码,再将对象序列化成字符串,通过 ?a= 传入

直接构造代码

php 复制代码
<?php
class Example
{
    public $sys = 'system("ls");'; // 这里替换成你想执行的代码,比如执行命令、读文件等
}

// 序列化对象,生成可传入的字符串
$a = new Example();
echo urlencode(serialize($a)); // urlencode 避免特殊字符被转义
?>
点击并拖拽以移动

可以直接在线运行

https://www.jyshare.com/compile/1/

运行,GET传参

发现有flag.php,但是直接访问不行,需要通过代码,将ls换成查看flag.php,我这不能直接cat,需要tac,要直接将flag当作文本输出,而不是执行文件而导致没有输出

php 复制代码
<?php
class Example
{
    public $sys="system('tac cat flag.php');";
}
$a = new Example();
var_dump(serialize($a));
?>
点击并拖拽以移动

运行,GET传参即可

ezupload:

随便上传一个,发现要上传GIF文件

那就上传一句话木马,把文件后缀改成gif,上传并抓包,将1.gif换成1.php发包

蚁剑连接即可

找到flag

cookie欺骗:

根据网页提示,只有admin用户才能获得flag

先看源代码,尝试修改,发现改不了;抓包修改即可

upload:

上传图片,尝试上传图片没有回应,查看源码发现信息

访问,有代码

分析一下代码,利用str_ireplace函数过滤了php,那就双写pphphp

蚁剑连接

找到flag

相关推荐
随意起个昵称2 小时前
Floyd算法做题笔记
笔记·算法
@––––––2 小时前
论文阅读笔记:π 0 : A Vision-Language-Action Flow Model for General Robot Control
论文阅读·笔记
寒秋花开曾相惜2 小时前
(学习笔记)2.2 整数表示(2.2.6 扩展一个数字的位表示)
c语言·开发语言·笔记·学习
宇木灵3 小时前
C语言基础-八、结构体和共同(用)体
c语言·开发语言·数据结构·笔记·学习·算法
孞㐑¥3 小时前
算法—穷举,爆搜,深搜,回溯,剪枝
开发语言·c++·经验分享·笔记·算法
啊哈哈121384 小时前
SQL学习笔记7:综合查询与高级技巧全解析 + LeetCode实战
笔记·sql·学习
菩提小狗5 小时前
第17天:信息打点-语言框架&开发组件&FastJson&Shiro&Log4j_笔记|小迪安全2023-2024|web安全|渗透测试|
笔记·安全·log4j
蒸蒸yyyyzwd5 小时前
后端学习笔记计网
笔记·学习
今天你TLE了吗6 小时前
JVM学习笔记:第四章——虚拟机栈
java·jvm·笔记·后端·学习