KDE终极美化指南

前言

近期在电脑上装了Windows+Linux双系统,日常学习和轻度办公类方面的东西都主要在Linux上进行,需要打游戏或者要用到Adobe全家桶等只有Windows才能干的事情的时候才切到Windows上去。用了也有大几个月了,Linux已经完全能够满足我的需求,包括编程、影音播放、Office文档处理、远程控制、IM软件等等在Linux上都已经拥有了较好的支持,用作主力系统完全不存在问题。既然都用作主力系统了,桌面一定得整的让自己看着舒服,于是就有了这篇文章。

阅读全文

T-Star CTF 2022 WriteUp

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

关卡1

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

阅读全文

*CTF 2022 WriteUp

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

oh-my-grafana

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

阅读全文

基于VMI的Linux虚拟机系统调用解析

VMI(Virtual Machine Introspection,虚拟机自省),是一种从虚拟机外部对虚拟机内部状态进行监控的技术。基于VMI获取的内存数据并结合通过KVM对VCPU相关信息的获取,实现将该类低级语义转换为系统调用层面的高级语义信息,从而可以一定程度的分析出系统的行为。

有关基于KVM的VMI开发环境部署可参考这篇文章。本文主要记录有关修改KVM源码实现系统调用陷入、对内存数据进行语义转换相关的原理与流程。

阅读全文

虚拟机自省环境搭建

虚拟机自省(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:

阅读全文