gdb_tips
前言学长推荐了个有趣的github项目,就此来回顾学习一下gdb的调试技巧:100-gdb-tips/src/index.md at master · hellogcc/100-gdb-tips 信息显示显示gdb版本信息1234gdb --versiongdb -v# 显示正在运行的 GDB 版本。您应该将此信息包含在 GDB 错误报告中。如果您的站点使用多个版本的 GDB,您可能需要确定正在运行的 GDB 版本;随着 GDB 的发展,新的命令被引入,旧的命令可能会消失。此外,许多系统供应商提供了 GDB 的变体版本,并且 GNU/Linux 发行版中也有 GDB 的变体版本。版本号与启动GDB时公布的版本号相同。# 目前只接触到gdb版本会和python版本存在一定兼容性问题 而一些插件又依赖于python版本,所以会导致gdb版本低会安装不了插件 显示gdb版权相关信息12pwndbg> show/info copying #gdb权限信息pwndbg> show/info warranty ...
ctfshow_pwn_181_204
前言这段时间没搞过pwn了,发现ctfshow wp更新了,那就来学一下吧😋(绝对不是这个原因🙅) 随缘更~~ 181–ret2text直接就是栈溢出了 能覆盖返回地址三字节 函数表里面有个Mid函数读flag,直接返回即可 123456789101112131415161718#coding:utf-8from tw11ty import *#from ctypes import *if __name__ == '__main__' : # context.log_level = 'info' IPort = 'pwn.challenge.ctf.show 28220' pwnfile = './181' libc_name = '/lib/x86_64-linux-gnu/libc.so.6' elf = ELF(pwnfile) io = init(pwnfile, IPort, libc_name) #...
WKCTF-pwn
baby_stackwait函数里面有个格式化字符串,多试几次能试出来offset=20时拿到libc v2长度为256字节,此函数中的a1[256]会造成栈上的off by null 布置的payload,rbp每次低字节为00 可以用ret填,不过exp多打几次出了 1234567891011121314151617181920212223242526272829303132333435363738#coding:utf-8from pwn import *from tw11ty import *#from ctypes import *if __name__ == '__main__' : # context.log_level = 'info' IPort = '110.40.35.73 33750' pwnfile = './pwn' libc_name =...
arm-pwn入门
一些师傅的博客: 关于学习arm架构下的pwn的总结 - ZikH26 - 博客园 (cnblogs.com) arm pwn 入门 | blingbling’s blog (blingblingxuanxuan.github.io) IOT pwn_apt install mips-linux-CSDN博客 [原创] CTF 中 ARM & AArch64 架构下的 Pwn-Pwn-看雪-安全社区|安全招聘|kanxue.com 也参考了许多其他师傅们的博客,这里不一一贴出来了。 最近刚好在看 《计算机组成原理( Alan Clements )》,以ARM体系架构为例,详细介绍其指令集、寄存器结构、指令执行流程等核心内容。对arm入门很有帮助。 目录- ARM寄存器集 - ARM指令集 - ARM PWN环境搭建 目录 ARM寄存器集 ARM指令集 ARM PWN环境搭建 题目一:32位 arm架构 静态 恢复符号表 题目二:32位 arm架构 动态 题目三:64位 aarch64架构 动态 题目四:32位 arm ret2libc 题目五:aarch64架构...
2024春秋杯夏季赛pwn
2024春秋杯夏季赛-pwnawdp没看,ctf只做出来两题,还有一题理论可行。 参考博客: https://starrysky1004.github.io/2024/07/05/2024-shu-qi-xue-xi-ji-lu/ 2024春秋杯WP - lmarch2 - 博客园 (cnblogs.com) 目录- stdout 解法一 解法二 解法三 - Shuffled_Execution - Save the preceniss 不可能的爆破… 正确解法 stdoutlibc版本:Ubuntu GLIBC 2.31-0ubuntu9.9 主函数溢出0x10字节,能覆盖到ret_addr;程序中有vuln函数,溢出 0x200-0x20 字节 初始化函数中 setvbuf(stdout, 0LL, 0, 0LL)设置为了标准输出无缓冲,setvbuf(stdin, 0LL, 2, 0LL)还是正常输出 12345int init(){ setvbuf(stdout, 0LL, 0, 0LL); return setvbuf(stdin,...
Iot-vulhub复现
借着逆向课的作业,就借此机会来简单学习并复现iot固件漏洞。网上搜集资料找到了Vu1nT0tal/IoT-vulhub: IoT固件漏洞复现环境 (github.com),感觉该项目对0基础入门iot固件漏洞复现是蛮有帮助的,就以此对相关漏洞进行复现。 由于我的服务器是国内的,所以构建过程会有很多麻烦,而且dockerhub也g了…… 目录- 环境构建 基础环境构建 漏洞环境构建 - TOTOLINK NR1800X (CVE-2022-41518) - Vivotek CC8160 栈溢出漏洞 - 华为 HG532 远程代码执行漏洞(CVE-2017-17215) - Cisco RV110W 远程代码执行漏洞(CVE-2020-3331) - D-Link DIR-859 命令注入漏洞(CVE-2019-17621) 本地仿真环境搭建 binwelk 固件解包工具 qemu Firmadyne 固件仿真工具 模拟运行固件 环境构建 IoT-vulhub 漏洞复现 – wsxk’s blog – 小菜鸡 IoT-Vulhub基础环境搭建 |...
2024ciscn分区赛-pwn复现
2024华东北分区赛-pwn复现第一次打国赛,也是第一次打awdp(非正规)。赛后平台、题目都是非预期。竟然可以用fix来break,算是长见识了。这次比赛更多的是积累经验了。 8web...
_IO_FILE基础利用
_IO_FILE利用 sky123师傅博客:http://t.csdnimg.cn/O8y8S,从IO_FILE的结构、原理到利用,写得极其详细易懂 hollk师傅:好好说话之IO_FILE利用(1):利用_IO_2_1_stdout泄露libc_libc泄露方式-CSDN博客 _IO_FILE结构 在2.31中定义在了struct_FILE.h头文件中 参照sky123师傅的贴图仿作出一幅IO_FILE结构关系图 1.FILE结构_IO_FILE结构在较低版本的libc中定义在glibc/libio/libio.h,较高版本定义在glibc/libio/bits\types\struct_FILE.h中,__IO_FILE结构体中存储缓冲区相关的成员变量。 _IO_list_all指向最后创建的FILE结构(初始化后指向__IO_2_1_stderr),各FILE结构通过_chain域链接形成一个单项链表。 _IO_FILE_plus中包含了_IO_FILE结构以及名为vtable的 _IO_jump_t...
the_end
hctf2018_the_end远程:2.27-3ubuntu1 每次往一个地址里面写1字节,给了libc _dl_rtld_unlock_recursive/_dl_rtld_lock_recursive往libc中写入数据,通过exit退出,打exithook,用one_gadget来获取shell 我们劫持ld中rtld_global结构体的_dl_rtld_unlock_recursive/_dl_rtld_lock_recursive 最后打的是_dl_rtld_unlock_recursive _dl_rtld_lock_recursive没通 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556#coding:utf-8from pwn import *from tw11ty import *#from ctypes import *if __name__ ==...
一次性格式化字符串利用
一次性格式化字符串【2023 强网杯】ez_fmt没开pie,开了 full Relro,改不了got和fini_array,也给了buf地址,栈上地址用偏移算 改printf_ret地址,绕过w==0xffff的限制,控制程序再次执行read 0x00401205 再次执行格式化字符串 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889#coding:utf-8from pwn import *from pwnlib.util.packing import p64, u64, p32, u32#from ctypes import *#from LibcSearcher import *s = lambda data :...