l0tus's blog

切开血管,落日殷红

论文阅读:"V-Shuttle:Scalable and Semantics-Aware Hypervisor Virtual Device Fuzzing"

ABSTRACT hypervisor也被称作Virtual Machine Monitor(VMM),它可以在一台主机中隔离多个虚拟机。可以理解为多个虚拟机的管理核心,但是hypervisor存在利用方式可以做到逃逸和提权。但虚拟机中以DMA(direct memory access)交互的数据结构往往是非常复杂,(可以类比于堆管理等,会有很多结构体,互相之间有很多指针相互指向和连接起来)......

CISCN2023 部分PWN题wp

pwn 4/6,被白夜带飞了,协会的大家都太强了 这几道题目里能独立完整解出的大概也只有两道,另外的都是白夜在主要输出,我只能提供一点思路和跟着写一点脚本,还是需要多练 但是我把我们俩做出的题都放上来了,有的步骤我还不会,现在太晚了(00:40)明天白天有空复现一下 之后大概是分区赛(?,继续加油 烧烤摊儿 第一道pwn,比较简单,光速下班但是之后光速上题hhh 整数溢出,没检查负数 也有......

虚拟机逃逸初探(更新中)

开篇废话 从上学期就定下了学VMpwn这个方向,一是我在刚接触虚拟机的时候就认为虚拟机这个东西是一门艺术,是杰作,其次是被去年蒋公子挖VM ware的CVE拿GeekPwn冠军给帅到了,幻想着成为他那样的神仙。于是就开始摸一些简单的CTF中虚拟机逃逸的题目和qemu的原理,这里特别感谢公大的@korey0sh1师傅,从他的文章里我学到了许多。 Qemu QEMU是一个托管的虚拟机,它通过动态......

《现代操作系统》阅读笔记(持续更新中)

引子 大概是这学期初的时候开始就很想学操作系统,但是因为种种原因,一直拖着没学。前两天刚考完期中,运气比较好及格了,课业压力总算是减轻了一些;对于操作系统的学习,学长们给我推荐的都是《操作系统真相还原》和MIT的公开课和实验,但是我手边并没有《操作系统真相还原》,iPad上倒是有电子版,但碍于电子版读起来总是不舒服。还有就是MIT的公开课没有中文字幕,虽说我曾经是英语专业,但硬听英文课这种留......

阿里云CTF2023-babypwn-WP

一道rust写的堆题

rust 写的目录堆题 很丑。 主函数: 是我做过最丑的pwn题,主函数无视掉一部分很丑陋的代码。主要关注的就是一个switch case 语句,左边的函数栏中仔细看可以看到增删查改和目录还有后门 backdoor函数: delete函数: 源码我就不解读了太丑了没仔细看,大概试试也就能测出洞来 思路: delete函数调用时输入index为1953723762可以调用后门函数......

CVE-2022-26258

FirmAE仿真模拟 && D-link CVE复现

最近读的论文是关于firmware emulation和firm fuzz的,正好这几天看了关于FirmAE的文章,就试着使用FirmAE来进行一次仿真模拟。 FirmAE的原理大概是以Firmadyne工具为基础,用程序对固件进行分析,然后模拟起来它的web服务。比较舒服的地方在于它自动化程度较高,一行指令就能从固件起到web服务。至于成功率用论文的原话来说就是:“successfully......

XCTF-final-shellgame && photos of travelling

2023南京-XCTF决赛一道misc中的pwn题

赛题 没想到第一次校外的线下赛居然是这么大型的XCTF总决赛,虽然老学长们杀进冠军直通的时候我还没上大学,现在居然有幸和战队一起去南京。决赛12小时,我做了一下午的这道misc里的pwn。到头来也只是有了个思路,比赛结束后我在qq上找出题人空白爷要来了exp,现在就作为复现一下赛题。 题目思路大概是通过给出的10个序列,爆破种子,恢复160个随机数。计算每一步需要加的随机数个数拼凑明文she......

malloc相关源码解读

做比较难的堆题需要对堆这个数据结构以及glibc各种函数的实现源码有充分的掌握,因此我打算详细读一遍源码,对堆获得一个比较完备的认识。 本文分析的glibc版本为glibc2.33 注:本文由l0tus一人编写而成,编写过程参考了ctf wiki和A1ex、chuj等师傅的博客,如果有错误欢迎联系本人更正。 从一个chunk的结构开始讲起 在glibc源码中,可以找到malloc_chunk......

TOTOLINK路由器漏洞复现笔记

IoT漏洞的入门靶场

前言 从nameless师兄那里借来了TOTOLINK T6设备,当作入门IoT漏洞挖掘研究的起点 开始 固件 -> telnet -> busybox -> 固件 串口调试这一步我暂时还没做。直接从固件开始做起 在TOTOLINK的官网可以直接下载到T6/T10的固件 binwalk解包一下得到一个.web.extract文件夹 发现webscte文件夹,进去看到tel......

XCTF-forgot-WP

checksec 一道正常的栈题,只开了NX 反编译 第一次fgets输入长度为32,后面有一次scanf输入v2,结合栈的排布可以发现输入v2的时候可以溢出覆盖s,那么我们只需要控制好第二次输入就可以了 shift+f12看到有cat flag的字符串,找到对应函数: 程序最后对"v3[–v5]"的地址会直接调用,而前面的程序就是通过判断v2[i]的值是否在小写......