polar-ctf 简单(web)

polar-ctf 简单(web)

目录

1. 简单Rce

2. seek flag

3. jwt

4. $$

5. XFF

6. GET-POST

7. 被黑掉的站

8. rce1

9. 签到题

10. upload

11. 机器人

12. 干正则

13. 覆盖

14. debudao

15. 审计

16. 井字棋

17. button

18. 来个弹窗

19. php very nice

20. 狗黑子的RCE

21. 命运石之门

22. rce命令执行系统

23. uploader

24. bllbl_ser1

25. 1ncIud3

26. 投喂

27. 简单的导航站

28. background

29. 俄罗斯方块

30. 代码审计easy

31. VIP

32. white

33. help

34. cookie欺骗2.0


1. 简单Rce

看到题目代码过滤了一些关键字符cat tac 和system都被过滤了,不能再去使用。但是可以利用vi命令进行读取flag

执行外部命令函数:system()、passthru()、exec()

2. seek flag

进入题目找找flag。在cookie中将id改成1,得到了第一段flag

在其get请求包中看到第二段flag

dirsearch进行目录扫描,看到有一个robots.txt,访问后得到第三段flag

3. jwt

进入是一个登录界面,先登录再注册,进入主页后并未得到有用信息

抓包后看到一个hint:flag-is-admin-password,得知username为admin

先注册一个新用户,注册成功就去登录

抓包看到JWT,拿去解密,需要对称密钥,在kali中利用jwt-cracker进行爆破解密,解密后得知其密钥为SASY

./jwtcrack

进行解密,将jwt中的代码解码然后更换username和对称密钥,然后再进行编码,将重新编码后的代码进行更换,发包,得到falg

4. $$

$GLOBALS:用于访问所有全局变量(来自全局范围的变量),即可以从PHP脚本中的任何范围访问的变量。

5. XFF

抓包修改X-Farded-For:1.1.1.1,然后发送看到flag

6. GET-POST

先传id

再传post

7. 被黑掉的站

在页面中并无得到有用信息

在kali中利用dirsearch -u 网址,扫描出两个成功发送的包,index.php.bak shell.php

访问index.php.bak,得到一个像是密码字典的文件

访问shell.php,看到一个登录框,和前面给的刚好呼应上了

利用bp进行弱口令爆破

完成后得到登陆密码(nikel),登录后成功得到flag

8. rce1

?ip=127.0.0.1|ls

空格被过滤了,用${IFS}进行绕过

?id=127.0.0.1|cat${IFS}fllllaaag.php

查看网页源代码得到flag

9. 签到题

发现提交按钮不可以提交,然后修改前端的提交值

随便输入123,然后提示提交ilovejljcxy就可以得到flag

再次修改然后输入ilovejljcxy,发现有字数限制,再修改字数限制

最后得到flag

10. upload

查看网页源代码,看到?action=show_code,访问后看到php等许多文件后缀被过滤了

选择一句话木马图片上传

利用bp抓包,将文件后缀名利用双写绕过改成php后缀,发送请求,成功更换

利用蚁剑进行连接,成功看到flag

11. 机器人

利用Kali中dirsearch进行扫描,查到了一个/robots.txt文件

访问后看到flag,但发现只有一半,尝试提交果然不对

Disallow是一个目录,尝试访问但访问不了

利用dirsearch扫描看到了/27f5e15b6af3223f1176293cd015771d/flag.php文件

访问后看到flag后半段,前后两段拼在一起得到flag

12. 干正则

参数为id,包含flag.php文件

flag .php 被过滤

pyload:?id=a[0]=www.polarctf.com&cmd=|ls;

pyload:?id=a[0]=www.polarctf.com&cmd=|cat `ls`; 查看源代码后看到flag

13. 覆盖

代码说用GET传参(id),需要a[0]=www.polarctf.com

$ip = $_get['cmd'] 获取名为cmd的 GET 参数值,并赋给变量$ip

?id=a[0]=www.polarctf.com&cmd=;cat fla*

14. debudao

查看网页源代码看到一个flag,提交后是错误的

最后在cookie中找到真的flag

15. 审计

在url中输入?xxs=240610708,md50e绕过

16. 井字棋

在控制台中输入declareWinner("您赢了"!);然后弹窗弹出flag

17. button

出现一个“点击我"的按钮,但是并不能点击到

