本发明涉及计算机,特别涉及一种ssrf检测与防御方法、装置、设备及存储介质。
背景技术:
1、在web应用场景下,经常会通过服务器请求图片或一些其他资源进行加载,而如果请求的参数未经过滤被攻击者进行利用,则会存在ssrf漏洞。该漏洞可能会导致服务器真实ip与敏感文件泄露、内网应用被攻击与恶意命令执行等危害,因此迫切的需要解决。为解决上述ssrf问题,现有技术从采用测试地址替换网络请求中的目标地址角度出发,提出了一种利用替换请求地址的解决方案,该解决方案具体为:首先获取网络请求,若网络请求的发起端为服务端,则采用测试地址替换网络请求中的目标地址,得到修改后的网络请求,其中测试地址包括位于内网的网络漏洞测试平台的地址;向目标应用发送修改后的网络请求;最后基于测试地址所指示的应用是否收到修改后的网络请求,确定目标应用是否存在ssrf漏洞,首先判断网络请求的发起端为服务端,而后自动地判定目标应用是否存在ssrf漏洞,能够极大地减少误报,大幅度降低人力和时间成本。虽然现有技术通过使用替换请求地址的技术解决了确定ssrf漏洞的技术问题,但其并未清楚的提到如何防御ssrf漏洞或如何捕获到利用ssrf进行攻击的攻击者身份信息。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种ssrf检测与防御方法、装置、设备及存储介质,能够通过蜜罐技术进行检测与防御ssrf攻击,获取攻击者的身份信息。其具体方案如下:
2、第一方面,本申请公开了一种ssrf检测与防御方法,应用于服务器,包括:
3、获取网络请求的数据包;
4、基于所述数据包中的参数以及预设的ssrf检测规则判断所述网络请求中是否存在ssrf攻击;
5、若存在,则将存在ssrf攻击的所述网络请求转发至蜜罐,以便所述蜜罐利用基于存在ssrf攻击的所述网络请求构造的身份信息获取请求来获取与所述ssrf攻击对应的攻击者的身份信息。
6、可选的,所述基于所述数据包中的参数以及预设的ssrf检测规则判断所述网络请求中是否存在ssrf攻击,包括:
7、确定与所述数据包中的请求参数对应的目标协议;
8、判断所述目标协议是否为http协议或https协议;
9、若否,则判定所述网络请求中存在ssrf攻击。
10、可选的,所述基于所述数据包中的参数以及预设的ssrf检测规则判断所述网络请求中是否存在ssrf攻击,包括:
11、确定与所述数据包中的请求参数对应的目标协议;
12、判断所述目标协议是否为http协议或https协议;
13、若是,则判断所述请求参数对应的网络请求地址是否为本地地址或内网地址;
14、若所述网络请求地址为本地地址或内网地址,则判定所述网络请求中存在ssrf攻击。
15、可选的,所述判断所述请求参数对应的网络请求地址是否为本地地址或内网地址之后,还包括:
16、若所述网络请求地址不是本地地址或内网地址,则判定所述网络请求中不存在ssrf攻击,并按照预设正常请求处理流程对所述网络请求进行处理。
17、可选的,所述蜜罐利用基于存在ssrf攻击的所述网络请求构造的身份信息获取请求来获取与所述ssrf攻击对应的攻击者的身份信息,包括:
18、所述蜜罐基于存在ssrf攻击的所述网络请求构造包含探针的身份信息获取请求,并将所述身份信息获取请求发送至与所述ssrf攻击对应的攻击者,以便利用所述身份信息获取请求中的所述探针对所述攻击者的身份信息进行探测。
19、可选的,所述蜜罐利用基于存在ssrf攻击的所述网络请求构造的身份信息获取请求来获取与所述ssrf攻击对应的攻击者的身份信息,包括:
20、所述蜜罐基于存在ssrf攻击的所述网络请求构造包含诱导信息的身份信息获取请求,并将所述身份信息获取请求发送至与所述ssrf攻击对应的攻击者,以便利用所述身份信息获取请求中的所述诱导信息诱导所述攻击者访问用来收集访问者的身份信息的预设网站。
21、可选的,所述蜜罐利用基于存在ssrf攻击的所述网络请求构造的身份信息获取请求来获取与所述ssrf攻击对应的攻击者的身份信息,包括:
22、所述蜜罐基于存在ssrf攻击的所述网络请求构造包含目标数据包的身份信息获取请求,并将所述身份信息获取请求发送至与所述ssrf攻击对应的攻击者,以便利用所述身份信息获取请求中的所述目标数据包触发所述攻击者返回自身的身份信息。
23、第二方面,本申请公开了一种ssrf检测与防御装置,应用于服务器,包括:
24、数据包获取模块,用于获取网络请求的数据包;
25、攻击判断模块,用于基于所述数据包中的参数以及预设的ssrf检测规则判断所述网络请求中是否存在ssrf攻击;
26、信息获取模块,用于若存在,则将存在ssrf攻击的所述网络请求转发至蜜罐,以便所述蜜罐利用基于存在ssrf攻击的所述网络请求构造的身份信息获取请求来获取与所述ssrf攻击对应的攻击者的身份信息。
27、第三方面,本申请公开了一种电子设备,包括:
28、存储器,用于保存计算机程序;
29、处理器,用于执行所述计算机程序以实现前述的ssrf检测与防御方法。
30、第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的ssrf检测与防御方法。
31、本实施例在进行ssrf检测与防御时,先获取网络请求的数据包;基于所述数据包中的参数以及预设的ssrf检测规则判断所述网络请求中是否存在ssrf攻击;最终若存在,则将存在ssrf攻击的所述网络请求转发至蜜罐,以便所述蜜罐利用基于存在ssrf攻击的所述网络请求构造的身份信息获取请求来获取与所述ssrf攻击对应的攻击者的身份信息。可见,本申请通过先对网络请求的数据包中的参数进行判断,进而检测出所述网络请求中是否存在ssrf攻击,实现对ssrf攻击的检测,再将检测出的ssrf请求转发给蜜罐,并由蜜罐防御模块构造身份信息获取请求获取到攻击者的身份信息,从而实现了通过蜜罐技术进行检测与防御ssrf攻击。
1.一种ssrf检测与防御方法,其特征在于,应用于服务器,包括:
2.根据权利要求1所述的ssrf检测与防御方法,其特征在于,所述基于所述数据包中的参数以及预设的ssrf检测规则判断所述网络请求中是否存在ssrf攻击,包括:
3.根据权利要求1所述的ssrf检测与防御方法,其特征在于,所述基于所述数据包中的参数以及预设的ssrf检测规则判断所述网络请求中是否存在ssrf攻击,包括:
4.根据权利要求3所述的ssrf检测与防御方法,其特征在于,所述判断所述请求参数对应的网络请求地址是否为本地地址或内网地址之后,还包括:
5.根据权利要求1至4任一项所述的ssrf检测与防御方法,其特征在于,所述蜜罐利用基于存在ssrf攻击的所述网络请求构造的身份信息获取请求来获取与所述ssrf攻击对应的攻击者的身份信息,包括:
6.根据权利要求1至4任一项所述的ssrf检测与防御方法,其特征在于,所述蜜罐利用基于存在ssrf攻击的所述网络请求构造的身份信息获取请求来获取与所述ssrf攻击对应的攻击者的身份信息,包括:
7.根据权利要求1至4任一项所述的ssrf检测与防御方法,其特征在于,所述蜜罐利用基于存在ssrf攻击的所述网络请求构造的身份信息获取请求来获取与所述ssrf攻击对应的攻击者的身份信息,包括:
8.一种ssrf检测与防御装置,其特征在于,应用于服务器,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的ssrf检测与防御方法。