
Jarvis OJ
123111234
这个作者很懒,什么都没留下…
展开
-
Javris OJ - pwn level5(mmap和mprotect练习)(_libc_csu_init中的通用gedget的使用)
pwn level5这个题和level3-64的附件一样,level5要求不用system和execve,而是用mprotect和mmap,mmap主要是将文件映射到一段内存去同时设置那段内存的属性可读可写或者是可执行,mprotect函数是将从addr开始的地址 ,长度位len的内存的访问权限。可以这样做:利用shellcode,利用read函数把shellcode写入bss段,这里要求写入...原创 2020-02-14 21:57:46 · 1938 阅读 · 5 评论 -
Jarvis OJ - pwn level3-64
pwn - level3_x64检查保护机制只开启了NX保护,堆栈不可执行保护。放入ida分析,发现read栈溢出。思路:没有system和binsh的情况下,在read函数前有write函数运行,可以通过泄漏write函数的地址来泄漏libc版本,从而泄漏system和binsh地址。泄漏write函数,需要调用write(1,write_got,0x08)...原创 2020-02-10 16:31:49 · 317 阅读 · 3 评论 -
Jarvis oj-pwn level2-64
pwn level2-64检查保护机制放入ida分析在ida 中发现有system函数,再查找下也有binsh字符串。由于是64位的,所以,传参数时要注意,前6个参数是存在寄存器里的。rdi的地址利用pop ret 指令来传递参数,pop rdi,将参数binsh弹出栈,并存入rdi寄存器中,再ret返回栈中,再执行system函数,参数从rdi中取出。构造脚本如下:...原创 2020-02-09 20:11:12 · 181 阅读 · 0 评论 -
Jarvis OJ-pwn level4(利用DynElf泄漏system地址)
pwn level4借助DynELF实现无libc的漏洞:这篇讲的挺好检查保护机制ida打开文件,发现read函数栈溢出漏洞,想要用ret2libc解决,但是在漏洞函数前没有其他函数执行,所以不能进行泄漏函数得到libc版本。在无libc情况下,通过DynELF进行泄漏system函数。有了system地址,但是没有binsh字符串,这里可以通过read函数,从标准输入,写到bss...原创 2020-02-07 21:16:52 · 260 阅读 · 0 评论 -
Jarvis OJ-pwn test your memory
pwn test your memory运行一下检查保护机制只开启堆栈不可执行保护。观察反汇编代码,main函数里随机产生一串字符串,然后调用mem_test进行检测。mem_test函数,先打印一个地址(hint),再输入s,这里存在栈溢出漏洞,然后输入的s与随机产生的字符串比较。点进hint,提示是cat flag命令,可以获得flag程序中已有system函数。...原创 2020-02-06 21:28:40 · 252 阅读 · 0 评论 -
Jarvis OJ -pwn smashes
pwn smashes题目分析检查保护机制开启NX,canary,fortify 保护,可以得出不能往堆栈中写入shellcode进行控制利用。ida中打开输入不正确的canary后,会触发栈保护错误,利用打印出argv[0]的地址覆盖成想要输出内容的地址。想要输出的flag的地址,在程序中存在,所以能找到。angv[0]_addr:即程序名的地址。在ma...原创 2020-02-05 21:26:06 · 420 阅读 · 0 评论 -
Javris oj -pwn tell me something
pwn - tell me something修改权限:chmod 777 guestbook检查保护机制:checksec guestbook64位文件,开启堆栈不可执行保护,不能往堆栈里写入shellcode解题。用64位ida打开guestbook,找漏洞点from pwn import *r=remote('pwn.jarvisoj.com',9876)pay...原创 2020-02-04 21:02:43 · 618 阅读 · 2 评论 -
Jarvis OJ - pwn level3
前言因为换了电脑,GitHub博客的环境搭起来太麻烦了,又想有所记录,所以又回到这里啦~level3前段时间做过pwn题目,现在再来做,发现以前很简单的脚本利用命令都忘记了,真是,啥东西都不能放,一放就忘,这脑子不管用了。之后每天保持做题量,保持做题手感!在这里记录并且作为监督自己的一种方式。做题思路没有system和binsh,又给出了libc文件,容易想到可以用ret2libc方法...原创 2020-02-03 21:11:41 · 255 阅读 · 0 评论