摘要: 依旧是先检查文件的类型和保护 64位没有保护 用IDA看看,read存在溢出,溢出0x18(不懂可以翻阅前面的博客) 函数system可以调用指令 shift+F12看看 $0在Linux中是shell的名称 那么我们可以利用system函数调用$0来getshell,因为是64位,需要用rdi寄存 阅读全文
posted @ 2019-10-10 09:53 高诺琪 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 无保护的64位程序 然后丢到IDA看看 F5查看伪代码 main函数后面还有一个get_shell的函数 在main函数中read存在栈溢出漏洞,我们可以填充一些无意义的字符,等到字符的缓冲区满了,函数要返回的时候,我们输入我们的get_shell函数的入口地址,那么系统就会执行我们的get_she 阅读全文
posted @ 2019-10-09 20:59 高诺琪 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 题目地址 NX保护 read有栈溢出漏洞 IDA 按shift+F12寻找字符串 发现shell 大致的思路跟level2差不多,不过这是64位的程序 参数的传递方式和32位不一样,32位是通过栈传参,而64位通过edi寄存器传参,我们就需要覆盖edi的值 64位参数传递约定:前六个参数按顺序存储在 阅读全文
posted @ 2019-10-09 17:10 高诺琪 阅读(580) 评论(0) 推荐(0) 编辑
摘要: 题目地址 https://dn.jarvisoj.com/challengefiles/level0.b9ded3801d6dd36a97468e128b81a65d 第一步先看文件的属性 64位 之后检查保护性 用IDA打开,观察伪代码F5 跳出hello world,然后返回vulnerable 阅读全文
posted @ 2019-10-08 21:13 高诺琪 阅读(551) 评论(1) 推荐(1) 编辑
摘要: 题目地址 开启了NX 那么就不能shellcode read存在栈溢出 IDA按Shift+F12查看字符串,发现有shell buf需要填充0x92个字符(0x88+0x4) 现在可以构造一个system("/bin/sh")的栈帧,通过控制vulnerable_function函数返回到该栈帧的 阅读全文
posted @ 2019-10-08 20:21 高诺琪 阅读(634) 评论(0) 推荐(0) 编辑