从三类常见高危漏洞 洞见那些“风平浪静”的代码
针对 XSS 的防护,主要手段在于用户输入数据的验证,包括:
三、任意命令执行 任意命令执行漏洞指的是 Web 应用程序未检测用户输入的合法性,直接传入程序中调用系统命令的函数中如: system(),eval(),exec(),从而可能会导致攻击者通过构造恶意参数,在服务器上执行任意命令。 攻击者通过构造恶意代码,执行任意命令可获取服务器权限,导致服务器上的重要数据,如:程序代码、数据库信息、文档资料等泄露。 举例来说,下面这段来自系统实用程序的代码根据系统属性 APPHOME 来决定其安装目录,然后根据指定目录的相对路径执行一个初始化脚本。
该代码使得攻击者可通过修改系统属性 APPHOME 从而控制 INITCMD 的路径指向,从而提高自己在应用程序中的权限,继而随心所欲地执行命令。由于程序不会验证从环境中读取的值,所以如果攻击者能够控制系统属性 APPHOME 的值,他们就能欺骗应用程序去运行恶意代码从而取得系统控制权。 再看一个例子,下面的代码来自一个管理 Web 应用程序,旨在使用户能够使用一个围绕 rman 实用程序的批处理文件封装器来启动 Oracle 数据库备份,然后运行一个 cleanup.bat 脚本来删除一些临时文件。脚本 rmanDB.bat 接受单个命令行参数,该参数指定了要执行的备份类型。由于访问数据库受限,所以应用程序执行备份需要具有较高权限的用户。
(编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |