T-Star CTF 2022 WriteUp

赛后复盘发现感觉自己脑洞还是不够大。。。里面的Web题虽然难度不大但还是学到了一些零零碎碎的知识点

关卡1

给了一个URL,打开后显示需要输入手机号获取验证码,随便打了一个发现发送验证码的接口有Debug信息直接把验证码返回了:

阅读全文

*CTF 2022 WriteUp

虽然比赛时只做出来一道题,但确实玩的挺开心的,所以记录一下

oh-my-grafana

该题用到了Grafana应用中最为广泛的一个CVE漏洞CVE-2021-43798,可以未授权通过Grafana的插件实现任意文件读取。

阅读全文

虚拟机自省环境搭建

虚拟机自省(Virtual Machine Introspection,简称VMI),是一种从外部(即Hypervisor)对虚拟机内部状态进行监控的技术。从Hypervisor层面,通过虚拟机的陷入,可以直接读取到虚拟机陷入瞬间的内存数据。

部署基于KVM的VMI开发环境主要分为三个部分,分别为KVM、QEMU、LibVMI。前两个是Linux下部署虚拟化的必备组件,LibVMI则是基于各种Hypervisor所实现的VMI库,官网地址https://libvmi.com

阅读全文

L3HCTF 2021 WriteUp

比赛感受:笑死,根本不会做

借用比赛群里发的一个表情包,Golang逆向属实给整麻了属于是

阅读全文

《Black Hat Go》学习笔记(三)

中文翻译版:https://github.com/YYRise/black-hat-go

数据库和文件系统

对SQL数据库的操作

Go使用database/sql包来进行对SQL数据库的操作。不同于Python中对不同数据库使用不同的依赖包和调用不同的方法,Go官方文档中其实是要求开发者都使用database/sql中的方法来进行统一的数据库操作,而要操作不同的数据库则需要导入不同的数据库驱动即可:

To use database/sql you’ll need the package itself, as well as a driver for the specific database you want to use.

You generally shouldn’t use driver packages directly, although some drivers encourage you to do so.(In our opinion, it’s usually a bad idea.) Instead, your code should only refer to types defined in database/sql, if possible. This helps avoid making your code dependent on the driver, so that you can change the underlying driver (and thus the database you’re accessing) with minimal code changes. It also forces you to use the Go idioms instead of ad-hoc idioms that a particular driver author may have provided.

阅读全文

《Black Hat Go》学习笔记(二)

中文翻译版:https://github.com/YYRise/black-hat-go

接下来第六章是讲SMB和NTLM的,但其实原版书里面讲的主要是基于SMB协议数据结构编码和解码的处理方式,对于具体的协议交互方式和算法细节书里只给了个官方文档的名称,但自己也没深入去研究过SMB的东西,所以顺便也把SMB相关的细节都看了一遍,内容比较多,所以单独写一篇记录一下

这一章书里的实战项目实现了一个SMB登录的过程,并且基于此写了个密码爆破程序,所以我的学习过程也是基于这个项目的代码的,地址https://github.com/stacktitan/smb,参考的版本也和书上的一致,为SMB2.1。

首先是一些做参考的文档和RFC:

阅读全文

2021夏令营记录

前言

基本情况:

  • 学校:西南某末流985
  • 专业:软件工程
  • 成绩:48/209(去年保研率16%)+2.5加分,保研边缘
  • 项目:一个国二

由于成绩较为拉垮,所以没有报特别好的学校(还是不去当炮灰了吧)

阅读全文