php - 通过 powershell 将文件从 Windows 上传到 Kali
问题描述
我正在尝试(用于渗透测试)将文件从“被攻击”的 Windows 机器上传到我的 kali 盒子,但很难理解这一点。我读过这篇论文:https ://infosecwriteups.com/tip-uploading-files-from-windows-to-kali-using-php-63aadde872a9 ,它解释了如何执行这样的上传;这正是我所处的情况,看起来很简单,但对我不起作用(如,没有错误,但没有收到任何东西)。curl 的步骤也不起作用,出现错误:
Cannot bind parameter 'Headers'. Cannot convert the "Content-Type:multipart/form-data" value of type "System.String" to type "System.Collections.IDictionary".
使用 html 文件的步骤让我可以使用浏览器上传文件(工作得很好),但我无法访问我的 windows 框上的浏览器,我只有 powershell。
所以我试图让它与 Invoke-RestMethod 一起工作。我对如何处理这个 php 上传进行了大量搜索,阅读https://www.php.net/manual/en/features.file-upload.php并发现我没有收到错误消息,因为我的 php 脚本不处理任何错误。我尝试了其他 php 脚本并且总是得到一些错误(例如,上面链接中的第一个脚本返回Invalid parameters
,如果我删除这一步,我得到Invalid file format
)。也有人说“multipart/form-data”很重要,所以我尝试添加-Content-type "multipart/form-data"
到Invoke-RestMethod
命令中但没有更改。我还尝试将文件放在一个Body
结构中(Form 在我的 powershell 版本中没有实现,只有 Body)而不是使用-InFile
,还是不行。据我了解,Invoke-RestMethod 并没有为 PHP 提供它想要上传文件的所有信息,因此即使连接工作(代码 200)文件也没有上传。
然后我在这里阅读了很多关于这个主题的帖子,他们都说 Powershell 不能进行多部分/表单数据上传,这意味着我读的第一篇论文完全错误并且无法工作?
在这里我迷路了。我在 StackOverflow 上找到的所有答案都是关于制作自己的多部分表单上传,仅发送一个文件就需要做很多工作,但我也不明白,因为它与第一个链接完全矛盾,这不是那么旧(2020 年 1 月)。那么这篇论文是完全错误的吗?有没有简单的方法可以将文件从 Powershell 上传到 Kali 盒子?
解决方案
推荐阅读
- json - 如何在顶级值上过滤jsonpath中的数组?
- typescript - 带方括号的打字稿类型声明
- terminal - 如何添加自定义链接提供程序
- rxjs - 当结果为空数组时返回动作
- c++ - 如何连接多个shared_ptr的向量?
- ios - 如何解决 PDFView 和 SCrollView 之间的手势冲突 [Swift5, iOS 14]
- c++ - 使用 std::atomic 的无锁队列
- python - 为什么局部变量总是指向内存中的同一个地方?
- pandas - Panda 的 DataFrame 转储到 CSV 文件未正确解码值。它有 Bytea 数据作为列
- c - 如果 else 语句不起作用,我的 true 或 false