从三类常见高危漏洞 洞见那些“风平浪静”的代码
以下 JSP 代码片断可从 HTTP 哀求中读取雇员 ID eid,并将其表现给用户。
假如 eid 只包括尺度的字母或数字文本,这个例子中的代码就能正确运行。假如 eid 里有包括元字符或源代码中的值,那么 Web 赏识器就会像表现 HTTP 相应那样执行 eid 里的代码。 早先,这个例子好像是不会等闲蒙受进攻的。事实,有谁会输入导致恶意代码的 URL,而且还在本身的电脑上运行呢?真正的伤害在于进攻者会建设恶意的 URL,然后回收电子邮件可能社会工程的诱骗本领诱使受害者会见此 URL 的链接。当受害者单击这个链接时,他们不知不觉地通过易受进攻的收集应用措施,将恶意内容带到了本身的电脑中。这种对易受进攻的 Web 应用措施举办偷取的机制凡是被称为反射型 XSS。 再来看看存储型 XSS 的例子,以下 JSP 代码片断可在数据库中查询具有给定 ID 的雇员,并输出响应雇员姓名。
犹如上一个例子,假如对 name 的值处理赏罚适合,该代码就能正常地执行各类成果;如若处理赏罚不妥,就会对代码的进攻举动无能为力。同样,这段代码袒暴露的伤害较小,由于 name 的值是从数据库中读取的,并且显然这些内容是由应用措施打点的。然而,假如 name 的值是由用户提供的数据发生,数据库就会成为恶意内容雷同的通道。假如差池数据库中存储的全部数据举办适当的输入验证,那么进攻者便能在用户的 Web 赏识器中执行恶意呼吁。这种范例的进攻即成为存储型 XSS,即进攻者操作本领将恶意代码存入数据库,一旦该恶意代码被从数据库读取,相干指令就会被执行。该伎俩极其凶险圆滑,由于数据存储导致的间接性使得分辨威胁的难度增大,并且还进步了一个进攻影响多个用户的也许性。 一样平常存储型 XSS 进攻会从会见提供留言板、评述区等提供输入字段的表单的网站开始。进攻者会在这些留言板、评述区表单条目中嵌入 JavaScript,若靠山未履历证就将其存入数据库,接下来全部会见该留言板、评述区的用户城市执行这些恶意代码。 针对 XSS 的防护,首要本领在于用户输入数据的验证,包罗:
三、恣意呼吁执行 恣意呼吁执行裂痕指的是 Web 应用措施未检测用户输入的正当性,直接传入措施中挪用体系呼吁的函数中如: system(),eval(),exec(),从而也许会导致进攻者通过结构恶意参数,在处事器上执行恣意呼吁。 进攻者通过结构恶意代码,执行恣意呼吁可获取处事器权限,导致处事器上的重要数据,如:措施代码、数据库信息、文档资料等泄漏。 举例来说,下面这段来自体系适用措施的代码按照体系属性 APPHOME 来抉择其安装目次,然后按照指定目次的相对路径执行一个初始化剧本。
该代码使得进攻者可通过修改体系属性 APPHOME 从而节制 INITCMD 的路径指向,从而进步本身在应用措施中的权限,继而为所欲为地执行呼吁。因为措施不会验证从情形中读取的值,以是假如进攻者可以或许节制体系属性 APPHOME 的值,他们就能诱骗应用措施去运行恶意代码从而取得体系节制权。 再看一个例子,下面的代码来自一个打点 Web 应用措施,旨在行使户可以或许行使一个环绕 rman 适用措施的批处理赏罚文件封装器来启动 Oracle 数据库备份,然后运行一个 cleanup.bat 脚原来删除一些姑且文件。剧本 rmanDB.bat 接管单个呼吁行参数,该参数指定了要执行的备份范例。因为会见数据库受限,以是应用措施执行备份必要具有较高权限的用户。
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |