分类: pwn

29 篇文章

从零搭建一个IOT/pwn环境
我用的环境是纯净的wsl的kali-linux子系统(现在还是强烈建议用Ubuntu22.04),什么也没有,接下来我们开始一步步搭建pwn环境,默认带的Python是3.12.7,建议读者也下载和我一样的python版本,避免后续环境由于版本不同出现问题 后文所有的Ubuntu-24.04下的安装命令都用蓝色标识,如果某条安装没有标明Ubuntu-24.04,则说明命令没有变化 换源 终端输入 sudo vim /etc/apt/sources.list 输入"i",出现INSERT字样,此时…
C++异常机制
人生的第一道C++ 原理解析 什么是C++异常机制? 网上的文章并不算多,并且都是就题论题讲的,所以我理解的也不是很透彻,这里只能说把我理解的尽可能清楚地解释给大家,也不一定保证所有细节都正确,但至少从调试的角度来说,我说的大体上是没有问题的。 C++的异常机制主要通过try,catch,throw这三个关键字来实现,具体的实现方式这里就不多赘述了,可以自行百度B站,你需要知道的比较重要的点就是try递归式的向上回溯搜索。 void func1() { throw "you catch the …
强网杯houseofcat
该死的猫猫!!!本来一开始想拿apple2去打,不想学cat了,于是自信的套了一通板子之后却怎么也出不了。究其原因是因为这个题是个白名单,并且没有exit,这就导致只能通过malloc_assert去触发FSOP,然而走malloc_assert和exit这两个函数的IO调用链有些区别,虽然两者都要利用largebin attack去修改一个值,但前者修改的是_IO_list_all的值,后者修改的是stderr的值,后续的函数执行也有区别。在malloc_assert的时候会先触发__fxpr…
一些特殊原因导致gdb变白的问题解决方案
之前装onegadget的时候,gdb莫名变白了,查了半天也不知道该如何解决,情况如下 后来经过高人指点,只需要把tilix删掉就好了 sudo apt remove tilix 删掉之后就好看多了,感谢cy
pwnplus
自己编的pwn的板子 # -*- coding: utf-8 -*- from __future__ import absolute_import from __future__ import division import abc import logging import os import re import six import string import subprocess import sys import threading import time from six.moves …
2024羊城杯sandbox(禁用open和openat)
题目分析 增删改查都有,存在uaf,可以直接largebin attack 禁用了open,openat,execve等 思路分析 largebin attack之后把_IO_list_all改成堆地址,接着打一个apple2即可劫持程序控制流,但是由于程序禁用了open和openat2,所以常规的orw不能用,故一下有两个思路 1.利用openat2系统调用代替open,调用号为437,其函数原型如下 ssize_t openat2(int dfd, const char* filename,…
house of apple
house of apple1 apple1有4种打法,我目前只学了一种,该方法的前置知识为largebin attack和house of emma,如有不懂的请移步博客主页 apple1原版文章在这里,本文是对该文的具体分析和细节补充 攻击的效果 在任意地址写一个堆地址 实现的条件 1、程序从main函数返回或能调用exit函数2、能泄露出heap地址和libc地址3、能使用一次largebin attack(一次即可) 利用原理 结合emma所写,在2.24之后vtable有检查,所以伪造…
house of emma学习
网上各种文章都说emma是kwwi的延伸,讲的都有点模糊,但我没学过kwwi,好不容易才学会,所以今天来讲一下emma。 达到的效果 执行任意函数或gadget 实现的条件 可以控制或伪造一个file结构体,重点是能控制它的vtable指针 如何进行攻击 由于在2.24之后,新增了对vtable的检查机制(即调用vtable的函数之前,要先检查vtable指针是否在__start___libc_IO_vtables和__stop___libc_IO_vtables之间,也就是只能调用者二者之间所…