netcat 用于执行像 CTF 一样的远程 ELF 文件

netcat for execute remote ELF file like CTFs

我正在尝试做一个 pwn 挑战,你用 nc 连接到远程服务器,这会执行一个易受攻击的 ELF 文件(缓冲区溢出)。我遇到的问题是我只接收来自服务器端的输出和来自客户端的输入,代码如下: 数控-l | ./脚本

我也试过: ncat -l --exec "./script" 在最后一种情况下,当我执行缓冲区溢出时,它没有给我任何响应。

而且,这两个代码的另一个问题是,例如当我的脚本打印 "Give me a word" 时,此打印在脚本执行完成时显示。我输入单词然后脚本显示程序的所有打印件。

此致。

PD:我正在尝试做的一个例子 - hxxps://github.com/ctfs/write-ups-2015/tree/master/csaw-ctf-2015/pwn/precision-100

| 和丢失的端口很可能是问题所在。在 ncat -l --exec "./script" 中,您再次缺少侦听端口。

这是一个完整的有效示例:

脚本:

#!/bin/bash

echo "Give me a line..."
while read ln; do
    echo "I got '$ln'"
    echo "Give me a line..."
done

启动侦听器

nc -l 9999 --exec ./zzz.sh

连接到脚本:

nc 127.0.0.1 9999

你会看到

Give me a line...

类型

Hello script...

你会看到另外两行

I got 'Hello script...'
Give me a line...

检查您是否没有忘记 chmod a+x script.sh。如果 nc 无法执行脚本,您将得到如下内容:

$ nc -l 9999 --exec ./zzz.shs
exec: No such file or directory

此外,选择 [1025 .. 65535] 范围内的端口,[1 .. 1024] 仅供 root 用户使用。