首页 > 解决方案 > 通过 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 盒子?

标签: phppowershellfile-upload

解决方案


推荐阅读