首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏wuuconix

    PWN PWN PWN! - wuuconixs blog

    写在前面 作为一个半退役的CTF web选手,在大三上学习了编译原理和操作系统原理之后,感觉可以学习pwn了!下面写一下在buu和攻防世界上pwn专题的刷题记录。 payload代码 from pwn import * sh = process('. payload代码 from pwn import * # sh = process(". payload代码 from pwn import * # sh = process('. payload代码 from pwn import * # sh = process(".

    94020编辑于 2023-03-16
  • 来自专栏YX’blog

    【Bugku】pwn-pwn2

    我们需要计算的偏移量是+0x08-(0x30)=0x38,那么我们要把这个量转移到get_shell函数的那个地址去 得到get_shell函数地址是0x400751,接下来就是利用py写脚本了 from pwn

    30720编辑于 2023-04-07
  • 来自专栏I0gan

    AUTO PWN

    ref: https://angr.io/ ref: https://bbs.pediy.com/thread-266757.htm 介绍 目前,CTF的PWN题越来越难以PWN掉,漏洞的挖掘和利用正逐步由人工向自动化 /project/auto_pwn/pwn1' Arch: i386-32-little RELRO: Partial RELRO Stack: No canary /pwn1 1 logging out... 2 sh-5.1$ whoami i0gan 好了,现在我们得到了拿到shell的payload,那么我们怎么实现自动化去挖掘和pwn掉它呢? pwn1_exp.py from pwn import * import os from binascii import a2b_hex ​ io = process('. /pwn1': pid 18152 Solving...

    2.6K80发布于 2021-06-26
  • 来自专栏C3ting

    PWN学习

    PWN学习 一、看不懂的理论部分 1、栈溢出 寻找危险函数 通过寻找危险函数,我们快速确定程序是否可能有栈溢出,以及有的话,栈溢出的位置在哪里。

    44710编辑于 2023-12-26
  • 来自专栏ly0n

    BUU PWN

    或者0xf + 0x8也可以 fun函数的地址为0x401186 payload为 ‘a’ * 23 + p64(0x401186) 最终exp from pwn import * #sh = process 看到偏移量为72 最终exp from pwn import * #sh = process('. get_flag地址为:0x8048f0d 最终exp from pwn import * sh = process('. exp from pwn import * #sh = process('. 是64位,所以 (0x80 + 8) system(‘/bin/sh’)地址: 0x400596 exp from pwn import * #sh = process('.

    1.1K20发布于 2020-11-04
  • 来自专栏赤道企鹅的博客

    Pwn - ezvm

    最后,启动具有整数溢出的VM,通过控制code的大小,从之前释放的memory中分配内存,这样就可以执行构造好的exp code 完整Exp from pwn import * context.log_level

    63620编辑于 2022-09-29
  • 来自专栏陈冠男的游戏人生

    PWN:House Of Force

    /usr/bin/env python # -*- coding: utf-8 -*- from pwn import * context.log_level = 'debug' p = process create(offset,'1234') create(0x10,p64(magic)*2) quit() p.interactive() 2016 BCTF bcloud exp: from pwn

    76361发布于 2020-09-25
  • 来自专栏giantbranch's blog

    CTF PWN 总结

    canary的话有条件的可以逐个字节爆破或者利用其他漏洞泄露 ret2dlreslove brop(待实践) srop(待实践) 有时可能是纸老虎,seccon 2017 babystack (go lang pwn

    38300编辑于 2024-12-31
  • 来自专栏CTF新手教程

    PWN从入门到放弃(1)——PWN环境搭建

    0x00 安装环境 本文主要介绍利用ubuntu搭建pwn做题环境,包括pwntools,gdb,gdb-pwndbg,gdb-peda,libc库等 0x01 安装pwntools $ sudo apt-get environment marker: python_version < ‘3’”这个错误,解决方法: $ pip install --upgrade setuptools 安装后可以通过在python中输入from pwn

    1.8K11编辑于 2024-01-30
  • 来自专栏赤道企鹅的博客

    pwn部分题解

    . */ } 多行注释的处理没考虑注释不闭合,可能造成越界读写 相关issue exp: from pwn import* p=remote('124.70.202.226',2101) #p=process /cJSON_PWN') context.log_level='debug' p.send('aaaa/*'.ljust(0xe,'a')) #gdb.attach(p) p.send('/*'.rjust 用纯gadget切换到32位模式绕过沙箱限制打开文件,然后切回64位模式用alarm侧信道爆破flag字符 由于一次可输入的长度不够,这里分成了三段ROP,每段之前先迁移一下栈 exp: from pwn Dasher delivering gift FILEFD BUF FLAGLEN; reindeer Dancer delivering gift BUF NULL NULL; remote.py from pwn they should already have a gift; reindeer Rudolph delivering gift STDOUT HELLO HELLOLEN; exp.py from pwn

    63910编辑于 2022-08-01
  • 来自专栏陈冠男的游戏人生

    PWN:House Of Einherjar

    House Of Einherjar原理 用 how2heap 的例子看一下 参考:http://blog.topsec.com.cn/pwn的艺术浅谈(二):linux堆相关/ #include <stdio.h /usr/bin/env python # coding=utf-8 from pwn import * elf = ELF('.

    63451发布于 2020-09-17
  • 来自专栏赤道企鹅的博客

    Pwn - BabyFMT

    在最后释放格式化串buffer的时候再触发system("/bin/sh");这个过程中会发生几次固定的babyprintf()调用,这里如果碰到了被破坏的堆结构会触发异常,所以需要绕掉 EXP: from pwn

    55110编辑于 2022-08-01
  • 来自专栏赤道企鹅的博客

    PWN - Writeup

    题目很有意思,学到很多 parser 这题是一个魔改的httpd,Content-Length小于0时存在格式化串漏洞,leak后写one_gadget即可 from pwn import * #p exp from pwn import * #p = process("./chall", env={"LD_PRELOAD":".

    36310编辑于 2022-08-01
  • 来自专栏陈冠男的游戏人生

    PWN - Stack smash

    0x7fffffffdd68 减一下,得到偏移:0x218 也就是说,我们输入的内容要 0x218 以后才能把 argv[0] 给覆盖掉,那么写了 0x218 之后把 0x00400d20 写上就可以了 from pwn /readme') p=remote('pwn.jarvisoj.com',9877) payload='a'*0x218+p64(0x400d20) p.sendlineafter('name? from pwn import * context.log_level = 'debug' debug = 0 if debug: p = process('.

    1.5K51发布于 2020-03-31
  • 来自专栏赤道企鹅的博客

    Pwn方向writeup

    pipeline babypwn notebook orw 堆有rwx权限,下标溢出写got函数为堆地址,在两个堆块上拼接shellcode调用read读入shellcode进行orw拿flag from pwn /pwn", env={"LD_PRELOAD":"./libc-2.23.so . /pwn") libc = ELF(". __main__": exp() no_output 这是个非预期解法,通过MIN_INT/-1触发异常handler实现栈溢出,构造ROP链借助check函数来侧信道爆破flag from pwn 然后往__free_hook写setcontext+53,借助setcontext+53gadget调用mprotect给堆rwx后执行orw shellcode from pwn import *

    90520编辑于 2022-08-01
  • 来自专栏二进制安全

    Pwn出题教程

    bin目录中,并且把flag改成想要的内容,然后在ctf_xinetd的同级目录下创建docker-compose.yml文件: 其中的内容为: version: '3' services: pwn : build: ./ image: pwn ports: - "60001:9999" pids_limit: 然后打开ctf.xinetd文件,将图中框起来的部分的名字改为前一步中在bin目录中放入的ELF的名字: 在ctf_xinetd的目录下运行命令: docker build -t "pwn" . " --name="pwn" pwn 这里的-p后面的内容就是把9999端口映射到8888端口,这里的端口号可以改。 –name后面的内容是指定容器的名称,而-h是指定容器的hostname,而最后的那个pwn,则是image的名字,所以这里要根据你前面创建的镜像名进行更改。

    2.6K20编辑于 2022-12-01
  • 来自专栏宸机笔记

    CTF_Show-Pwn

    https://ctf.show/challenges Pwn签到 nc直连 Pwn2 使用ROPgadget工具搜索可以直接看到程序内有system和/bin/sh字符串,拼接一下就可以使用了 EXP from pwn import * sh = process(". payload += p32(system)+p32(system)+p32(binsh) sh.recvuntil("\n") sh.sendline(payload) sh.interactive() Pwn3 EXP #-*-coding:utf-8 from pwn import * #sh = process(". EXP from pwn import * sh = process("./ex2") sh = remote("124.156.121.112",28050) elf=ELF(".

    75010发布于 2020-11-04
  • 来自专栏陈冠男的游戏人生

    PWN-BROP笔记

    0x400000)+p64(addr)+p64(stop_gadget) 如果能过把 0x400000 的内容给输出来就可以找到 put@plt 了 HCTF 出题人失踪了 测试栈空间大小的脚本: from pwn 再找一个能让程序不崩溃的地址(stop_gadgets): from pwn import * def getStopGadgets(length): addr = 0x400000 while 再去找 BROP_gadgets from pwn import * def get_brop_gadget(length, stop_gadget, addr): try: sh 拿到了 put 的地址,就可以通过 很多次的 put 把想要的内容给 dump 出来 把程序 DUMP 下来: from pwn import * def dump(length, rdi_ret, puts_plt 这样就得到了 put@got 地址,知道了这个地址,再用 libcsearch 去进行 ret2libc 就可以了 from pwn import * from LibcSearhcer import

    1.1K30发布于 2020-03-06
  • 来自专栏陈冠男的游戏人生

    PWN:Tcache Attack原理

    同一大小的 chunk free 之后前 7 个会放到一个 tcache 链表里面,不同大小的放在不同的链表中

    1.3K41发布于 2020-09-10
  • 来自专栏网络攻防实战知识交流

    PWN 栈溢出

    PWN 栈溢出 https://zhuanlan.zhihu.com/p/25816426# 函数调用栈 程序运行时,内存一段连续的区域,用来保存函数运行时的状态信息,包括函数参数和局部变量 调用栈

    1.4K20发布于 2019-07-25
领券