1、“ping漏洞”
先回顾下Windows和linux通配符
Windows系统:
|:只执行后面的语句。
||:如果前面的语句执行失败,则执行后面的语句。
&:两条语句都执行,如果前面的语句为假则执行后面的语句,如果前面的语句为真则不执行后面的语句。
&&:如果前面的语句为假,则直接出错,也不再执行后面的语句;前面的语句为真则两条命令都执行,前面的语句只能为真。
Linux系统:
;:执行完前面的语句再执行后面的语句,当有一条命令执行失败时,不会影响其它语句的执行。
|(管道符):只执行后面的语句。
||(逻辑或):只有前面的语句执行出错时,执行后面的语句。
&(后台任务符):两条语句都执行,如果前面的语句为假则执行后面的语句,如果前面的语句为真则不执行后面的语句。
&&(逻辑与):如果前面的语句为假则直接出错,也不再执行后面的语句;前面的语句为真则两条命令都执行,前面的语句只能为真。(命令替换):当一个命令被解析时,它首先会执行反引号之间的操作。
先试着ping本地
发现能ping通的
试着输入dir查看文件命令
127.0.0.1 && dir
发现能执行
所以在ip后面加&&理论能执行所有命令 这就说明此漏洞有效
二、exec "eval"漏洞
这里pikachu的远程代码执行真的非常简单,建议玩下其他靶场的远程代码执行
这里我就简单介绍下eval这个函数把
动态执行代码:eval() 函数使程序能够在运行时动态执行字符串中的代码。它可以将字符串中的代码作为有效的程序代码进行解析和执行。
字符串转换为代码:eval() 函数将接收到的字符串参数解析为编程语言的有效代码,并尝试执行该代码。这意味着您可以在字符串中包含变量、表达式、函数调用等,并且它们将在执行时被解释和计算。
回到题目,我们输入phpinfo();
发现成功执行了代码