
pwn安全
求是量子
“求是量子”旨在量子领域,对量子前沿科技技术和公司(以及研究小组)进行科普与介绍。也会不定时更新量子基础知识和前沿论文解析。
展开
-
BUUCTF pwn xp0intctf_2018_tutorial2
查看保护pie没开IDA打开查看程序流程序有后门函数backdoor那么首先读入buf 4字节,使得buf的值为0xdeadbeef然后再读入v4 4字节,这里使得v4的内容为backdoor的地址而程序是64位的,可以用p32进行输入完整exfrom pwn import *context(log_level='debug')#io=process("./Xp0intCTF_2018_tutorial2")io=remote("node3.buuoj.cn",26963)原创 2021-03-10 10:32:38 · 242 阅读 · 0 评论 -
BUUCTF pwn rootersctf_2019_xsh
查看保护,基本全开IDA查看程序程序读入命令,并通过子函数 run 执行run函数对读入的命令进行判断,只能执行ls, echo, zooo指令,这里可以发现echo 命令存在format string 漏洞,首先测试可以确定偏移为24那么整体的思想就是修改程序提供的函数的got表为system@plt,然后再输入内容/bin/sh即可获得shell,目前可以利用的函数为strncmp和strtok函数首先需要泄露piebase的值,这里介绍覆盖strncmp函数(strtok同理)原创 2021-02-23 17:45:06 · 2012 阅读 · 1 评论 -
BUUCTF pwn hwb2018_gettingstart
查看程序保护IDA打开查看程序流读入buf的内容会覆盖v7和v8的值,那么控制v7=0x7FFFFFFFFFFFFFFF和v8=0.1,即可获得shell这里v8的二进制值可以直接在程序里找到或者在网站http://www.binaryconvert.com/convert_double.html 输入0.1也可获得完整exfrom pwn import *context(log_level='debug')#io=process("./task_gettingStart_kt原创 2021-02-01 21:02:35 · 729 阅读 · 1 评论 -
BUUCTF pwn actf_2019_anotherrepeater
查看程序保护保护基本都没开查看程序流程main函数,然后进入到input函数input函数先输入buf的大小,这里有整数溢出,可以控制buf的大小输入-10,可以发现buf的大小是65526,并且打印出buf的地址那么read(0,&buf,v6)就会发生栈溢出,所以可以考虑在buf里写入shellcode,然后再控制程序流返回到buf处即可, 栈溢出大小是0x41b完整exfrom pwn import *context(log_level='debug')#io原创 2021-01-18 20:16:07 · 1770 阅读 · 0 评论 -
BUUCTF pwn Runit&&RunitPlusPlus
[BSidesCF 2019]Runit查看保护IDA查看程序流读入buf并执行,那么可以写入shellcode完整exfrom pwn import *context(log_level='debug')#io=process("./runit")io=remote("node3.buuoj.cn",28430)io.recv()payload=asm(shellcraft.sh())io.send(payload)io.interactive()[BSid原创 2021-01-13 10:38:39 · 15755 阅读 · 2 评论 -
BUUCTF pwn Xp0intCTF_2018_bof
查看程序保护保护基本都没开IDA打开查看程序流程读入0x18个字符,NAME位置在bss段然后程序进入到fun1函数,有明显的栈溢出漏洞,溢出长度为0x10,正好可以控制返回地址主要思想:基本保护都没开,那么可以先在NAME处读入shellcode。后面进入到fun1函数里,利用栈溢出控制程序返回到NAME处这里shellcode长度最多为0x18那么可以用shellcode=b"\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x56原创 2021-01-11 21:36:16 · 8832 阅读 · 0 评论 -
BUUCTF pwn xp0intctf_2018_tutorial1
查看保护用IDA打开查看程序流程有后门函数backdoor,可以直接获得shell程序逻辑很简单,输入buf使得buf==0xBABABABA即可获得shell那么直接可以构造payload完整exfrom pwn import *context(log_level='debug')#io=process("./Xp0intCTF_2018_tutorial1")io=remote("node3.buuoj.cn",25721)io.recv()buf=0xBABABA原创 2021-01-08 10:55:48 · 11193 阅读 · 0 评论 -
XCTF pwn 高手进阶区 250
查看保护静态链接IDA打开,查看程序流程自定义的print函数这里外面传来temp并拷贝到v3中,但是没有考虑长度,存在栈溢出漏洞,溢出长度0x3a那么可以考虑i386的rop控制对应的寄存器为对应的值就可以获得shell程序里面没有’/bin/sh’,可以控制read函数写入到bss段那么可以 ROPgadget --binary 250 --only “pop|ret” 查看对应的gadgetbss段可以选择(这里选择不唯一)payload构造,首先溢出在bss段写入原创 2021-01-04 11:12:10 · 13912 阅读 · 2 评论 -
BUUCTF pwn 鹏城杯_2018_code
查看保护程序流程先输入name,然后通过对输入的字符串进行检测,通过后进入到have_fun()函数check_str()函数要求输入的字符串ascii码在[65,90],[97,122],即字符‘A’-‘Z’和’a’-’z’;另一个函数要求如下结果这里可以写相应的python代码进行爆破(时间太长,可以测试查看规律)相应的结果如下可以发现结果是递增的,并且那么可以猜测进行测试确定第一个为w,后面以从类推那么输入‘wyBTs’即可成功通过检测进入到have_fu原创 2020-12-28 11:45:50 · 26812 阅读 · 0 评论 -
BUUCTF pwn qctf_2018_dice_game
查看保护程序流程输入name后 连续猜对50次随机数即可获得flag输入buf的可以覆盖栈上的内容,那么输入0x50个字符就可以覆盖seed,最终产生的随机数就是定值了考虑输入0x50个‘A’,那么写c程序可以获得生成的随机数列表3, 3, 2, 1, 5, 3, 4, 6, 3, 4, 2, 2, 3, 2, 1, 1, 4, 5, 4, 6, 3, 6, 4, 3, 4, 2, 2, 6, 1, 2, 2, 3, 4, 1, 2, 1, 4, 5, 4, 6, 6, 5, 1, 3,原创 2020-12-25 17:49:13 · 30141 阅读 · 3 评论 -
BUUCTF pwn 安洵杯_2018_neko
查看保护PIE和canary都没开IDA打开,查看程序流程先输入’y’或’Y’进入play函数read存在栈溢出漏洞,cancary保护没开,可以直接溢出溢出距离为0xd0程序有后门但这没有效果那么可以先把puts函数的地址打印出来,求得libc的基地址,然后再求相应的‘/bin/sh’地址,system地址源程序有提供,第二次溢出时就可以获得shell完整ex...原创 2020-12-23 09:46:54 · 26332 阅读 · 4 评论 -
XCTF 攻防世界 pwn CGfsb
XCTF 攻防世界 pwn CGfsb题目流程printf(&s) 明显的format string 漏洞修改pwnme的值为8完整的ex原创 2020-12-22 21:18:22 · 27153 阅读 · 0 评论 -
pwn题bbctf_2020_fmt_me
BUUCTF pwn题bbctf_2020_fmt_me题目流程snprintf 格式化漏洞 用gdb查看第一个参数的内容即可观察参数位置在bss 0x4040a0偏移为6那么依据题目的意思 可以将atoi 改为system_plt; 将system_got改为main返回再次输入/bin/sh获得shell完整ex.py...原创 2020-12-21 17:58:04 · 28226 阅读 · 3 评论