我正在尝试进行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
答案 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用户可用。