摘要: 题目地址 32位的程序,有NX保护,拖到IDA看看,scanf存在溢出 但是发现了system函数和可以直接调用的cat flag 只要向system传入参数cat flag就可以获得flag exp如下 from pwn import * r=remote('pwn2.jarvisoj.com', 阅读全文
posted @ 2019-10-21 11:16 高诺琪 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 题目地址 https://dn.jarvisoj.com/challengefiles/smashes.44838f6edd4408a53feb2e2bbfe5b229 参考 https://www.jianshu.com/p/76b7d51b20fc 先看一下保护机制 这里可以利用Canary的保 阅读全文
posted @ 2019-10-21 09:28 高诺琪 阅读(588) 评论(0) 推荐(0) 编辑
摘要: 题目地址 友链 能利用pwntools的DynELF 思路 用DynELF获取system的地址,将‘/bin/sh’写入bss段中,然后溢出传参的方式获取shell EXP如下 from pwn import * r=remote('pwn2.jarvisoj.com',9880) e=ELF(' 阅读全文
posted @ 2019-10-18 09:40 高诺琪 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 一直误以为是二次注入,看了别人wp,自己梳理了一遍 首先打开题目页面 先注册一个账号 注册成功(注意这个UID) 然后注意下包,发现cookie中的user很可疑,是一串md5值,我们可以推测是我们注册的账号的md5,但是实际上是的格式是 UID:用户名 验证一下 格式是 UID:用户名 登入之后, 阅读全文
posted @ 2019-10-17 16:05 高诺琪 阅读(1795) 评论(0) 推荐(1) 编辑
摘要: 题目地址 跟level3差不多,就是变成64位,思路一样利用write泄露函数的内存地址,通过泄露地址推出libc的偏移用来计算system和/bin/sh的真实地址,然后再通过传参的方式来构造system(/bin/sh)来get shell 64位传参:参数从左到右放入寄存器:RDI, RSI, 阅读全文
posted @ 2019-10-16 14:53 高诺琪 阅读(940) 评论(0) 推荐(0) 编辑