查看了一下网页源代码,看到一个js文件,说要点击好多9999次,很显然这是不可能的,看到下面看有一个方法查看 flag,访问proxy.php?file=flag,访问后是空白页面,查看网页源代码看到flag

18. 来个弹窗

利用:<script>alert('xss')</script>正常提交,但并没有显示,可能被过滤了

利用双写绕过<script>alert('xss')</sscript>,攻击成功

得到一副图片,说flag就是该人物名称MD5加密,上网查找后用MD5加密得到flag

19. php very nice

php反序列化

当PHP脚本执行完毕或对象被销毁时,_destruct() 自动执行

如果$sys是恶意代码就会被执行

构造php代码

设置要执行的系统命令

创建Example对象

序列化对象并输出

payload:?a=O:7:"Example":1:{s:3:"sys";s:13:"system('ls');";}

出现两个目录

利用php伪协议读取一下(?)

payload:O:7:"Example":1:{s:3:"sys";s:69:"include('php://filter/read=convert.base64-encode/resource=flag.php');";}

解码得到flag

20. 狗黑子的RCE

过滤了很多命令和符号

有两个参数gouheizi1和gouheizi2

原始输入中的 'gouheizi' 会被移除

如果 POST gouheizi2=ggouheiziouheizihi,处理后变成 ghi,不等于 "gouheizi"

要使处理后等于 "gouheizi",原始输入必须是 "gouheizi"(因为移除 'gouheizi' 后为空)或其他包含 'gouheizi' 的组合

payload如下,过滤字符用l\s进行过滤,执行后再根目录下看到flag.php查看php文件

c\at /fl\ag.php

21. 命运石之门

登录框α线,随便试试,不行,还看不到验证码

查看网页源代码,得到一串编码,解码说验证码是否好使不重要

目录扫描,扫到个password.txt文件,这就应该是爆破了

然后爆破出密码是hunangleiSAMA0712,成功到达第二个β线

接着爆破,得到密码huan9le1Sam0,得到flag

22. rce命令执行系统

尝试输入命令,但貌似都被过滤了,都不能进行正常的输出

看看环境变量是否可以输出,尝试输入env,能成功输出,看到有flag,但是它是个假的

进行目录扫描,扫到一个flag.txt文件,访问看到了提示

txt > php,l > 1,这像是让我们将文件名称进行改变一下,改变一下进行访问

得到另一个提示,要给XOR_KEY进行传参

?XOR_KEY=Polar,成功执行,得到真正的flag

23. uploader
 <?php $sandBox = md5($_SERVER['REMOTE_ADDR']);//生成专属目录名:获取访问者的IP地址,并用MD5加密 if(!is_dir($sandBox)){ mkdir($sandBox,0755,true);//要创建的目录名,目录权限0755,true表示允许递归创建 if($_FILES){//判断是否上传文件 move_uploaded_file($_FILES['file']['tmp_name'],$sandBox."/".$_FILES["file"]["name"])// $_FILES['file']['tmp_name']:PHP自动保存的上传文件临时路径 echo "上传文件名: " . $_FILES["file"]["name"] . "<br>"; echo "文件类型: " . $_FILES["file"]["type"] . "<br>"; echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>"; echo $sandBox; } highlight_file(__FILE__); 

$sandBox."/".$_FILES["file"]["name"]:目标路径(专属目录 + 原文件名),这个很重要!!

只给出了上传的代码,没有上传的方式,需要自己写一个上传的html页面

上传一句话木马的php文件,之后进行访问,记得加上专属目录名(用md5加密的访问者的IP地址)。然后进行命令执行

<!DOCTYPE html> <html> <body> <form action="http://70c5aad8-a20c-4181-80c0-8bd102f6233c.www.polarctf.com:8090/" enctype="multipart/form-data" method="post" > <input name="file" type="file" /> <input type="submit" type="submit" /> </form> </body> </html> 

24. bllbl_ser1

题目给了一串反序列化代码

