- 命令执行漏洞
- 命令执行漏洞是指攻击者可以随意执行系统命令。
- OS命令执行漏洞示例
- Web应用程序DVWA(著名的渗透测试演练平台)提供了测试域名/IP的Ping 服务(命令执行漏洞测试模块),并将Ping 命令的执行过程显示出来。下面测试域名www.xser.com是否可以正常连接,如图所示
- 由于命令可以连接执行,因此
- Web应用程序DVWA(著名的渗透测试演练平台)提供了测试域名/IP的Ping 服务(命令执行漏洞测试模块),并将Ping 命令的执行过程显示出来。下面测试域名www.xser.com是否可以正常连接,如图所示
- 命令执行漏洞
- 命令执行漏洞是直接调用操作系统命令,故这里叫作OS命令执行漏洞,而代码执行漏洞则是靠执行脚本代码调用操作系统命令,如:
- eval(system('set'););
- PHP命令执行
- PHP提供了部分函数用来执行外部应用程序,例如: system()、shell exec()、exec()和passthru().
- 命令执行
- 代码执行
- 动态函数调用
- PHP函数代码执行漏洞
- Java命令执行
- Java EE之前被称为J2EE,Java EE是在Java SE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和l Web 2.0应用程序开发。
- 在JavaSE 中,存在.Runtime类,在该类中提供了exec方法用以在单独的进程中执行指定的字符串命令。像JSP、Servlet、Struts、Spring、Hibernate等技术一般执行外部程序都会调用此方法(或者使用ProcessBuilder类,但较少)。
- 命令执行漏洞是直接调用操作系统命令,故这里叫作OS命令执行漏洞,而代码执行漏洞则是靠执行脚本代码调用操作系统命令,如:
- 防范命令执行漏洞
- 尽量不要使用系统执行命令;
- 在进入执行命令函数/方法之前,变量一定要做好过滤,对敏感字符进行转义;
- 在使用动态函数之前,确保使用的函数是指定的函数之一;
- 对PHP语言来说,不能完全控制的危险函数最好不要使用。