
BUUCTF - PWN
文章平均质量分 60
古月浪子
0 warning , 0 error , 0 bug .
展开
-
【BUUCTF】ciscn_2019_ne_5 Write Up
题目是一道32位程序,依旧是rop仔细观察可以发现漏洞出在GetFlag函数的strcpy上,我们可以输入的字符有128个,而复制字符串的栈空间只有0x48字节程序本身存在fflush函数,我们可以直接用它的sh来当作system的参数from pwn import *from LibcSearcher import *from struct import packcontext.os='linux'context.arch='i386'context.log_level='deb...原创 2020-08-06 17:40:36 · 946 阅读 · 0 评论 -
【BUUCTF】jarvisoj_level2_x64 Write Up
漏洞函数里面可以看到,我们可以栈溢出题目使用了system函数,我们可以直接调用程序里面藏了一个binsh接下来只需要构造rop链了64位的函数调用的第一个参数由rdi寄存器传递,很显然需要用到pop rdi这个gadget,并且几乎每个64位程序里面都能找到它再需要注意的就是,system调用的时候需要栈对齐,这里采用一个ret来对齐栈from pwn import *from LibcSearcher import *from struct import packcontext..原创 2020-08-06 17:16:26 · 694 阅读 · 0 评论 -
【BUUCTF】ciscn_2019_n_5 Write Up
这个反编译有点不准确,不过大概意思能理解到,先读入0x64字符到bss段上,然后用gets函数读入到栈上什么保护都没开,我们发现可以直接执行bss段上的代码思路很简单,将shellcode写入bss段,然后栈溢出rop到bss段上执行shellcode,拿到shell注意栈帧大小from pwn import *from LibcSearcher import *from struct import packcontext.os='linux'context.arch='amd64'.原创 2020-08-06 17:01:39 · 548 阅读 · 0 评论 -
【BUUCTF】bjdctf_2020_babystack Write Up
继续刷buuoj中…看到上新题了,是当时比赛的时候做过的一道题,顺手打掉程序只开了NX保护,读入字符数可控,直接ret2text解决遇到的小问题是,本地环境打0x4006E6打不通,换成了0x4006EA,后来测试远程环境2个都可以,有点迷 =_=from pwn import *from LibcSearcher import *from struct import packcontext.os='linux'context.arch='amd64'context.log_lev原创 2020-08-02 19:30:26 · 749 阅读 · 1 评论 -
【BUUCTF - PWN】baby_rop2
checksec一下,栈溢出IDA打开看看,明显的栈溢出漏洞题目给了libc文件,使用printf把read的got地址打印出来即可泄露libc地址,然后one_gadget拿shellfrom pwn import *from LibcSearcher import *context.os='linux'context.arch='amd64'context.log_leve...原创 2020-04-18 02:30:41 · 492 阅读 · 0 评论 -
【BUUCTF - PWN】ciscn_2019_s_3
checksec一下,栈溢出IDA打开看看,main函数内只有一个call vuln注意到vuln函数末尾并没有使用leave指令,即直接把之前push的rbp当作return address我们要ROP的话offset只需要0x10程序里还给了一些gadget,注意到当rax=0x3b时syscall为execve,只需要让rdi="/bin/sh"、rsi=0、rdx=0即可ge...原创 2020-04-17 01:30:08 · 824 阅读 · 2 评论 -
【BUUCTF - PWN】jarvisoj_level2
checksec一下,栈溢出IDA打开看看,很容易找到溢出点,/bin/sh字符串程序里也有现成的from pwn import *from LibcSearcher import *context.os='linux'context.arch='amd64'context.log_level='debug'sl=lambda x:io.sendline(x)ru=lamb...原创 2020-04-05 03:02:33 · 721 阅读 · 0 评论 -
【BUUCTF - PWN】baby_rop
checksec一下,栈溢出IDA打开看看,很明显的溢出点,/bin/sh字符串在程序里也有现成的,通过ROPgadget找到pop rdi命令即可将/bin/sh作为参数调用systemfrom pwn import *from LibcSearcher import *context.os='linux'context.arch='amd64'context.log_leve...原创 2020-04-05 02:51:29 · 426 阅读 · 0 评论 -
【BUUCTF - PWN】jarvisoj_level0
checksec一下,栈溢出IDA打开看看,很明显的溢出和后门函数,一道白给题from pwn import *from LibcSearcher import *context.os='linux'context.arch='amd64'context.log_level='debug'sl=lambda x:io.sendline(x)rl=lambda :io.rec...原创 2020-04-05 02:28:35 · 762 阅读 · 0 评论 -
【BUUCTF - PWN】babyheap_0ctf_2017
checksec一下,堆题果然是保护全开IDA打开看看,首先mmap一块随机区域,用于存放我们申请的块的属性,然后输出菜单,有allocate、fill、free、dump功能可以注意到,在创建堆的时候,将堆的地址和大小存放在了mmap的区域中,并且使用的是calloc,会将申请的内存区域清零漏洞点在fill函数中,没有限制输入内容的长度,从而可以堆溢出删除堆后会将指针置零输出...原创 2020-04-05 01:55:16 · 2704 阅读 · 2 评论 -
【BUUCTF - PWN】not_the_same_3dsctf_2016
checksec一下,可以栈溢出IDA打开看看,直接可以溢出有一个后门函数,会把flag放在bss段上程序有write函数,通过rop把flag打印出来from pwn import *from LibcSearcher import *context.os='linux'context.arch='i386'context.log_level='debug'sl=la...原创 2020-03-27 19:14:44 · 1614 阅读 · 0 评论 -
【BUUCTF - PWN】ciscn_2019_n_8
checksec一下,好叭全开IDA打开看看,var是int数组,如果var[13]=0x11的话就能get flagfrom pwn import *from LibcSearcher import *context.os='linux'context.arch='i386'context.log_level='debug'sla=lambda x,y:io.sendlin...原创 2020-03-27 18:31:45 · 1207 阅读 · 0 评论 -
【BUUCTF - PWN】PWN5
checksec一下IDA打开看看,发现格式化字符串漏洞那么思路很简单,先找偏移,然后通过格式化字符串漏洞任意地址写来更改unk_804c044的值from pwn import *from LibcSearcher import *context.os='linux'context.arch='i386'context.log_level='debug'sla=lambd...原创 2020-03-27 18:09:00 · 547 阅读 · 0 评论 -
【BUUCTF - PWN】get_started_3dsctf_2016
checksec一下,可以栈溢出IDA打开看看,一个很普通的栈溢出漏洞,有后门函数,应该说是一道非常简单的题了但是,本地打通非常容易,可是靶机打不通 =_=于是乎,换个方法,利用mprotect函数修改bss段为rwx,写入shellcode跳过去执行from pwn import *from LibcSearcher import *context.os='linux'con...原创 2020-03-25 23:10:18 · 1604 阅读 · 2 评论 -
【BUUCTF - PWN】ciscn_2019_en_2
不知道是不是题目重复了,反正我的另一篇博文的exp可以直接copy过来打通…传送门:【BUUCTF - PWN】ciscn_2019_c_1附件:ciscn_2019_en_2原创 2020-03-25 21:44:28 · 1243 阅读 · 0 评论 -
【BUUCTF - PWN】babyrop
checksec一下,可以栈溢出IDA打开看看,读取随机数作为参数传入函数中读取输入,进行字符串比较,不同则退出,相同则返回输入的第8个字节,可以通过输入 \0 绕过字符串比较返回的字节作为read的长度,buf只有231字节,可以通过传入255来栈溢出,然后就是标准的ret2libc了from pwn import *from LibcSearcher import *co...原创 2020-03-25 21:35:33 · 1842 阅读 · 0 评论 -
【BUUCTF - PWN】ciscn_2019_c_1
checksec一下IDA打开看看,encrypt函数内存在栈溢出漏洞由于程序会将输入的内容加密,这会破坏我们的payload,所以注意到strlen函数,通过在payload开头放上 \0 来绕过加密由于程序内没有后门函数,也没有system函数,所以考虑ret2libc特别注意到题目是部署在Ubuntu18上的,因此调用system需要栈对齐,这里填充ret来对齐from pwn...原创 2020-03-20 11:54:08 · 4220 阅读 · 3 评论 -
【BUUCTF - PWN】ciscn_2019_n_1
checksec一下IDA打开,发现如果满足的条件达成,就能get flag找到栈溢出漏洞,输入可以覆盖到v2写代码把11.28125在内存中的十六进制表示出来from pwn import *from LibcSearcher import *context.os='linux'context.arch='amd64'context.log_level='debug'...原创 2020-03-19 20:08:31 · 3634 阅读 · 0 评论 -
【BUUCTF - PWN】pwn1_sctf_2016
checksec一下找到漏洞函数,s的长度为0x3c,而我们只能输入32个字符,不足以栈溢出,但是发现replace函数会把输入的 I 替换成 you,这样的话输入20个 I 就能填满s找到后门函数from pwn import *from LibcSearcher import *context.os='linux'context.arch='i386'context.lo...原创 2020-03-19 18:16:07 · 4283 阅读 · 0 评论 -
【BUUCTF - PWN】warmup_csaw_2016
checksec一下,发现啥保护也没开IDA打开看看,又是明显的栈溢出漏洞,看到v5的长度为0x40、后门函数的地址为0x40060dfrom pwn import *from LibcSearcher import *context.os='linux'context.arch='amd64'context.log_level='debug'sl=lambda x:io.s...原创 2020-03-19 17:39:16 · 3359 阅读 · 3 评论 -
【BUUCTF - PWN】rip
checksec一下,发现啥保护也没开IDA打开看看,明显的栈溢出漏洞,IDA给出了s的长度为0xf发现后门函数脚本中使用地址0x401186发现不行(不知道为什么),换成0x401187发现可以from pwn import *from LibcSearcher import *context.os='linux'context.arch='amd64'context.l...原创 2020-03-19 17:25:38 · 1711 阅读 · 0 评论 -
【BUUCTF - PWN】test_your_nc
只要连上就能有flagfrom pwn import *from LibcSearcher import *context.os='linux'context.arch='amd64'context.log_level='debug'io=remote('xxx',xxx)io.interactive()附件:test_your_nc...原创 2020-03-19 16:07:31 · 1914 阅读 · 0 评论