<?php class bllbl { public $qiang;//我的强 function __destruct(){ $this->bllliang(); } function bllliang(){ $this->qiang->close(); } } class bllnbnl{ public $er;//我的儿 function close(){ eval($this->er); } } if(isset($_GET['blljl'])){ $user_data=unserialize($_GET['blljl']); } ?>

一共就两个类,构造一下代码

<?php class bllbl{ public $qiang; } class bllnbnl{ public $er; } $a=new bllbl(); $b=new bllnbnl(); $a->qiang=$b; $b->er='system("ls /");'; echo serialize($a); ?>

25. 1ncIud3

在该题目中,当你传入../时,会将其转换成空

当 PHP 把这个路径传给操作系统时,系统会按上面的规则规范化,最终变成 ../../test.php,实现了目录穿越。PHP 拼接路径后传给系统,系统规范化路径传入的内容就会变成../../../../f1a9,从而成功读取

26. 投喂

27. 简单的导航站

网页源代码中得到密码

注册,登陆下

产看用户列表,有代码,用数组进行绕过,得到用户名字符串,需要爆破(在文件管理中的登录框进行爆破)

得到账号为P0la2adm1n,登陆进去是一个上传页面,没有过滤,直接上传php的木马文件,然后蚁剑进行连接

上传路径为/uploads/上传的文件名

看到很多flag

在flag验证框中进行flag验证,爆破

28. background

d和p一个表示执行的命令,一个表示执行的语句,然后是要用POST方法去获取change_background.php文件

payload:d=cat&p=/flag

29. 俄罗斯方块

要是直接玩也是可以的,就是耗时太久了

直接在控制台进行分数修改,让score=10,然后玩一把就可以得到提示,但是这个提示就是一串文字

又查看js代码看到有一个获取文件,get_squirrt1e.php,访问后就可以得到flag

30. 代码审计easy

<?php $page = 'hello.php'; if (isset($_GET['page'])) { $page = $_GET['page']; } $base_dir = __DIR__ . '/pages/'; $target = $base_dir . $page; if (preg_match('/https?:\/\//i', $page)) { echo "远程 URL 不允许呦。"; exit; } if (file_exists($target)) { $content = file_get_contents($target); echo "<pre>" . htmlspecialchars($content, ENT_QUOTES|ENT_SUBSTITUTE, 'UTF-8') . "</pre>"; } else { if (@file_exists($page)) { $content = file_get_contents($page); echo "<pre>" . htmlspecialchars($content, ENT_QUOTES|ENT_SUBSTITUTE, 'UTF-8') . "</pre>"; } else { echo "No!: " . htmlspecialchars($page); } }

这题flag在根目录

31. VIP

抓包,修改vipStatus的值,no修改成yes

32. white

是一个命令执行的界面

 ls pwd whoami date echo base64 sh 
命令包含不允许的内容,匹配模式: /[;&`$\'\"<>?*[\]{}()#@!%]/
禁止危险函数(如 system、eval、tac、cat 等)
命令包含不允许的内容,匹配模式: /\b(etc|proc|dev|bin|sbin|usr|home|flag)\b/i

在过滤的命令中没有过滤管道符(|),这是可以利用的一个点。管道符拼接

echo bHM= 输出字符串 bHM=(这是 ls 的 Base64 编码结果)

base64 -d 对输入的 Base64 字符串解码(bHM= 解码后得到 ls)

sh 调用 Shell 执行输入的命令(即执行 ls,列出当前目录文件

也可以用反斜杠\来进行绕过flag关键字的过滤

33. help

直接查找js文件就可以了

34. cookie欺骗2.0

登录成功然后抓包,修改user,发包,认证失败。那可能后面的值也要修改

hfrel拿去解码,发现时rot13加密,结果是user1。同样将admin进行rot13加密,替换上去,发包得到flag

Read more

Hunyuan-MT-7B-WEBUI功能全体验:38语种互译有多强?

Hunyuan-MT-7B-WEBUI功能全体验:38语种互译有多强? 你有没有遇到过这样的场景?一封来自巴西合作伙伴的葡语邮件,内容重要却看不懂;一份维吾尔语的政策文件需要快速转成中文汇报;或者想把一段蒙古语民歌翻译成英文分享给国际朋友。语言本不该是沟通的障碍,但现实往往卡在“怎么翻得准、翻得快、还能让非技术人员自己操作”这一步。 现在,Hunyuan-MT-7B-WEBUI 正在改变这一现状。作为腾讯混元团队推出的开源翻译模型集成方案,它不仅支持38种语言互译(含5种民族语言与汉语互译),更关键的是——无需代码、一键启动、网页直用。这不是一个仅供研究者调试的模型权重包,而是一个真正面向落地使用的完整服务系统。 本文将带你全面体验这款镜像的核心能力:它到底能翻哪些语言?翻译质量如何?实际使用是否真的“零门槛”?以及在真实业务中能发挥什么价值。 1. 快速上手:三步实现“点击即译” 很多AI项目止步于“跑通demo”,而Hunyuan-MT-7B-WEBUI的目标是让任何人都能用起来。它的部署流程简洁到令人惊讶: 1.1 部署与启动全流程 整个过程只需三步: 1.

爬虫对抗:ZLibrary反爬机制实战分析——前端混淆、请求签名与频率限制的逆向工程与绕过思路

摘要 ZLibrary作为全球最大的数字图书馆之一,其反爬虫机制的演进堪称现代Web防御技术的缩影。从早期的简单IP封禁,到如今融合网络层限速、应用层指纹识别、前端JS混淆、动态签名校验、行为分析及混合验证码的多维防御体系,ZLibrary构建了一套全链路的反爬闭环。本文基于实战抓包(Charles/Wireshark)、浏览器调试(Chrome DevTools)及代码逆向(Frida/AST还原)等技术手段,对ZLibrary的反爬机制进行深度拆解。核心聚焦三大技术难点:IP频率限制的分层阈值与画像机制、前端JS混淆下的动态令牌生成逻辑(token/sign)、以及请求签名与TLS指纹的协同校验。文章不仅揭示各机制的底层技术原理,更输出一套可工程化复用的绕过思路,包括代理池的精细调度、浏览器指纹的模拟、无头浏览器的优化及验证码的降级预防策略。全文约2万字,旨在为爬虫技术与Web安全研究者提供深度的实战参考。 关键词: ZLibrary;反爬虫;JS混淆;请求签名;频率限制;指纹识别;验证码;逆向工程 第一章 技术背景与研究目标 1.1 爬虫与反爬虫的“军备竞赛”现状

uni-app——uni-app 小程序 之 【按钮失效问题排查(前端+后端)】

一、问题背景 在某业务流程系统中,当业务单据进入特定待处理状态后,用户需要在对应操作页面完成核心操作,点击页面中的两个关键操作按钮(提交类、完结类)以推进流程流转。 然而实际操作时,两个按钮均出现报错提示,无法正常触发流程跳转,业务无法继续推进。 二、问题复现 操作步骤: 1. 登录系统账号(具备对应操作权限) 2. 进入业务单据列表,找到一条处于特定待处理状态的单据 3. 点击进入该单据的操作详情页面 4. 填写页面所需基础信息、上传相关附件 5. 点击页面中的提交类或完结类按钮 6. 结果:按钮点击后报错,流程无法流转到下一节点,操作失败。 三、问题分析 经过多轮排查,发现问题并非单一环节导致,而是涉及前端和后端两层,属于接口调用、参数传递及数据校验的联动异常,具体分析如下: 1. 前端:页面加载时未获取核心业务数据 操作详情页面进入后,未先调用查询接口获取单据关联的核心数据,直接使用空值的关键标识调用操作接口,导致后端无法查询到对应业务记录,接口调用失败。

【GitHub项目推荐--Happy Coder:Claude Code的移动端与Web客户端】⭐⭐⭐

简介 Happy Coder 是一个为Claude Code和Codex设计的移动端和Web客户端,支持实时语音功能、端到端加密,功能齐全。该项目由slopus团队开发,旨在让开发者能够随时随地监控和控制他们的AI编程助手。 🔗 GitHub地址 : https://github.com/slopus/happy 📱 核心价值 : 移动访问 · 实时监控 · 端到端加密 · 多设备切换 · 开源透明 项目背景 : * 移动办公 :远程工作需求增长 * AI编程 :AI编程助手普及 * 设备切换 :多设备协同需求 * 隐私安全 :代码安全需求 * 开发者工具 :开发者工具创新 项目特色 : * 📱 移动访问 :手机访问Claude Code * ⚡ 实时同步 :实时状态同步 * 🔐 端到端加密 :完全加密保护 * 🔔 推送通知 :智能推送提醒 * 🔄 设备切换 :无缝设备切换 技术亮点 : * 加密技术 :端到端加密 * 实时通信 :实时数据同步