[发明专利]EL表达式注入漏洞检测方法、装置及电子设备在审
申请号: | 201710788259.0 | 申请日: | 2017-09-04 |
公开(公告)号: | CN107590387A | 公开(公告)日: | 2018-01-16 |
发明(设计)人: | 王梓嫱;范渊;黄进 | 申请(专利权)人: | 杭州安恒信息技术有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/57 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙)11371 | 代理人: | 徐彦圣 |
地址: | 310051 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | el 表达式 注入 漏洞 检测 方法 装置 电子设备 | ||
技术领域
本发明涉及信息安全技术领域,尤其是涉及一种EL表达式注入漏洞检测方法、装置及电子设备。
背景技术
EL(Expression Language)提供了在JSP(Java Server Pages,java服务器页面)中简化表达式的方法,使JSP写起来更加简单。EL表达式通常是JSP中用来在显示层中显示数据的标签,可以提高页面的耦合度。由于其方便好用,被其他框架所借鉴并发展,最常见的两个例子是OGNL(Struts使用)语言和SPEL(Spring使用)。EL注入漏洞,使得攻击者可以访问Web应用Application和session等敏感信息,另外在OGNL和SPEL中则可以执行系统命令。
漏洞的原理如下:首先编写一段存在漏洞的JSP代码,在其中使用Spring标签如:<%@tagliburi="http://www.testelinjection.com/tags"prefix="spring"%><spring:message text="${param.a}"></spring:message>。
这里使用message标签,text属性用EL表达式从请求参数中取值,这样当访问http://localhost/tag.jsp?a=${applicationScope},${applicationScope}这个字符串时,就会被当做EL表达式执行。
现有对于注入漏洞的检测都是对于SQL注入漏洞、命令注入漏洞等的检测,尚未提出针对EL表达式注入漏洞进行检测的有效方案。
发明内容
有鉴于此,本发明的目的在于提供一种EL表达式注入漏洞检测方法、装置及电子设备,能够对获取到的目标检测参数构造相应的EL表达式,并生成新的网页的URL,进而通过新的URL获取到网页内容,进一步判断该网页内容中是否存在EL表达式的执行结果,实现待检测网页是否存在使EL表达式注入漏洞的准确判断,进而解决EL表达式注入防护的问题。
第一方面,本发明实施例提供了一种EL表达式注入漏洞检测方法,包括:
获取待检测网页的目标检测参数;
构造目标检测参数对应的EL表达式;EL表达式中包括可执行的检测语句;
根据EL表达式以及待检测网页的URL,生成新的URL;
基于新的URL,获取新的网页内容;
判断新的网页内容中是否包含EL表达式的执行结果;
如果是,则判断待检测网页存在EL表达式注入漏洞。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,获取待检测网页的目标检测参数,包括:
获取待检测网页的URL;
从URL中检索出位于第一目标字符之后的目标表达式,其中,第一目标字符为用于表示问号的字符,目标表达式的数量至少为一个,且在每个目标表达式中均包括第二目标字符,第二目标字符为用于表示等号的字符;
从每个目标表达式中提取出位于第二目标字符之前的字符,作为目标检测参数,得到至少一个目标检测参数。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,构造目标检测参数对应的EL表达式,包括:
获取随机生成的多个数字;
将多个数字进行数学运算组合,得到表达式A;
基于表达式A构造EL表达式,其中,EL表达式的表达方式为:${A}。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,根据EL表达式以及待检测网页的URL,生成新的URL,包括:
在每个目标表达式中,检索出位于第二目标字符之后的目标字符;
利用EL表达式对目标字符进行替换,生成新的URL。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,基于新的URL,获取新的网页内容,包括:
根据新的URL,向待检测网页的服务器发送HTTP请求;
接收服务器对HTTP请求的响应内容,并基于响应内容得到新的网页内容。
第二方面,本发明实施例提供一种EL表达式注入漏洞检测装置,包括:
参数获取单元,用于获取待检测网页的目标检测参数;
表达式构造单元,用于构造目标检测参数对应的EL表达式;EL表达式中包括可执行的检测语句;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术有限公司,未经杭州安恒信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710788259.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多孔研磨盘
- 下一篇:一种用于双面研磨机的游星轮