原文出处:https://portswigger.net/web-security/os-command-injection
本节我们介绍什么是系统命令注入,描述这种漏洞如何发现以及如何利用,阐述在不同的操作系统上有用的命令和技术,以及总结如何阻止系统命令注入。
什么是命令注入
OS命令注入(也称为shell注入)是一种web安全问题,允许攻击者可以执行任意系统命令。
执行任意命令
考虑这样一个购物应用程序,它允许用户查看特定商店中的商品是否有货。该信息可以通过如下URL访问:
https://insecure-website.com/stockStatus?productID=381&storeID=29
要提供相应的信息,应用程序必须查询后台系统。由于历史原因,该功能是通过使用product ID和store ID作为参数,调用shell命令来实现的:
stockreport.pl 381 29
该命令输出指定商品的库存状态,并将其返回给用户。
由于应用程序没有实现对OS命令注入的防御,攻击者可以提交以下输入来执行任意命令:
& echo aiwefwlguh &
如果这个输入是在produ