JarvisOJ level3_x64】的更多相关文章

这一题是和前面x86的差不多,都是利用了同一个知识点,唯一的区别就是使用的堆栈地址不同,x86是直接使用堆栈来传递参数的,而x64不同 x64的函数调用时整数和指针参数按照从左到右的顺序依次保存在寄存器rdi,rsi,rdx,rcx,r8和r9中 所以要找到rop然后来讲rdi和rsi和rdx赋值,这里前面两个比较容易找到,第三参数无论如何都没有能够找到,但是前面rdx的值为0x100所以不影响这个题目的解题 知识点和上一题的差不多,利用一下是很简单的. exp就是这么简单 1 2 3 4 5…
本着纸上得来终觉浅,绝知此事要躬行的原则,把一个简单的ROP做了一下.漏洞很明显,libc有给出:唯一的限制就是不允许调用system或execve,而是用mprotect或者mmap 脚本调了半天,最后发现是shellcode的问题:这里边的一个坑是shellcraft.sh()要指定一个目标平台的架构,没用过shellcraft模块,连这么简单的错都犯,汗-_-|| from pwn import * context.log_level='DEBUG' r=remote() #r=proce…
PORT51 题目链接:http://web.jarvisoj.com:32770/ 这道题本来以为是访问服务器的51号端口,但是想想又不太对,应该是本地的51号端口访问服务器 想着用linux下的curl命令指定本地端口 curl --local-port 51 http://web.jarvisoj.com:32770/ 测试过程中在虚拟机没成功,于是在windows下用本地端口访问,成功 windows下curl下载地址https://curl.haxx.se/download.html,…
Jarvisoj Web 题目地址:http://web.jarvisoj.com:32784/index.php <?php //A webshell is wait for you ini_set('session.serialize_handler', 'php'); session_start(); class OowoO { public $mdzz; function __construct() { $this->mdzz = 'phpinfo();'; } function __…
使用指令 checksec 查看保护情况 Arch: i386-32-little RELRO: Partial RELRO Stack: Canary found NX: NX enabled PIE: No PIE (0x8048000) 由于是32位文件,放进ida中查看F5 在ubuntu中执行可执行文件则 nuo@ubuntu:~/Desktop$ ./fm.eaef2247796c11db798a579396482399 drtdxrt drtdxrt 3! 结合程序的执行情况和Id…
jarvisoj flag在管理员手上 涉及知识点: (1)代码审计和cookie注入 (2)哈希长度拓展攻击 解析: 进入题目的界面.看到 那么就是想方设法的变成admin了.挂上御剑开始审计.发现cookie有点问题,这个role很明显是guest字符串的序列化. 那么是不是简单的把role换成admin的序列化就可以了?尝试了一下,果然不行. 这时候,御剑扫到东西了.看了一下是个index.php~文件,看了一下内部..乱码,估计是一个可以复原的文件. 去kali下把后缀改成.swp,使用…
jarvisoj babyphp 涉及知识点: (1)GitHack处理.git源码泄露 (2)php代码注入 解析: 进入题目界面. 看到题目中的用了git那么第一反应肯定是可能存在.git源码泄露. 用GitHack尝试一下. 审计关键代码. <?php if (isset($_GET['page'])) { $page = $_GET['page']; } else { $page = "home"; } $file = "templates/" . $…
出题人硬盘上找到一个神秘的压缩包,里面有个word文档,可是好像加密了呢~让我们一起分析一下吧! 首先用7zip解压缩,发现是一个word文件,说什么flag被藏起来了 觉得是不是应该有什么附加的信息,如果有附加的文件的话可以试一试binwalk 扔进kali,提取得到了一个文件夹,在/media中有两幅图片,其中一幅中有flag 似乎考察的是一个叫做伪加密的东西,在010中struct ZIPDIRENTRY dirEntry/ushort deFlags 如果置0,说明没有密码,如果置1,说…
分析压缩包中的数据包文件并获取flag.flag为32位大写md5. 神仙们还是强啊,webshell主要看http流,再过滤只剩下post请求 可以使用 http.request.method == POST 然后挨个看,发现一个带着flag字样的,只提交了很少的信息,猜测是base64加密,解码得到一个url,扫图片中的二维码得到flag…
分析一下shell流量,得到flag 看着一大推的数据记录头都大了,并没有什么wireshark的使用经验,开始胡搞 首先用notepad++打开,搜索flag字样找到了一个类似于python脚本的东西和一长串好像base64加密的字符串 嘿嘿嘿,很开心 读了一下脚本,大概就是说flag的格式hctf{}和加密的的一个函数,那用base64解码奇怪的字符串再扔进去解密不就行了 还真是这样 得到flag hctf{n0w_U_w111_n0t_f1nd_me} 读dalao的wp有感 其实不应该用…