许久没看博客,想着应该处理下评论,登录进后台点击“未审核”,就立刻被跳转到了一个奇怪的链接。
2026-02-04T12:11:55.png
2026-02-04T12:12:24.png从“steal”“cookie”就不难看出,这把我的登录Cookie发送到了这个奇怪的IP地址里。接下来某人就可以通过这个Cookie登录我的后台了,不过还是阻止他最好。
复现了一下,只有点击“未审核”时才会被跳转,看来这个XSS注入肯定在某个未审核评论里。但未审核评论肯定不能随便全部扬了啊,于是我们打开phpMyAdmin管理博客的MySQL数据库,执行以下命令筛选有没有写了脚本“script”或者有特殊符号的评论。
DELETE FROM `typecho_comments`
WHERE `text` LIKE '%<script%'DELETE FROM `typecho_comments`
WHERE `text` REGEXP '<[^>]+>';;很遗憾,没有。看来这人没直接用script注入。会不会是篡改了插件设置或者博客源码?在博客根目录下执行
grep -rn "154.21.***.213" 一无所获。还是得在数据库里搜索。
2026-02-04T12:18:15.png直接在MySQL里搜索这个IP地址,找到了。删除他们,正好也看到这人用的是“"onfocus="location.href”办法来重定向。现在就把类似的评论全删了。不过我这里先把跳转的链接置空看看。
UPDATE `typecho_comments`
SET `url` = ''
WHERE `url` LIKE '%location.href%';找到两条。回到Typecho后台,未审核评论可以正常打开了,刚刚被替换掉的应该就是这两条评论。
2026-02-04T12:20:33.png很狡猾,应该是看了文章内容再手动下的评论,和文章强关联。这下要加强防护了。
以及,记得改掉Typecho的管理员密码。
套路太深了,我也没注意过这种,应该还没被盯上吧
Gmc 2026-03-15 19:01
评论有筛选就没啥问题,我这个是评论过滤器太拉了被钻空子了。
DuckXu 2026-03-15 22:07
头图加载的时候倒是吓我一跳。
你的博客被认定为这么有价值需要被盯上了 (´இ皿இ`)
白熊阿丸 2026-03-03 13:43
日常没用心做头图()
有价值肯定是不至于的,感觉像是广撒网,但是又是真人评论的。
还是阿丸的文章更有思考价值(☆ω☆)
DuckXu 2026-03-15 10:53
我看见 Typecho 1.3.0 版本更新记录其中一条就是修复评论区漏洞,Xu可以更新下试试
ZhangJet 2026-03-01 18:13
我测了升到1.3.0之后会出现GitHub Issue里提到的那个后台访问问题,暂时没空捣鼓就没推到服务器上()其实也是筛选器脚本没配置好,被钻了空子。
又及:这是第一次有人这样称呼我哇,非常的新奇!
DuckXu 2026-03-01 23:14
哈 (☆ω☆) 这个称呼简洁又明了。
我之前从 Typecho 1.2.1 升到 1.3.0 是提前升级的开发版,也是后台出了问题,我当时怀疑是我自己搞防火墙规则给搞坏了,后面莫名又升级成功(我也不确定是否成功,但登录控制台显示的确实是新版本号),最后也没管了。现在继续用 Hugo
咦刚才吧“取消回复”按钮看成了“发送”,我就说老半天没反应
ZhangJet 2026-03-02 16:25
我已经喊了一年要换静态了,始终没时间搞,所以各种样式调整也就半荒废了()Typecho好用,但1.3.0有点MIUI12的感觉了。
DuckXu 2026-03-15 10:54
好强
Mugzx 2026-02-09 17:17
是蒟蒻,要不然被注入之前应该就自动删掉了QAQ
DuckXu 2026-02-09 18:10
这个xss url咋插入进来的。在提交评论时不是会有格式检验么
流情 2026-02-05 14:52
检验了,但是我设置的是检测到关键词放到待审列表,不是直接拒绝评论 所以点进待审列表,xss就被执行了。
DuckXu 2026-02-05 16:08
这些手段真是防不胜防啊,看来还是需要在提交评论的时候加大验证
17 2026-02-04 21:29
又加了很多敏感词,而且有些敏感词甚至要直接设置评论失败,即使是进入审核也可能导致一些后果。
DuckXu 2026-02-04 23:02