欢迎来到tabtac の 自留地!

输出有价值的内容

Hugo papermod添加Giscus评论功能

前言 感觉博客还是应该有一个评论区比较好,来增加互动性(虽然没人看QAQ)。由于本博客目前使用的是静态博客 Hugo 并且托管在 Cloudflare 上,所以使用 Giscus 组件比较好。 Giscus 利用 GitHub Discussions 实现的评论系统,让访客借助 GitHub 在网站上留下评论和反应。虽然需要访客登录 Github 账号,提高了评论的门槛,但是同样也筛选了垃圾评论,可以说是各有利弊吧。 ...

October 28, 2025 · tabtac

[GCCCTF 2025] 技能五子棋 Writeup

基本信息 题目名称:技能五子棋 题目链接:[GCCCTF 2025]技能五子棋 | NSSCTF 考点清单:WebSocket、XSS 解题思路 题目给出的初始页面由两个部分组成,一个是五子棋棋盘,另一个评论的功能。下赢五子棋比较困难,主要是因为使用 AI 先手并且没有禁手的规则,黑棋胜率很高。很多在线的五子棋 AI 都比较弱,但是还有更强的 AI 可以辅助我们对战,例如 taptap 中的五子棋(非广告),下赢后会获得下面的提示,告诉我们要使用黑客的方式获胜才能真正获得 flag。 这里提醒我们在聊天框输入 hint,获得提示:“尝试用你的棋子覆盖对面的棋子”。但是想要通过覆盖的方法获胜需要了解棋子传输的方式,进而使用篡改数据包的方法实现覆盖。通过浏览器开发者工具可知,棋子的传输通过 WebSocket 协议,在 index.js 中可以看到对应的连接过程。 ...

October 28, 2025 · tabtac

[GCCCTF 2025] PHP签到 Writeup

基本信息 题目名称:PHP签到 题目链接:[GCCCTF 2025]PHP签到 | NSSCTF 考点清单:robots.txt、PHP 绕过 解题思路 看到页面主题为 ROBOT HUB,第一时间想到 robots.txt,访问得到: User-agent: * Disallow: /l34RNpHP.php 继续访问,获得下面的 php 代码: <?php header('Content-Type: text/plain; charset=UTF-8'); if (!isset($_GET['user'], $_GET['token'], $_GET['sig'], $_GET['ts'], $_GET['nonce'])) { readfile(__FILE__); exit; } $user = (string)$_GET['user']; $token = (string)$_GET['token']; $sig = (string)$_GET['sig']; $ts = (int)$_GET['ts']; $nonce = (string)$_GET['nonce']; $xff = $_SERVER['HTTP_X_FORWARDED_FOR'] ?? ''; if (strpos($xff, '127.0.0.1') === false && strpos($xff, '::1') === false) { exit('hacker!'); } if (base64_decode($nonce) === false || !preg_match('/^[A-Za-z0-9+\/=]+$/', $nonce)) { exit('hacker!!'); } if (time() - $ts <= 60) { // ok } else { exit('expired!'); } if (strpos($user, 'admin') == false) { $key = $_COOKIE['authkey'] ?? 'NULL'; $mac = hash_hmac('md5', $user . $token . $ts, $key); if (substr($mac, 0, 6) == substr($sig, 0, 6)) { $stored_hash = '0e830400451993494058024219903391'; if (md5($token) == $stored_hash) { @readfile('/flag'); } else { exit('hacker!!!'); } } else { exit('hacker!!!!'); } } else { exit('blocked user'); } 程序要求传入五个 GET 参数:user、token、sig、ts、nonce。 ...

October 28, 2025 · tabtac

小技巧之加速vscode remote server下载

问题背景 图形化界面编辑器如 VisualStudioCode(VSCode)或 Cursor 通过 Remote SSH 插件,可以方便地连接和管理远程服务器。然而,这类插件通常会在首次连接时自动下载一份 server 端组件到远程服务器。在国内的网络环境下,这个下载过程往往非常缓慢。尤其是 Cursor 更新频率较高,每隔几天就可能需要重新下载一次,极大影响使用效率和心态。 ...

July 28, 2025 · tabtac

My First Blog

这是我的第一篇真正意义上的博客,早在一年前我就有了搭建博客的想法。那时候,我看了很多关于如何搭建博客的教程,也尝试使用了博客园等平台,但是最终还是想搭建一个独立的博客。一是为了避免一些不必要的审核,二是为了有更大的自由度,可以自由地选择主题和插件。在去年七月份尝试使用了Hexo简单的搭建了一个模板,但是由于种种原因没有坚持下来。直到前两天,借着北京大风天气的机会,窝在家里,忙里偷闲,终于又决定搭建一个博客。 ...

April 15, 2025 · tabtac