看到作业管理系统就想到了可能要登录
先尝试了admin 123456密码或账户错误(弱口令)
发现了账号和密码
尝试登录成功
发现了账号和密码
里面有上传功能!
前面的本地上传文件很简单所以会简单过一遍
法一:蚁剑
不多说,本地写一个一句话木马试试看能不能上传
<?php eval($_POST['cmd']); ?>
这么容易就上传了
很容易在根目录里面找到flag
这个方法很简单直接,但很多网站会过滤掉php的文件,很多时候可能需要我们采用双后缀的方式并且利用网站前端检测漏洞用burpsuite来修改回php发送
法二:远程下载
本题还提供了远程下载,我们从这下手学习
本题也是应对从法一无法上传一句话木马方法,当然也要有这个远程下载哈
File协议,也称为本地文件传输协议,主要用于访问本地计算机中的文件。它类似于在Windows资源管理器中打开文件或通过右键菜单选择“打开”文件的方式。File协议的基本格式为
file:///文件路径
,例如file:///C:/Users/CLi/AppData/Local/Temp/WindowsLiveWriter1627300719/supfiles52F410/wangdan-se-436963[2].jpg
表示访问位于C盘的该文件。File协议的主要特点包括:
- 仅限本地访问:File协议只能用于访问本地计算机上的文件,无法实现跨域访问。
- 简单快捷:由于File协议不涉及网络传输,因此访问速度较快,适用于本地开发和测试。
- 安全性问题:File协议没有HTTP协议提供的安全机制,如身份验证和加密,因此在安全性要求较高的场景下不建议使用。
- 浏览器限制:出于安全考虑,大多数浏览器禁止通过File协议加载跨域资源,因此在Web开发中通常不推荐使用File协议。
总结来说,File协议适用于需要快速访问本地文件的场景,但在涉及网络传输或安全性要求较高的应用中,建议使用HTTP或其他更安全的协议。
利用这个我们来试试
点击下载
进入编辑得到flag内容
同样我们这个时候也可以访问url/flag,下载文件得到flag
法三(感觉最快)
观察网页url,发现
http://node4.anna.nssctf.cn:28428/index.php?op=edit&fename=uploadFileName&folder=./
由于页面所有的操作只有登录这一个鉴权,所有操作都没用敏感目录的过滤(完全没有过滤)
我们可以直接修改uploadFileName为flag来访问
同理可以得到flag
总结
- file://协议
- 文件上传
Comments NOTHING