Hugo papermod添加Giscus评论功能
前言 感觉博客还是应该有一个评论区比较好,来增加互动性(虽然没人看QAQ)。由于本博客目前使用的是静态博客 Hugo 并且托管在 Cloudflare 上,所以使用 Giscus 组件比较好。 Giscus 利用 GitHub Discussions 实现的评论系统,让访客借助 GitHub 在网站上留下评论和反应。虽然需要访客登录 Github 账号,提高了评论的门槛,但是同样也筛选了垃圾评论,可以说是各有利弊吧。 ...
前言 感觉博客还是应该有一个评论区比较好,来增加互动性(虽然没人看QAQ)。由于本博客目前使用的是静态博客 Hugo 并且托管在 Cloudflare 上,所以使用 Giscus 组件比较好。 Giscus 利用 GitHub Discussions 实现的评论系统,让访客借助 GitHub 在网站上留下评论和反应。虽然需要访客登录 Github 账号,提高了评论的门槛,但是同样也筛选了垃圾评论,可以说是各有利弊吧。 ...
基本信息 题目名称:技能五子棋 题目链接:[GCCCTF 2025]技能五子棋 | NSSCTF 考点清单:WebSocket、XSS 解题思路 题目给出的初始页面由两个部分组成,一个是五子棋棋盘,另一个评论的功能。下赢五子棋比较困难,主要是因为使用 AI 先手并且没有禁手的规则,黑棋胜率很高。很多在线的五子棋 AI 都比较弱,但是还有更强的 AI 可以辅助我们对战,例如 taptap 中的五子棋(非广告),下赢后会获得下面的提示,告诉我们要使用黑客的方式获胜才能真正获得 flag。 这里提醒我们在聊天框输入 hint,获得提示:“尝试用你的棋子覆盖对面的棋子”。但是想要通过覆盖的方法获胜需要了解棋子传输的方式,进而使用篡改数据包的方法实现覆盖。通过浏览器开发者工具可知,棋子的传输通过 WebSocket 协议,在 index.js 中可以看到对应的连接过程。 ...
基本信息 题目名称: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。 ...
问题背景 图形化界面编辑器如 VisualStudioCode(VSCode)或 Cursor 通过 Remote SSH 插件,可以方便地连接和管理远程服务器。然而,这类插件通常会在首次连接时自动下载一份 server 端组件到远程服务器。在国内的网络环境下,这个下载过程往往非常缓慢。尤其是 Cursor 更新频率较高,每隔几天就可能需要重新下载一次,极大影响使用效率和心态。 ...
这是我的第一篇真正意义上的博客,早在一年前我就有了搭建博客的想法。那时候,我看了很多关于如何搭建博客的教程,也尝试使用了博客园等平台,但是最终还是想搭建一个独立的博客。一是为了避免一些不必要的审核,二是为了有更大的自由度,可以自由地选择主题和插件。在去年七月份尝试使用了Hexo简单的搭建了一个模板,但是由于种种原因没有坚持下来。直到前两天,借着北京大风天气的机会,窝在家里,忙里偷闲,终于又决定搭建一个博客。 ...