Q1IQ's blog

Tags · PWN

Home

About

Archives

loading..
PWN

awd pwn checker编写记录

最近在为awd pwn题写checker,然后我写了个能检测pwn题全部功能是否可以正常使用的脚本,被反馈还需要改进下: 不可以用pwntools库 不能让选手直接nop free,要不选手体验差 pwntools禁用对我这种fw pwn手来说,没了pwntools就是没了胳膊,干啥啥不行。不过对于checker来说,只要有网络通信功能就行,于是找到了一个平替,zio。 from zio import * is_local = True if is_local: io = zio('./buggy-server') # used for local pwning development else: io = zio(('1.2.3.4&..

Read more
loading..
PWN

Qemu逃逸学习记录

pci设备地址空间PCI设备都有一个配置空间(PCI Configuration Space),其记录了关于此设备的详细信息。大小为256字节,其中头部64字节是PCI标准规定的,当然并非所有的项都必须填充,位置是固定了,没有用到可以填充0。前16个字节的格式是一定的,包含头部的类型、设备的总类、设备的性质以及制造商等,格式如下: 比较关键的是其6个BAR(Base Address Registers),BAR记录了设备所需要的地址空间的类型,基址以及其他属性。BAR的格式如下: 设备可以申请两类地址空间,memory space和I/O space,它们用BAR的最后一位区别开来。 当BAR最后一位为0表示这是映射的I/O内存,为1是表示这是I/O端口,当是I/O内存的时候1-2位表示内存的类型,bi..

Read more
loading..
PWN

GeekPwn热身赛 2020 wp

playthenew久闻Tcache Stashing Unlink Attack大名一直不会,今日就着这题学习一下。 [Glibc中堆管理的变化][https://www.freebuf.com/articles/system/234219.html] 漏洞原理[Tcache Stashing Unlink Attack原理][https://blog.csdn.net/seaaseesa/article/details/105870247] Tcache Stashing Unlink Attack利用了calloc的分配特性,calloc不从tcache bin里取chunk,而是会遍历fastbin、small bin、large bin,如果在tcache bin里,对应的size的bin不为空,..

Read more
loading..
PWN

DefenitCTF 2020 wp

PWNerrorProgram漏洞分析这道题目的堆操作给了MALLOC、FREE、EDIT、VIEW,MALLOC只能分配[0x777,0x77777]的块,也就是只能操纵large bin,FREE和EDIT都可以随意UAF,VIEW没有限制。 题目给了假的栈溢出漏洞,程序会检查是否溢出并在溢出时exit退出。 给了假的格式化字符串漏洞,因为输入的字符串中不能出现%和$。 利用这道题目可以用今年四月份hatena提出的利用方式 house of husk,能够在有large bin UAF漏洞的情况下getshell。 https://ptr-yudai.hatenablog.com/entry/2020/04/02/111507 贴上学长大佬写的学习笔记:https://www.anquanke...

Read more
loading..
PWN

RCTF 2020 wp

bf1 程序分析题目是一个brainfuck的解释器,给的libc是2.27。brainfuck是一种简单的、可以用最小的编译器来实现的、符合图灵完全思想的编程语言。这种语言由八种运算符构成,除了指令还包括:一个以字节为单位、被初始化为零的数组、一个指向该数组的指针(初始时指向数组的第一个字节)、以及用于输入输出的两个字节流。 字符 含义 > 指针加一 < 指针减一 + 指针指向的字节的值加一 - 指针指向的字节的值减一 . 输出指针指向的单元内容(ASCII码) , 输入内容到指针指向的单元(ASCII码) [ 如果指针指向的单元值为零,向后跳转到对应的]指令的次一指令处 ] 如果指针指向的单元值不为零,向前跳转到对应的[指令的次一指令处 题目逻辑是..

Read more
loading..
PWN

Linux kernel学习记录

本文是kernel调试的一点心得和总结。 kernel保护模式MMAP_MIN_ADDR : 不允许申请NULL地址 mmap(0,….) kptr_restrict: 查看内核函数地址 commit_creds和prepare_kernel_cred函数的地址都可以在 /proc/kallsyms 中查看(较老的内核版本中是 /proc/ksyms)。 一般情况下,/proc/kallsyms 的内容需要 root 权限才能查看 head -n 10 /proc/kallsyms grep commit_creds /proc/kallsyms grep prepare_kernel_cred /proc/kallsyms echo 0 > /proc/sys/kernel/k..

Read more
123