netcat用于执行远程ELF文件,如CTF

时间:2017-10-25 19:56:35

标签: netcat

我正在尝试进行pwn挑战,你将nc连接到远程服务器并执行易受攻击的ELF文件(缓冲区溢出)。我遇到的问题是我只收到服务器端的输出和客户端的输入,代码如下: nc -l | ./script

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

并且,这两个代码的其他问题是,当我的脚本打印出“给我一个字”时,这个打印在脚本执行完成时显示。我把这个词放了,然后脚本显示了程序的所有打印件。

最好的问候。

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

1 个答案:

答案 0 :(得分:0)

postgres=# select (regexp_matches('the quick brown fox;jumps over, a lazy dog.', '(\w{2,})', 'g'))[1]; -- or postgres=# select unnest(regexp_matches('the quick brown fox;jumps over, a lazy dog.', '(\w{2,})', 'g')); ┌────────────────┐ │ regexp_matches │ ╞════════════════╡ │ the │ │ quick │ │ brown │ │ fox │ │ jumps │ │ over │ │ lazy │ │ dog │ └────────────────┘ 和丢失的端口很可能是问题所在。在|中,您再次错过了侦听端口。

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

剧本:

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

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