该栏目为中科天齐软件安全中心全新规划的悟空云课堂,旨在科普软件安全相关知识,助力企业有效防范软件安全漏洞,提升网络安全防护能力。
更多资讯请关注公众号“中科天齐软件安全中心”(id:woocoom)
本期主题为OS命令注入漏洞的相关介绍。
01 什么是OS命令注入?
软件在构造OS命令时使用了外部输入的数据,如果没有对外部输入中可能影响OS命令的特殊元素进行过滤,或是过滤不充分/不正确,就有受到OS命令注入攻击的风险。
OS命令注入缺陷允许攻击者直接在操作系统执行各种命令,当缺陷存在于网页应用等无法直接访问操作系统的软件中时,会造成一些脆弱性问题。而当该缺陷存在于有高级权限的软件中时,攻击者可通过缺陷获得高级权限,从而造成极大的危害。
02 OS命令注入两种常见的子类型有哪些?
1、应用程序通过用户输入的参数来构造OS命令。
例如,程序可能使用system(“nslookup [HOSTNAME]”)来运行nslookup命令,其中的HOSTNAME由用户输入。由于没有检查HOSTNAME中是否存在命令分隔符,攻击者可将想执行的命令通过分隔符加在HOSTNAME中,当系统执行完nslookup后就会执行攻击者的命令;
2、应用程序将输入的整个字符串作为一个OS命令。
例如,通过exec([COMMAND])来执行命令,其中COMMAND由用户输入,此时攻击者可以通过命令分隔符注入命令。
03 OS命令注入漏洞会造成哪些后果?
关键词:执行未经授权的代