0%

距离上次写博客居然已经将近两年了,时间过得真快。最近一直在忙,国庆终于有空折腾一下自己的玩具,刚好捡的垃圾 HP T430 Thin Client 也到货了,趁着有时间折腾一下它,并做个记录。先放个折腾的效果图(看起来很是简陋):

final

阅读全文 »

由于本人用的 Windows 虚拟机为 Hyper-v,希望能在 wsl 中调试 hyper-v 中的虚拟机,网上关于这个的内容比较少,做一下记录

设置串口

hyper-v 有点弱智,不能在 GUI 界面设置串口,只能从 powershell 设置串口路径,下述命令会将虚拟机内的 /dev/ttyS0 映射到 windows 的 \\.\pipe\ubuntu-rootkit 管道

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Get-VMComPort Ubuntu-20.04-rootkit

VMName Name Path
------ ---- ----
Ubuntu-20.04-rootkit COM 1
Ubuntu-20.04-rootkit COM 2

Set-VMComPort Ubuntu-20.04-rootkit -Path "\\.\pipe\ubuntu-rootkit" -Number 1
Get-VMComPort Ubuntu-20.04-rootkit

VMName Name Path
------ ---- ----
Ubuntu-20.04-rootkit COM 1 \\.\pipe\ubuntu-rootkit
Ubuntu-20.04-rootkit COM 2

Start-VM -Name Ubuntu-20.04-rootkit
❯ (get-childitem \\.\pipe\).FullName|findstr ubuntu
\\.\pipe\ubuntu-rootkit
阅读全文 »

在广域网想要使用局域网联机玩一些游戏, 如 Left 4 Death 2, 一般需要使用 VPN 来构成局域网。但是 openvpn, L2TP 之类的 VPN 配置复杂, 并且是中心化的 VPN, 若是服务器线路不好则会延迟过高。

考虑到国内的机器贵的要死, 国外机器延迟又高, 只有白嫖阿里云学生机才能维持得了生活的样子。学生机配置也不高, 带宽也不够, Tinc VPN 这类 P2P vpn 刚好能解决学生机的痛点, 我最后决定用 Tinc VPN 组建内网。

本文用于记录 Tinc VPN 搭建过程。

阅读全文 »

之前安装 binwalk 时都是 apt 一键安装, 后面使用时发现 apt 安装的 binwalk 会因为缺少一些命令行工具无法正常工作, 因此卸载掉了 apt 安装的 binwalk, 跟着官方文档手动安装 binwalk

然而官方文档都是基于 ubuntu 进行安装的, debian 下会缺少一些包。同时官方的依赖脚本也有些过时, 我根据自己机器的情况做了一些更改

我个人有一些强迫症, 不希望软件被装到 /usr/bin, 而是 ~/.local/bin, pip 安装时都加了 –user 参数

阅读全文 »

以前一直以为用 nginx 配谷歌以及谷歌学术的镜像站会很麻烦, 就一直没去配, 直到昨天 evi0s 给我发了个 nginx module 我才知道有人已经造好了轮子

只需要给 nginx 安装 ngx_http_google_filter_module 模块即可

个人感觉官方给的教程实在是太麻烦了, 而且比较老旧还需要重编译 nginx, 我 vps 上的 nginx 直接使用的 nginx 官方容器, 因此决定将该模块及其依赖项编译为动态模块, 挂载进容器内动态加载

编译过程和 https://blog.plusls.com/linux/nginx/compile-nginx-dynamic-modules/ 基本一致

阅读全文 »

最近尝试用 nginx 搭建某网站的反代, 但是 nginx 内置的功能无法替换 html 内的链接, 最后考虑用 nginx 的第三方模块 ngx_http_substitutions_filter_module 来实现链接替换的功能。

但是网上搜到的教程基本上都是下载模块源码和 nginx 源码, 然后重新编译一次 nginx, 十分的不方便。而且我服务器上为了避免炸依赖, 使用了 nginx 的官方镜像, 重新编译个 nginx 再挂载进 container 怎么想都太扭曲了, 查了一下文档发现 nginx 自从 1.9.11 以后就支持动态加载模块了, 不需要重新编译 nginx, 只需要将模块编译为 so 然后在 nginx 的配置文件中加载就行。

阅读全文 »

旧博客已经很久没更新了,考研结束重新回到CS的生活后,发现自己自从博客停更后就停止了学习,和同龄人之间的差距越来越大了。为了激励自己,我决定重开博客,慢慢将旧博客的文章迁移到hexo上。

这篇文章用于记录折腾hexo的过程。

折腾完 Github Action 后的效果如下:

github-actions-success.png

每次push后都会自动部署

阅读全文 »

本篇文章已经过期!现在vscode已经提供了wsl插件可以直接在wsl下工作

由于个人习惯,exp一般都在windows使用vscode编写,然而windows下无法装上pwntools,一直想使用wsl中的python。然而正常情况下vscode是不支持使用wsl中的python,需要进行一番魔改,令其能拥有自动补全,查找引用等功能。

阅读全文 »

说明

此writeup包含两天的pwn题,exp和二进制文件见附录

正文

这次线下并没有以CNSS来打,而是以DURA(Dianzikeji University Retired Ailliance)来打的。然而因为操作失误,把CNSS挤出了半决赛。。。。

不得不吐槽这次线下,比当时强网杯操蛋多了,怎么打个ctf还要断网的呢???怎么这check这么不靠谱的。

Day1

Day1开场测试交题时发现zz icq给的接口居然有2s的cd,mmp,最后还是通过直接从平台抓包拿的接口交题的,不然永远在retry。被逼无奈只能把3个pwn和一个web的exp全部写在同一个py里面,统一交题,可以说是非常的蛋疼了。事实上解决这种问题的最好方法应该是写一个中心服务器,拿到flag就post给中心服务器,最后由中心服务器统一提交flag。

Day1可以说是打的心累,据说还有pwnable.tw的原题,然而我并没有做到,我好菜啊,差点被挤出决赛圈。同时午饭又冷又难吃,可以说是伙食最差的一场线下了。

阅读全文 »