当前位置: 代码迷 >> 综合 >> command_execution
  详细解决方案

command_execution

热度:70   发布时间:2023-12-03 00:14:10.0

小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。

命令注入原理:由于后台代码并未对用户输入的参数ip的值进行过滤就直接与ping命令进行拼接并执行,因此可以使用常见的命令拼接字符对命令进行拼接,如使用“&”,“|”,“&&”,“||”,然后再执行后面的命令 

首先ping一个ip

执行了输入的ip地址,题目告知未设置waf,尝试能否使用命令拼接的方式来执行其它命令

Windows:

|:直接执行后面的语句

||:如果前面的语句出错,则执行后面的语句,否则执行前面的语句

&:前后的语句都可以执行,但是如果说前面的语句执行结果为假,仅输出后面语句的结果

&&:如果前面的语句结果为假,直接报错,也不执行后面的语句

Linux:

;:【whoami;ipconfig;ls /】:按顺序执行

|:只执行后面的语句

||:如果前面的语句执行失败,则执行后面的语句,如果前面的语句执行成功,则不执行后面的语句

&:如果前面的语句为假,则执行后面的语句,否则两条语句均会执行

&&:如果前面的语句出错,则停止,否则两条均会执行

ping的同时,成功执行后面的语句

查看一下根目录

在home目录下成功找到flag .txt