嘿,我想在这个网站上开始做ctf:https://exploit.education/phoenix/
但是我遇到了一个问题,我不能使设置工作。下面是如何设置ctf - https://blog.lamarranet.com/index.php/exploit-education-phoenix-setup/的链接,我按照powershell代码之前的步骤操作:

但是我一直收到来自powershell的错误:

我把文件放在D:\Guy -

我的外壳代码-
\Program
D:\Guy\qemu\qemu-system-x86_64.exe
-kernel vmlinuz-4.9.0-8-amd64
-initrd initrd.img-4.9.0-8-amd64
-append "root=/dev/vda1"
-m 1024M `
-netdev user,id=unet,hostfwd=tcp:127.0.0.1:2222-:22
-device virtio-net,netdev=unet
-drive file=exploit-education-phoenix-amd64.qcow2,if=virtio,format=qcow2,index=0

如果有人能帮助我,那就太棒了。谢谢!
发布于 2021-07-18 03:57:05
不幸的是,article给人们设置了powershell中最常见的陷阱之一--反标记
`
\Program` Files\qemu\qemu-system-x86_64.exe `
-kernel vmlinuz-4.9.0-8-amd64 `
-initrd initrd.img-4.9.0-8-amd64 `
-append "root=/dev/vda1" `
-m 1024M `
-netdev user,id=unet,hostfwd=tcp:127.0.0.1:2222-:22 `
-device virtio-net,netdev=unet `
-drive file=exploit-education-phoenix-amd64.qcow2,if=virtio,format=qcow2,index=0它们用于转义Program Files中的空格和每行末尾的换行符。从网站复制和粘贴很容易导致问题,例如在它们后面添加一个空格,中断行连续。我推荐使用splatting,因为它的可读性和易读性一样好,而且不容易出错。
$params = @{
kernel = 'vmlinuz-4.9.0-8-amd64'
initrd = 'initrd.img-4.9.0-8-amd64'
append = "root=/dev/vda1"
m = '1024M'
netdev = 'user,id=unet,hostfwd=tcp:127.0.0.1:2222-:22'
device = 'virtio-net,netdev=unet'
drive = 'file=exploit-education-phoenix-amd64.qcow2,if=virtio,format=qcow2,index=0'
}
& '\Program Files\qemu\qemu-system-x86_64.exe' @params还使用了调用操作符&并引用了可执行文件路径,因为它包含一个空格。
发布于 2021-07-18 16:52:15
我试过这个:
$params = @{
kernel = 'vmlinuz-4.9.0-8-amd64'
initrd = 'initrd.img-4.9.0-8-amd64'
append = "root=/dev/vda1"``
m = '1024M'
netdev = 'user','id=unet','hostfwd=tcp:127.0.0.1:2222-:22'
device = 'virtio-net','netdev=unet'
drive = 'file=exploit-education-phoenix-
amd64.qcow2','if=virtio','format=qcow2','index=0'
}
& '\D:\Guy\qemu\qemu-system-x86_64.exe' @params它没有给出一个错误,但它仍然不能工作(也许我用错了file_path)
https://stackoverflow.com/questions/68423561
复制相似问题