其实原理和sql注入差很少,都是经过拼接执行语句,达到黑客的恶意目的 以nodejs为例,例如在接口中须要从github上下载指定的reponode
const exec = require('mz/child_process').exec; let params = {/* 用户输入的参数 */} exec('git clone ${params} ') // 若是传入一下参数会怎么样呢 https://github.com/xx/xx.git && rm -rf /* && 这样就会致使把当前目录下的文件全删除了,固然高明的黑客确定不会去破坏宿主机,他会下载相关恶意程序,神不知鬼不觉的来,又神不知鬼不觉的走