<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://linhongbo.com/</id><title>Hongbo Lin</title><subtitle>A personal blog which is focused on computer technology, cybersecurity.</subtitle> <updated>2024-05-31T15:25:07+00:00</updated> <author> <name>Hongbo Lin</name> <uri>https://linhongbo.com/</uri> </author><link rel="self" type="application/atom+xml" href="https://linhongbo.com/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://linhongbo.com/"/> <generator uri="https://jekyllrb.com/" version="4.3.3">Jekyll</generator> <rights> © 2024 Hongbo Lin </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>OpenWrt 下安装和使用 Clash (ShellCrash)</title><link href="https://linhongbo.com/posts/how-to-use-clash-on-openwrt/" rel="alternate" type="text/html" title="OpenWrt 下安装和使用 Clash (ShellCrash)" /><published>2023-11-13T00:00:00+00:00</published> <updated>2024-05-31T15:24:30+00:00</updated> <id>https://linhongbo.com/posts/how-to-use-clash-on-openwrt/</id> <content src="https://linhongbo.com/posts/how-to-use-clash-on-openwrt/" /> <author> <name>Hongbo Lin</name> </author> <category term="Tutorial" /> <category term="Clash" /> <summary> 简介 Clash 是非常流行的流量代理软件，特别是很多机场将其作为首选的客户端。而其中的 ShellCrash（这里没有拼写错误，并不是 ShellClash） 则是包括 OpenWrt 在内的一众 Linux 系统最佳 Clash 客户端之一，其最大亮点是安装配置非常便捷、Linux 友好、支持 Web 图形界面。下文就介绍如何在 OpenWrt（本文使用 23.5.0）下快速安装配置 ShellCrash。当然，其他基于 Linux 系统理论上也是适用的。 安装 ShellCrash 和内核 ShellCrash 本身只是一个脚本，还需要搭配 clash/singbox 等内核来使用。 SSH 进入系统后，按照 ShellCrash 项目主页在线安装的命令进行安装，这里推荐使用作者私人源进行安装，因为此时的路由器通常访问 Github 速度慢甚至无法访问： export... </summary> </entry> <entry><title>使用 Stubby 实现 DNS Over TLS</title><link href="https://linhongbo.com/posts/dns-over-tls-with-stubby-on-openwrt/" rel="alternate" type="text/html" title="使用 Stubby 实现 DNS Over TLS" /><published>2021-12-19T00:00:00+00:00</published> <updated>2021-12-19T00:00:00+00:00</updated> <id>https://linhongbo.com/posts/dns-over-tls-with-stubby-on-openwrt/</id> <content src="https://linhongbo.com/posts/dns-over-tls-with-stubby-on-openwrt/" /> <author> <name>Hongbo Lin</name> </author> <category term="Tutorial" /> <category term="OpenWrt" /> <summary> 介绍 Stubby 是一款跨平台的 DNS Over TLS（DOT）本地代理，本文介绍了 OpenWrt 平台上安装配置 Stubby 并对接现有的 DNS 基础设施 ，使得明文 DNS 请求发送给 OpenWrt（Dnsmasq）后，再由 Stubby 加密发送给支持 DOT 的 DNS 服务器。 安装&amp;amp;配置 Stubby 使用 opkg install stubby 命令或在 OpenWrt Web 界面搜索 stubby 安装。 Stubby 暂时还没有 LuCi 界面，uci 格式配置文件 位于 /etc/config/stubby（根据文档，当选项 manual 配置为 ‘1’ 时忽略 uci 配置文件，使用 /etc/stubby/stubby.yml ）。 默认配置下 Stubby 监听 127.0.0.1@5453 和 0::1@5453 以及使... </summary> </entry> <entry><title>使用 Tasker</title><link href="https://linhongbo.com/posts/using-tasker/" rel="alternate" type="text/html" title="使用 Tasker" /><published>2021-12-18T00:00:00+00:00</published> <updated>2021-12-18T00:00:00+00:00</updated> <id>https://linhongbo.com/posts/using-tasker/</id> <content src="https://linhongbo.com/posts/using-tasker/" /> <author> <name>Hongbo Lin</name> </author> <category term="Tutorial" /> <category term="Tasker" /> <summary> 介绍 Tasker 是一款功能强大的 Android 自动化 APP。本文记录了 Tasker 常用基础知识以及一些自动化场景，文章内容后续会不断更新。 Tasker 基础 Tasker 基本组件 Project：将 Tasker profiles, tasks, scenes 和 variables（全局变量） 进行逻辑分组，以方便管理。可以给 Project 设置直观的图标。 Profile：触发 Task 的环境上下文，比如时间、地点、事件、应用等等，必须关联到 Task。 Task：Task 代表一个具体的任务，由一至多个具体的 Action 组成，Task 可类比于函数，Action 则是组成函数的一行行代码（具体指令）。 Action：Tasker 任务的最小执行单位，包括通知、文件读写、HTTP 请求、系统配置甚至第三方插件等等。值得注意 If... </summary> </entry> <entry><title>MIT 6.858 lab 1 - Buffer overflows</title><link href="https://linhongbo.com/posts/mit-6858-lab-1-buffer-overflows/" rel="alternate" type="text/html" title="MIT 6.858 lab 1 - Buffer overflows" /><published>2021-11-26T00:00:00+00:00</published> <updated>2021-12-09T01:43:19+00:00</updated> <id>https://linhongbo.com/posts/mit-6858-lab-1-buffer-overflows/</id> <content src="https://linhongbo.com/posts/mit-6858-lab-1-buffer-overflows/" /> <author> <name>Hongbo Lin</name> </author> <category term="MIT 6.858" /> <category term="lab" /> <summary> zook 代码解读 zookld：负责根据配置启动进程，包括 zookd（Web服务，负责分发），zook http 服务和 zookfs 另外一个服务。zookld 会在 main() 中打开并经监听指定的端口（默认 80，是 Web 服务器对外接口），然后将此端口发给 zookd 使用。 start_server() 起一个 HTTP socket，根据配置文件是 8080 而不是默认的 80； NCONF_get_string 从 .conf 文件中提取目标配置信息，然后 launch_svc 拉起 zookd（通过 execve 可执行文件），负责分发请求，launch_srv() 会创建一对 socketpair，将服务的 fd 放在 svcfds[] ，用于内部进程间通信。 zookd 第一个拉起，所以 svcfds[0] 是... </summary> </entry> <entry><title>MIT 6.858 Course 3 - Buffer Overflow Exploits and Defenses</title><link href="https://linhongbo.com/posts/mit-6858-course-3-buffer-overflow-exploits-and-defenses/" rel="alternate" type="text/html" title="MIT 6.858 Course 3 - Buffer Overflow Exploits and Defenses" /><published>2021-11-26T00:00:00+00:00</published> <updated>2021-11-26T00:00:00+00:00</updated> <id>https://linhongbo.com/posts/mit-6858-course-3-buffer-overflow-exploits-and-defenses/</id> <content src="https://linhongbo.com/posts/mit-6858-course-3-buffer-overflow-exploits-and-defenses/" /> <author> <name>Hongbo Lin</name> </author> <category term="MIT 6.858" /> <category term="Course" /> <summary> buffer overflow 缓解措施（续上节） 措施 3. 堆栈不可执行， 硬件支持对内存读、写、执行的权限说明。例如，AMD 的 NX 位，Intel 的 XD 位，Windows DEP（Data Execution Prevention），Linux 的 Pax。可将栈标记为不可执行。一些系统强制 「W^X」，即可写和可执行不能同时存在，但也不支持动态生成代码（同时需要写和执行）。详见可执行空间保护。 “w^r” 原则的缺点是会让动态生代码生成变得困难，典型例子是 JIT 编译，必须写代码到 page，这样就要先设置 write bit，然后又要去掉 write bit，然后设置 execute bit，整个个过程变得棘手。 措施 4. 地址随机化 基本原理就是攻击者要使用硬编码的内存地址，随机化阻止攻击者找到地址：就算攻击者可以在本地用 GDB 来识别真实地址，... </summary> </entry> </feed>
