摘要: 首先检查一下保护措施 再用ida打开看一下 主体是vuln函数,存在栈溢出 观察函数名称发现gift函数 那就控制程序去执行这个函数就可以了 点击查看代码 from pwn import * io=remote("node4.anna.nssctf.cn",28436) gift_addr=0x40 阅读全文
posted @ 2025-08-31 22:45 Rye01R 阅读(28) 评论(0) 推荐(0)
摘要: 这题直接连接到端口,就能获得shell了 然后flag在/nss/ctf/flag,就能获得flag了 阅读全文
posted @ 2025-08-31 22:05 Rye01R 阅读(17) 评论(0) 推荐(0)
摘要: 首先看一下保护措施 然后用ida打开看一下 这里的主体是3个自定义的函数,需要输入a,b的值使其满足条件 第一个 因为输入变量s是有符号数的int型,8-(-1)=9,所以可以输入a=8,b=4294967295 = -1 第二个 我们可以让3*3=9 4294967305=9 4294967305 阅读全文
posted @ 2025-08-29 16:05 Rye01R 阅读(19) 评论(0) 推荐(0)
摘要: 首先查看一下保护措施 用ida打开看一下 这里有两可能的溢出的,一个是src,一个是buf2,然后具体看一下buf2在bss段,大小为104,比0x64大,并不会造成溢出 然后没有后门函数,没有bin/sh的字符串,那就是利用puts函数进行libc的泄露了 这里要注意的是在64位下调用system 阅读全文
posted @ 2025-08-29 11:43 Rye01R 阅读(51) 评论(0) 推荐(0)
摘要: 首先查看一下保护措施 存在canary的保护机制 再用ida打开看一下 存在gift 和 vuln两个主要的函数 在gift里面可以输入一条长度为6的字符串,并进行打印,存在格式化字符串的漏洞,可以用来泄露canary的值 然后调试发现canary在输入的字符串的后的第一个位置,因为这里是64位程序 阅读全文
posted @ 2025-08-28 23:18 Rye01R 阅读(19) 评论(0) 推荐(0)
摘要: 首先查看一下保护措施 那么这里就提示我们可能用到shellcode注入 接着用ida打开文件看一下 这是函数的主体部分,当strmp函数的返回值为0时,就可以调用vuln函数了,所以可以构造数据 crashme\x00 ,去满足这个条件 然后在看vuln这个函数 主要是调用了memcpy这个函数,就 阅读全文
posted @ 2025-08-28 16:56 Rye01R 阅读(24) 评论(0) 推荐(0)
摘要: 首先查看一下保护措施 然后用ida打开文件,这里主要有一个vuln函数 这里可以进行栈溢出,并且write函数还会打印栈上额外的内容 这里的汇编在结束时没有pop ebp,所以在溢出时直接写入所需要的覆盖的地址就行了 然后这题也没有找到后门函数,/bin/sh也没有发现,libc泄露也不行 但是发现 阅读全文
posted @ 2025-08-28 10:19 Rye01R 阅读(14) 评论(0) 推荐(0)
摘要: 首先查看一下保护措施 再用ida打开看一下 这里跟进一下vulnerable_function() 这里就存在栈溢出漏洞了 然后观察一下没有后门函数和bin/sh,那就是libc泄露了 这里就可以利用write函数泄露地址 点击查看代码 from pwn import * from LibcSear 阅读全文
posted @ 2025-08-26 20:56 Rye01R 阅读(26) 评论(0) 推荐(0)
摘要: 先查看一下文件的保护措施 再用ida反编译看一下main函数 跟进看一下vulnerable 这里存在栈溢出,0x20-0x18=8,正好覆盖ebp和返回地址 观察一下函数名称,存在一个shell的函数,查看一下 直接就获得shell了 点击查看代码 from pwn import * io=rem 阅读全文
posted @ 2025-08-26 15:02 Rye01R 阅读(22) 评论(0) 推荐(0)
摘要: 首先查看一下文件的保护措施 发现栈是可执行的,并且存在可读可写可执行的区域,可以往shellcode注入方面去想 然后用ida打开文件查看一下 发现无法进行反编译,就只能看汇编代码了 这里设置了两个变量,buf和var_4,buf的大小为410h,然后调用read函数进行输入,大小为400h,所以无 阅读全文
posted @ 2025-08-26 12:07 Rye01R 阅读(40) 评论(0) 推荐(0)