【WEB】Polar靶场 Day8 详细笔记

目录

@井字棋

[@ 机器人](#@ 机器人)

@扫扫看

[@ cool](#@ cool)

[1. isset(_GET\['a'\])](#1. isset(_GET['a']))

[2. is_numeric(a)](#2. is_numeric(a))

[3. preg_match("/flag|system|php/i", a)](#3. preg_match("/flag|system|php/i", a))

passthru()函数


@井字棋

发现最多平局,不管是平局还是输了都会有个弹窗,猜测是根据弹窗弹出flag

查看源代码
发现最重要的是"who ",当who为player 的时候就会弹出flag

方法一:

打开控制台,发送declareWinner("您赢了!");

方法二:

打开bp,把**"winner":"ai"** 改成**"winner":"player"**

复制代码
flag{288CCA1ADB228E10EED4BFD85AC544B8}

@ 机器人

之前有道相似的题,所以直接访问/robots.txt

有半边Flag: flag{4749ea1ea481a5d

还有个Disallow: /27f5e15b6af3223f1176293cd015771d

robots.txt 文件中,Disallow: /27f5e15b6af3223f1176293cd015771d 这条规则的含义是:禁止搜索引擎爬虫访问网站中以 /27f5e15b6af3223f1176293cd015771d 开头的所有 URL 路径

访问看看

什么都没有,再加个/flag.php试试(或者可以直接用目录扫描工具扫)

把两部分拼在一起

复制代码
flag{4749ea1ea481a5d56685442c8516b61c}

@扫扫看

这题挺简单

先拿目录扫描工具扫一扫

访问/flag.php

右键查看源代码

简简单单,轻松拿下

复制代码
flag{094c9cc14068a7d18ccd0dd3606e532f}

@ cool

1. isset($_GET['a'])

  • 作用 :判断 HTTP GET 请求里是否存在名为a的参数。

2. is_numeric($a)

  • 作用 :检查变量a是否为数字或者可转换为数字的字符串,是的话输出no

3. preg_match("/flag|system|php/i", $a)

  • 作用 :使用正则表达式对输入进行过滤,检查输入中是否包含flagsystemphp这些敏感词(不区分大小写)。

passthru()函数

passthru()和system()两者都是 PHP 中用于执行外部系统命令的函数,本质上都是通过调用操作系统的 shell 来运行命令

既然system用不了那么就用passthru代替

复制代码
?a=passthru('cat f*');
复制代码
flag{4512esfgsdIirhgui82545er4g5e5rg4er1}
相关推荐
摇滚侠8 小时前
零基础小白自学 Git_Github 教程,解决分支合并冲突,笔记14
笔记·git·github
初级炼丹师(爱说实话版)9 小时前
JAVA泛型作用域与静态方法泛型使用笔记
java·开发语言·笔记
遇到困难睡大觉哈哈9 小时前
Harmony os——ArkTS 语言笔记(六):模块、导入导出与 `this` 关键字
笔记·harmonyos·鸿蒙
Zeku9 小时前
20251125 - 韦东山Linux第三篇笔记【上】
linux·笔记·单片机
灰灰勇闯IT10 小时前
隐语MOOC三期学习感悟:解锁数据要素流通的“三维认知”与落地逻辑
笔记·学习
wdfk_prog10 小时前
[Linux]学习笔记系列 -- [block][mq-deadline]
linux·笔记·学习
Dolphin_Home10 小时前
Spring 事务避坑笔记:从入门到解决自调用陷阱
数据库·笔记·spring
('-')11 小时前
《从根上理解MySQL是怎样运行的》第二十二章学习笔记
笔记·学习·mysql
言言的底层世界11 小时前
c++中STL容器及算法等
开发语言·c++·经验分享·笔记
光头程序员11 小时前
vue学习笔记
vue.js·笔记·学习