CN113343278A - 一种防御csrf攻击的登录请求校验方法及装置 - Google Patents
一种防御csrf攻击的登录请求校验方法及装置 Download PDFInfo
- Publication number
- CN113343278A CN113343278A CN202110757413.4A CN202110757413A CN113343278A CN 113343278 A CN113343278 A CN 113343278A CN 202110757413 A CN202110757413 A CN 202110757413A CN 113343278 A CN113343278 A CN 113343278A
- Authority
- CN
- China
- Prior art keywords
- login
- encryption
- request
- cookie
- timestamp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000012795 verification Methods 0.000 title claims abstract description 58
- 235000014510 cooky Nutrition 0.000 claims abstract description 208
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6263—Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种防御CSRF攻击的登录请求校验方法及装置,该方法应用于服务端,通过在接收到登录请求之后,获取登录请求携带的登录加密cookie;判断登录加密cookie是否是种植在自身根域下的预登录加密cookie;其中,预登录加密cookie是在接收到预登录请求时,利用预设加密算法对预登录请求的请求时间进行加密,将加密得到的请求时间加密值和请求时间进行拼接得到的;若否,则判定登录请求为伪造请求,也即本申请提供的防御CSRF攻击的登录请求校验方法能够通过验证登录请求是否是种植在服务端根域下的预登录加密cookie的方式,识别出伪造请求,避免了用户账户密码被爆破、短信平台被恶意消耗的问题。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种防御CSRF攻击的登录请求校验方法及装置。
背景技术
CSRF是指跨站点请求伪造(Cross-Site Request Forgery),危害性巨大。攻击者为了谋取利益,会使用CSRF对服务端进行恶意访问,以对用户身份信息进行盗用。
现有的登录方式中,用户登录客户端需要向服务端发送登录请求,经过服务端的认证之后才能实现登录。但是,攻击者会利用CSRF,绕过客户端向服务端发送的伪造请求,对用户信息进行盗用,以谋取利益。而服务端无法对伪造请求进行识别,会将伪造请求默认为合法请求,导致用户账户密码被爆破、平台短信被恶意消耗等情况的发生。
发明内容
对此,本申请提供一种防御CSRF攻击的登录请求校验方法及装置,以解决现有服务端无法对伪造请求进行识别,易导致用户账户密码被爆破、短信平台被恶意消耗的问题。
为实现上述目的,本发明实施例提供如下技术方案:
本发明第一方面公开了一种防御CSRF攻击的登录请求校验方法,应用于服务端,所述方法包括:
在接收到登录请求之后,获取所述登录请求携带的登录加密cookie;
判断所述登录加密cookie是否是种植在自身根域下的预登录加密cookie;其中,所述预登录加密cookie是在接收到预登录请求时,利用预设加密算法对所述预登录请求的请求时间进行加密,将加密得到的请求时间加密值和请求时间进行拼接得到的;
若判断出所述登录加密cookie不是种植在所述服务端根域下的预登录加密cookie,则判定所述登录请求为伪造请求。
可选地,在上述的防御CSRF攻击的登录请求校验方法中,在判断所述登录加密cookie是否是种植在自身根域下的预登录加密cookie之后,若判断出所述登录加密cookie是种植在自身根域下的预登录加密cookie,还包括:
判定所述登录请求为合法请求。
可选地,在上述的防御CSRF攻击的登录请求校验方法中,判断所述登录加密cookie是否是种植在所述服务端根域下的预登录加密cookie,包括:
对所述登录加密cookie进行解析,得到所述登录加密cookie的时间戳和时间戳加密值;
利用所述预设加密算法对所述时间戳进行加密,得到时间戳校验加密值;
判断所述时间戳加密值与所述时间戳校验加密值是否一致;
若判断出所述时间戳加密值与所述时间戳校验加密值不一致,则判定所述登录加密cookie不是种植在自身根域下的预登录加密cookie;
若判断出所述时间戳加密值与所述时间戳校验加密值一致,则判定所述登录加密cookie是种植在自身根域下的预登录加密cookie。
可选地,在上述的防御CSRF攻击的登录请求校验方法中,在判断所述登录加密cookie是否是种植在服务端根域下的预登录加密cookie之后,若判断出所述登录加密cookie是种植在服务端根域下的预登录加密cookie,则还包括:
获取当前校验时间;
判断当前校验时间与所述登录加密cookie的时间戳之间的时间间隔是否满足预设时间间隔;若否,则确定判定所述登录请求为伪造请求,若是,则确定判定所述登录请求为合法请求。
可选地,在上述的防御CSRF攻击的登录请求校验方法中,获取所述登录请求的请求头中的登录加密cookie之后,还包括:
判断所述登录加密cookie是否为空;若是,则确定判定所述登录请求为伪造请求;若否,则确定所述登录加密cookie是否是种植在所述服务端根域下的预登录加密cookie。
本发明第二方面公开了一种防御CSRF攻击的登录请求校验装置,应用于服务端,所述装置包括:
第一获取单元,用于在接收到登录请求之后,获取所述登录请求携带的登录加密cookie;
第一判断单元,用于判断所述登录加密cookie是否是种植在自身根域下的预登录加密cookie;其中,所述预登录加密cookie是在接收到预登录请求时,利用预设加密算法对所述预登录请求的请求时间进行加密,将加密得到的请求时间加密值和所述请求时间进行拼接得到的;
第一判定单元,用于若判断出所述登录加密cookie不是种植在自身根域下的预登录加密cookie,则判定所述登录请求为伪造请求。
可选地,在上述的防御CSRF攻击的登录请求校验装置中,还包括:
第二判定单元,用于若判断出所述登录加密cookie是种植在自身根域下的预登录加密cookie,则判定所述登录请求为合法请求。
可选地,在上述的防御CSRF攻击的登录请求校验装置中,所述第一判断单元,具体用于:
对所述登录加密cookie进行解析,得到所述登录加密cookie的时间戳和时间戳加密值;
利用所述预设加密算法对所述时间戳进行加密,得到时间戳校验加密值;
判断所述时间戳加密值与所述时间戳校验加密值是否一致;
若判断出所述时间戳加密值与所述时间戳校验加密值不一致,则判定所述登录请求不是种植在自身根域下的预登录加密cookie;
若判断出所述时间戳加密值与所述时间戳校验加密值一致,则判定所述登录请求是种植在自身根域下的预登录加密cookie。
可选地,在上述的防御CSRF攻击的登录请求校验装置中,还包括:
第二获取单元,用于获取当前校验时间;
第三判定单元,用于判断当前校验时间与所述登录加密cookie的时间戳之间的时间间隔是否满足预设时间间隔;若否,则确定判定所述登录请求为伪造请求,若是,则确定判定所述登录请求为合法请求。
可选地,在上述的防御CSRF攻击的登录请求校验装置中,还包括:
第四判定单元,用于判断所述登录加密cookie是否为空;若是,则确定判定所述登录请求为伪造请求;若否,则确定所述登录加密cookie是否是种植在所述服务端根域下的预登录加密cookie。
本发明提供了一种防御CSRF攻击的登录请求校验方法及装置,本发明提供的防御CSRF攻击的登录请求校验方法,应用于服务端,通过在接收到登录请求之后,获取登录请求携带的登录加密cookie;判断登录加密cookie是否是种植在自身根域下的预登录加密cookie;其中,预登录加密cookie是在接收到预登录请求时,利用预设加密算法对预登录请求的请求时间进行加密,将加密得到的请求时间加密值和请求时间进行拼接得到的;若判断出登录加密cookie不是种植在自身根域下的预登录加密cookie,则判定登录请求为伪造请求;也即,本申请提供的防御CSRF攻击的登录请求校验方法能够通过验证登录请求携带的登录加密cookie是否是种植在服务端根域下的预登录加密cookie的方式,识别出伪造请求,避免了用户账户密码被爆破、短信平台被恶意消耗的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种防御CSRF攻击的登录请求校验方法的流程图;
图2为本申请实施例提供的一种判断登录加密cookie是否是种植在自身根域下的预登录加密cookie的流程图;
图3至图6为本申请实施例提供的另四种防御CSRF攻击的登录请求校验方法的流程图;
图7至图10为本申请实施例提供的四种防御CSRF攻击的登录请求校验装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供一种防御CSRF攻击的登录请求校验方法,以解决现有服务端无法对伪造请求进行识别,易导致用户账户密码被爆破、短信平台被恶意消耗的问题。
请参见图1,本申请提供的一种防御CSRF攻击的登录请求校验方法,该防御CSRF攻击的登录请求校验方法应用于服务端,主要包括以下步骤:
S101、在接收到登录请求之后,获取登录请求携带的登录加密cookie。
实际应用中,服务端接收到的登录请求可以是以账号密码登录的登录请求,也可以是以获取短信验证码登录的登录请求,视具体应用环境和用户需求确定即可,均属于本申请的保护范围。
需要说明的是,登录请求所携带的登录加密cookie一般存储在请求头中,通过该登录请求的请求头就能获取该登录请求的登录加密cookie。
S102、判断登录加密cookie是否是种植在自身根域下的预登录加密cookie。
其中,该预登录加密cookie是在接收到预登录请求时,利用预设加密算法对预登录请求的请求时间进行加密,将加密得到的请求时间加密值和请求时间进行拼接得到的。
实际应用中,预登录请求一般指代用户在客户端上执行打开登录页操作时,客户端向服务端发送的请求。该预设加密算法可以是安全哈希算法,也可以是其他加密算法,视具体应用环境和用户需求确定即可,本申请对预设加密算法的具体类型不作限定,均属于本申请的保护范围。
实际应用中,假设请求时间为c1,请求时间加密值为c2,可以指定“.”作为拼接符,将c1和c2进行拼接,得到c1.c2作为预登录加密cookie。
需要说明的是,c1和c2在拼接中的前后位置,可视具体应用环境和用户需求确定,本申请不作具体限定,均属于本申请的保护范围。
具体的,若以c1为1612516795,c2为ob9tk1bItzMukkZ9Rv2svdHgUHE为例,利用“.”作为拼接符,按照c1在前、从c2在后的拼接顺序,所得到的登录密码加密cookie可表示为:1612516795.ob9tk1bItzMukkZ9Rv2svdHgUHE。
需要说明的是,由于该预登录加密cookie是在接收到预登录请求时,服务端利用预设加密算法对预登录请求的请求时间进行加密,将加密得到的请求时间加密值和请求时间进行拼接后,种植在服务端根域下的,因此,后续若是客户端向服务端发送的登录请求,则会携带有种植在服务端根域下的预登录加密cookie;若是攻击者利用CSRF,绕过客户端向服务端发送的伪造请求,则不会携带有种植在服务端根域下的预登录加密密码。
实际应用中,执行步骤S102判断登录加密cookie是否是种植在自身根域下的预登录加密cookie的具体过程可如图2所示,主要包括以下步骤:
S201、对登录加密cookie进行解析,得到登录加密cookie的时间戳和时间戳加密值。
实际应用中,若预登录加密cookie是指定拼接符,将预登录请求的请求时间和请求时间加密值按照一定顺序进行拼接得到的。在对登录加密cookie进行解析时,也可以指定同样的拼接符,作为分隔符,按照相同的顺序,对登录加密cookie中的字符串进行切片,以实现对登录加密cookie进行解析,得到登录加密cookie的时间戳和时间戳加密值。
比如,预登录加密cookie是使用“.”作为拼接符,按照请求时间在前,请求时间加密值在后的拼接顺序得到的。相应的,在对登录加密cookie进行解析时,可以使用“.”作为分隔符,对登录加密cookie进行解析,以分割得到的前半部分作为登录加密cookie的时间戳,以分割得到的后半部分作为登录加密cookie的时间戳加密值。
S202、利用预设加密算法对时间戳进行加密,得到时间戳校验加密值。
需要说明的是,步骤S202中所使用的预设加密算法,与得到该预登录加密cookie中的请求加密值所使用的预设加密算法,为同一种算法,例如,均为安全哈希算法的预设加密算法;当然,并不仅限于此,还可视具体应用环境和用户需求,以其他算法作为该预设加密算法,只需保证步骤S203中所采用的预设加密算法,与上述得到预登录加密cookie中的请求时间加密值所采用预设加密算法,为相同加密算法即可。
S203、判断时间戳加密值与时间戳校验加密值是否一致。
实际应用中,可以将时间戳加密值与时间戳校验值进行比对,根据比对结果判断时间戳与时间戳校验值是否一致。
若比对出时间戳加密值与时间戳校验加密值不一致,也即判断出时间戳加密值与时间戳校验加密值不一致,则执行步骤S204。若比对出时间戳加密值与时间戳校验加密值一致,也即判断出时间戳加密值与时间戳校验加密值一致,则执行步骤S205。
S204、判定登录加密cookie不是种植在自身根域下的预登录加密cookie。
S205、判定登录加密cookie是种植在自身根域下的预登录加密cookie。
需要说明的是,由于该预登录加密cookie是利用预设加密算法对请求时间进行加密,再将请求时间加密值和请求时间进行拼接后得到的。服务端通过对该登录加密cookie进行解析,可以得到登录加密cookie的时间戳和时间戳加密值,若是该时间戳经预设加密算法加密后得到的时间戳校验加密值,与解析得到的时间戳加密值不相同,就可以判断出登录加密cookie不是种植在服务端根域下的预登录加密cookie,进而识别出该登录请求属于伪造请求;若是该时间戳经预设加密算法加密后得到的时间戳校验值,与解析得到的时间戳加密值相同,就可以判断出登录加密cookie是种植在服务端根域下的预登录加密cookie,进而识别出该登录请求属于合法请求。
实际应用中,若判断出登录加密cookie不是种植在自身根域下的预登录加密cookie,则执行步骤S102。
S103、判定登录请求为伪造请求。
实际应用中,在判定出该登录请求为伪造请求之后,服务端可以拒绝该登录请求,以避免伪造请求对用户账户密码被爆破、短信平台被恶意消耗。
基于上述原理,本实施例在接收到登录请求之后,获取登录请求携带的登录加密cookie,判断登录加密cookie是否是种植在自身根域下的预登录加密cookie;其中,预登录加密cookie是在接收到预登录请求时,利用预设加密算法对预登录请求的请求时间进行加密,将加密得到的请求时间加密值和请求时间进行拼接得到的;若判断出登录请求不是种植在自身根域下的预登录加密cookie,则判定登录请求为伪造请求;也即,本申请提供的防御CSRF攻击的登录请求校验方法能够通过验证登录请求携带的登录加密cookie是否是种植在服务端根域下的预登录加密cookie的方式,识别出伪造请求,避免了用户账户密码被爆破、短信平台被恶意消耗的问题。
值得说明的是,现有还存在另三种防御CSRF攻击的方法,分别是验证HTTPReferer字段,在请求地址中添加token并验证以及在HTTP头中自定义属性并验证。但是,验证HTTP Referer字段防御CSRF攻击的方式,由于Referer由浏览器提供,强依赖于浏览器安全性低;并且,浏览器的Referer功能的启用受用户控制,若是用户因隐私问题将浏览器的Referer功能关闭,关闭Referer功能后浏览器发送的请求不再带有Referer,服务端同样会出现无法获取到Referer,拒绝合法用户请求的情况;而本申请提供的防御CSRF攻击的登录请求校验方法不受用户限制,仅通过服务端就能有效识别出非客户端的登录请求,并且不会误杀客户端的登录请求。
而通过在请求地址中添加token并验证及通过HTTP头中自定义属性并验证防御CSRF攻击的方式,都需要对客户端进行改造。并且,通过在请求地址中添加token并验证的方式,难以保证添加token本身的安全,而本申请提供的防御CSRF攻击的登录请求校验方法只需改造服务端,无需改造客户端。此外,通过HTTP头中自定义属性并验证的方式,还需通过XMLHttpRequest类给该类请求添加token到http头自定义属性里,过程十分复杂,而本申请提供的防御CSRF攻击的登录请求校验方法简单易于实现。
可选地,在本申请提供的另一实施例中,在执行步骤S102、判断登录加密cookie是否是种植在自身根域下的预登录加密cookie之后,请参见图3,若判断出登录加密cookie是种植在自身根域下的预登录加密cookie,该防御CSRF攻击的登录请求校验方法还包括:
S301、判定登录请求为合法请求。
实际应用中,当判断出登录加密cookie是种植在服务端根域下的预登录加密cookie之后,可以判定出该登录请求为客户端发送的合法请求。
可选地,在本申请提供的另一实施例中,在执行步骤S101、获取登录请求携带的登录加密cookie之后,请参见图4,该防御CSRF攻击的登录请求校验方法,还包括:
S401、判断登录加密cookie是否为空。
若判断出登录加密cookie为空,则确定判定登录请求为伪造请求,也即执行步骤S103。若判断出登录加密cookie不为空,则确定登录加密cookie是否是种植在服务端根域下的预登录加密cookie,也即执行步骤S102。
实际应用中,若登录请求携带的登录加密cookie为空,则说明该登录请求的登录加密cookie不再可能是种植在服务端根域下的预登录加密cookie,因此可以直接判定该登录请求为伪造请求。若是该登录请求携带的登录加密cookie不为空,则说明该登录请求的登录加密cookie有可能是种植在服务端根域下的预登录加密cookie,需要对其执行步骤S102、判断登录加密cookie是否是种植在自身根域下的预登录加密cookie进行确认。
可选地,在本申请提供的另一实施例中,在执行步骤S102、判断登录加密cookie是否是种植在自身根域下的预登录加密cookie之后,若判断出登录加密cookie是种植在自身根域下的预登录加密cookie之后,请参见图5,该防御CSRF攻击的登录请求校验方法,还包括:
S501、获取当前校验时间。
实际应用中,当前校验时间指代服务端验证登录请求是否属于CSRF攻击请求的时间。
S502、判断当前校验时间与登录加密cookie的时间戳之间的时间间隔是否满足预设时间间隔;若否,则确定判定登录请求为伪造请求,也即执行步骤S103,若是,则确定判定登录请求为合法请求,也即执行步骤S301。
其中,通过当前校验时间与登录加密cookie中的时间戳之间的时间间隔,可以得知当前校验时间距离种植在服务端根域下的预登录加密cookie之间的时间间隔。
实际应用中,为了应对重放攻击,可以利用预设时间间隔要求对登录请求的有效时长进行限制。具体的,该预设时间间隔可以设置为5分钟、10分钟,或者其他时间,视具体应用环境和用户需求确定即可,本申请对预设时间间隔的具体取值不作限定,均属于本申请的保护范围。
在本实施例中,在判断出登录加密cookie是种植在服务端根域下的预登录加密cookie之后,还增设当前校验时间与登录加密cookie的时间戳之间的时间间隔需满足的预设时间间隔,能够在一定程度上避免重放攻击,进一步降低了短信平台被恶意消耗的次数。
基于上述实施例提供的方法,针对上述实施例内容提供对应的实施例,为方便理解,结合图6,假设该预设加密算法为安全哈希算法,登录加密cookie的时间戳为c1,时间戳加密值为c2,利用安全哈希算法对时间戳c1加密后得到的时间戳校验加密值为c3,预设时间间隔为3分钟,本发明具体有以下实施过程:
步骤1:获取登录加密cookie。
步骤2:判断登录加密cookie是否为空。
若判断结果为是,则校验失败;若判断结果为否,则执行步骤3。
步骤3:对登录加密cookie进行解析,得到c1和c2。
步骤4:将c1按照固定密钥做安全哈希算法加密,得到的c3。
步骤5:判断c3是否等于c2。
若判断结果为否,则校验失败;若判断结果为是,则执行步骤6。
步骤6:判断当前时间与c1之间的差值是否大于3分钟。
若判断结果为是,则校验失败;若判断结果为否,则校验通过。
需要说明的是,校验失败表征登录加密cookie为伪造请求,校验成功表征登录加密cookie为合法请求。
还需要说明的是,上述实例仅仅是本申请在实际应用中的一种情况举例,实际应用中本申请的具体应用实例并不仅限于上述,只要采用本申请提供的防御CSRF攻击的登录请求校验方法均属于本申请的保护范围。
可选地,本申请另一实施例还提供了一种防御CSRF攻击的登录请求校验装置,该装置应用于服务端,请参见图7,该装置主要包括:
第一获取单元101,用于在接收到登录请求之后,获取登录请求携带的登录加密cookie。
第一判断单元102,用于判断登录加密cookie是否是种植在自身根域下的预登录加密cookie。
其中,预登录加密cookie是在接收到预登录请求时,利用预设加密算法对预登录请求的请求时间进行加密,将加密得到的请求时间加密值和请求时间进行拼接得到的。
第一判定单元103,用于若判断出登录加密cookie不是种植在自身根域下的预登录加密cookie,则判定登录请求为伪造请求。
在本实施例中,第一获取单元101在接收到登录请求之后,获取登录请求携带的登录加密cookie;第一判断单元102判断登录加密cookie是否是种植在自身根域下的预登录加密cookie;其中,预登录加密cookie是在接收到预登录请求时,利用预设加密算法对预登录请求的请求时间进行加密,将加密得到的请求时间加密值和请求时间进行拼接得到的;第一判定单元103若判断出登录加密cookie不是种植在自身根域下的预登录加密cookie,则判定登录请求为伪造请求;也即,本申请提供的防御CSRF攻击的登录请求校验方法能够通过验证登录请求携带的登录加密cookie是否是种植在服务端根域下的预登录加密cookie的方式,识别出伪造请求,避免了用户账户密码被爆破、短信平台被恶意消耗的问题。
需要说明的是,本实施例中各单元的具体工作过程,可参见防御CSRF攻击的登录请求校验方法对应的实施例,此处不再赘述。
可选地,在本申请提供的另一实施例中,请参见图8,该防御CSRF攻击的登录请求校验装置还包括:
第二判定单元104,用于若判断出登录加密cookie是种植在自身根域下的预登录加密cookie,则判定登录请求为合法请求。
需要说明的是,本实施例中各单元的具体工作过程,可参见防御CSRF攻击的登录请求校验方法对应的实施例,此处不再赘述。
可选地,在本申请提供的另一实施例中,该第一判断单元单元具体用于:
对登录加密cookie进行解析,得到登录加密cookie的时间戳和时间戳加密值。
利用预设加密算法对时间戳进行加密,得到时间戳校验加密值。
判断时间戳加密值与时间戳校验加密值是否一致。
若判断出所述时间戳加密值与所述时间戳校验加密值不一致,则判定登录请求不是种植在自身根域下的预登录加密cookie。
若判断出所述时间戳加密值与所述时间戳校验加密值一致,则判定登录请求是种植在自身根域下的预登录加密cookie。
需要说明的是,本实施例中各单元的具体工作过程,可参见防御CSRF攻击的登录请求校验方法对应的实施例,此处不再赘述。
可选地,在本申请提供的另一实施例中,请参见图9,该防御CSRF攻击的登录请求校验装置还包括:
第二获取单元105,用于获取当前校验时间。
第三判定单元106,用于判断当前校验时间与登录加密cookie的时间戳之间的时间间隔是否满足预设时间间隔;若否,则确定判定登录请求为伪造请求;若是,则确定判定登录请求为合法请求。
需要说明的是,本实施例中各单元的具体工作过程,可参见防御CSRF攻击的登录请求校验方法对应的实施例,此处不再赘述。
可选地,在本申请提供的另一实施例中,请参见图10,该防御CSRF攻击的登录请求校验装置还包括:
第四判定单元107,用于判断登录加密cookie是否为空。若是,则判定登录请求为伪造请求;若否,则确定登录加密cookie是否是种植在所述服务端根域下的预登录加密cookie。
需要说明的是,本实施例中各单元的具体工作过程,可参见防御CSRF攻击的登录请求校验方法对应的实施例,此处不再赘述。
本说明书中的各个实施例中记载的特征可以相互替换或者组合,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种防御CSRF攻击的登录请求校验方法,其特征在于,应用于服务端,所述方法包括:
在接收到登录请求之后,获取所述登录请求携带的登录加密cookie;
判断所述登录加密cookie是否是种植在自身根域下的预登录加密cookie;其中,所述预登录加密cookie是在接收到预登录请求时,利用预设加密算法对所述预登录请求的请求时间进行加密,将加密得到的请求时间加密值和请求时间进行拼接得到的;
若判断出所述登录加密cookie不是种植在所述服务端根域下的预登录加密cookie,则判定所述登录请求为伪造请求。
2.根据权利要求1所述的防御CSRF攻击的登录请求校验方法,其特征在于,在判断所述登录加密cookie是否是种植在自身根域下的预登录加密cookie之后,若判断出所述登录加密cookie是种植在自身根域下的预登录加密cookie,还包括:
判定所述登录请求为合法请求。
3.根据权利要求1所述的防御CSRF攻击的登录请求校验方法,其特征在于,判断所述登录加密cookie是否是种植在所述服务端根域下的预登录加密cookie,包括:
对所述登录加密cookie进行解析,得到所述登录加密cookie的时间戳和时间戳加密值;
利用所述预设加密算法对所述时间戳进行加密,得到时间戳校验加密值;
判断所述时间戳加密值与所述时间戳校验加密值是否一致;
若判断出所述时间戳加密值与所述时间戳校验加密值不一致,则判定所述登录加密cookie不是种植在自身根域下的预登录加密cookie;
若判断出所述时间戳加密值与所述时间戳校验加密值一致,则判定所述登录加密cookie是种植在自身根域下的预登录加密cookie。
4.根据权利要求3所述的防御CSRF攻击的登录请求校验方法,其特征在于,在判断所述登录加密cookie是否是种植在服务端根域下的预登录加密cookie之后,若判断出所述登录加密cookie是种植在服务端根域下的预登录加密cookie,则还包括:
获取当前校验时间;
判断当前校验时间与所述登录加密cookie的时间戳之间的时间间隔是否满足预设时间间隔;若否,则确定判定所述登录请求为伪造请求,若是,则确定判定所述登录请求为合法请求。
5.根据权利要求1-4任一项所述的防御CSRF攻击的登录请求校验方法,其特征在于,获取所述登录请求的请求头中的登录加密cookie之后,还包括:
判断所述登录加密cookie是否为空;若是,则确定判定所述登录请求为伪造请求;若否,则确定所述登录加密cookie是否是种植在所述服务端根域下的预登录加密cookie。
6.一种防御CSRF攻击的登录请求校验装置,其特征在于,应用于服务端,所述装置包括:
第一获取单元,用于在接收到登录请求之后,获取所述登录请求携带的登录加密cookie;
第一判断单元,用于判断所述登录加密cookie是否是种植在自身根域下的预登录加密cookie;其中,所述预登录加密cookie是在接收到预登录请求时,利用预设加密算法对所述预登录请求的请求时间进行加密,将加密得到的请求时间加密值和所述请求时间进行拼接得到的;
第一判定单元,用于若判断出所述登录加密cookie不是种植在自身根域下的预登录加密cookie,则判定所述登录请求为伪造请求。
7.根据权利要求6所述的防御CSRF攻击的登录请求校验装置,其特征在于,还包括:
第二判定单元,用于若判断出所述登录加密cookie是种植在自身根域下的预登录加密cookie,则判定所述登录请求为合法请求。
8.根据权利要求6所述的防御CSRF攻击的登录请求校验装置,其特征在于,所述第一判断单元,具体用于:
对所述登录加密cookie进行解析,得到所述登录加密cookie的时间戳和时间戳加密值;
利用所述预设加密算法对所述时间戳进行加密,得到时间戳校验加密值;
判断所述时间戳加密值与所述时间戳校验加密值是否一致;
若判断出所述时间戳加密值与所述时间戳校验加密值不一致,则判定所述登录请求不是种植在自身根域下的预登录加密cookie;
若判断出所述时间戳加密值与所述时间戳校验加密值一致,则判定所述登录请求是种植在自身根域下的预登录加密cookie。
9.根据权利要求8所述的防御CSRF攻击的登录请求校验装置,其特征在于,还包括:
第二获取单元,用于获取当前校验时间;
第三判定单元,用于判断当前校验时间与所述登录加密cookie的时间戳之间的时间间隔是否满足预设时间间隔;若否,则确定判定所述登录请求为伪造请求,若是,则确定判定所述登录请求为合法请求。
10.根据权利要求6-9任一项所述的防御CSRF攻击的登录请求校验装置,其特征在于,还包括:
第四判定单元,用于判断所述登录加密cookie是否为空;若是,则确定判定所述登录请求为伪造请求;若否,则确定所述登录加密cookie是否是种植在所述服务端根域下的预登录加密cookie。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110757413.4A CN113343278B (zh) | 2021-07-05 | 2021-07-05 | 一种防御csrf攻击的登录请求校验方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110757413.4A CN113343278B (zh) | 2021-07-05 | 2021-07-05 | 一种防御csrf攻击的登录请求校验方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113343278A true CN113343278A (zh) | 2021-09-03 |
CN113343278B CN113343278B (zh) | 2022-07-26 |
Family
ID=77482516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110757413.4A Active CN113343278B (zh) | 2021-07-05 | 2021-07-05 | 一种防御csrf攻击的登录请求校验方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113343278B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915462A (zh) * | 2022-04-29 | 2022-08-16 | 中国电信股份有限公司 | 跨站请求伪造攻击防御方法及装置、电子设备及介质 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090214028A1 (en) * | 2008-02-27 | 2009-08-27 | James Paul Schneider | Generating Session Keys |
CN103312666A (zh) * | 2012-03-09 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 一种防御跨站请求伪造csrf攻击的方法、系统和装置 |
US9059985B1 (en) * | 2014-12-08 | 2015-06-16 | Fmr Llc | Methods for fraud detection |
CN105338525A (zh) * | 2014-05-29 | 2016-02-17 | 广州市动景计算机科技有限公司 | 登陆访问处理方法、装置及系统 |
CN105357185A (zh) * | 2015-10-08 | 2016-02-24 | Tcl集团股份有限公司 | 共享帐号登录验证方法、装置及系统 |
CN105743869A (zh) * | 2014-12-12 | 2016-07-06 | 阿里巴巴集团控股有限公司 | Csrf攻击防范方法、网站服务器及浏览器 |
CN106790238A (zh) * | 2017-01-19 | 2017-05-31 | 北京神州绿盟信息安全科技股份有限公司 | 一种跨站请求伪造csrf防御认证方法和装置 |
CN108183907A (zh) * | 2017-12-29 | 2018-06-19 | 浪潮通用软件有限公司 | 一种认证方法、服务器及认证系统 |
CN108234458A (zh) * | 2017-12-21 | 2018-06-29 | 广东汇泰龙科技有限公司 | 一种云锁密码的加密储存及解密提取的方法、系统 |
CN108471432A (zh) * | 2018-07-11 | 2018-08-31 | 北京智芯微电子科技有限公司 | 防止网络应用程序接口被恶意攻击的方法 |
CN109254734A (zh) * | 2018-09-06 | 2019-01-22 | 郑州云海信息技术有限公司 | 一种数据存储方法、装置、设备及计算机可读存储介质 |
CN109948333A (zh) * | 2019-03-08 | 2019-06-28 | 北京顺丰同城科技有限公司 | 一种账户攻击的安全防御方法及装置 |
KR102020898B1 (ko) * | 2018-10-31 | 2019-09-11 | 상명대학교 천안산학협력단 | 신뢰 실행 환경 기반 세션키 수립 방법 |
CN111447195A (zh) * | 2020-03-23 | 2020-07-24 | 杭州趣维科技有限公司 | 一种防止请求报文被篡改攻击重放的web接口设计方法 |
US20200311309A1 (en) * | 2019-03-26 | 2020-10-01 | Salesforce.Com, Inc. | Encryption techniques for cookie security |
CN112788033A (zh) * | 2021-01-13 | 2021-05-11 | 京东方科技集团股份有限公司 | 一种认证方法及认证系统 |
-
2021
- 2021-07-05 CN CN202110757413.4A patent/CN113343278B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090214028A1 (en) * | 2008-02-27 | 2009-08-27 | James Paul Schneider | Generating Session Keys |
CN103312666A (zh) * | 2012-03-09 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 一种防御跨站请求伪造csrf攻击的方法、系统和装置 |
CN105338525A (zh) * | 2014-05-29 | 2016-02-17 | 广州市动景计算机科技有限公司 | 登陆访问处理方法、装置及系统 |
US9059985B1 (en) * | 2014-12-08 | 2015-06-16 | Fmr Llc | Methods for fraud detection |
CN105743869A (zh) * | 2014-12-12 | 2016-07-06 | 阿里巴巴集团控股有限公司 | Csrf攻击防范方法、网站服务器及浏览器 |
CN105357185A (zh) * | 2015-10-08 | 2016-02-24 | Tcl集团股份有限公司 | 共享帐号登录验证方法、装置及系统 |
CN106790238A (zh) * | 2017-01-19 | 2017-05-31 | 北京神州绿盟信息安全科技股份有限公司 | 一种跨站请求伪造csrf防御认证方法和装置 |
CN108234458A (zh) * | 2017-12-21 | 2018-06-29 | 广东汇泰龙科技有限公司 | 一种云锁密码的加密储存及解密提取的方法、系统 |
CN108183907A (zh) * | 2017-12-29 | 2018-06-19 | 浪潮通用软件有限公司 | 一种认证方法、服务器及认证系统 |
CN108471432A (zh) * | 2018-07-11 | 2018-08-31 | 北京智芯微电子科技有限公司 | 防止网络应用程序接口被恶意攻击的方法 |
CN109254734A (zh) * | 2018-09-06 | 2019-01-22 | 郑州云海信息技术有限公司 | 一种数据存储方法、装置、设备及计算机可读存储介质 |
KR102020898B1 (ko) * | 2018-10-31 | 2019-09-11 | 상명대학교 천안산학협력단 | 신뢰 실행 환경 기반 세션키 수립 방법 |
CN109948333A (zh) * | 2019-03-08 | 2019-06-28 | 北京顺丰同城科技有限公司 | 一种账户攻击的安全防御方法及装置 |
US20200311309A1 (en) * | 2019-03-26 | 2020-10-01 | Salesforce.Com, Inc. | Encryption techniques for cookie security |
CN111447195A (zh) * | 2020-03-23 | 2020-07-24 | 杭州趣维科技有限公司 | 一种防止请求报文被篡改攻击重放的web接口设计方法 |
CN112788033A (zh) * | 2021-01-13 | 2021-05-11 | 京东方科技集团股份有限公司 | 一种认证方法及认证系统 |
Non-Patent Citations (1)
Title |
---|
胡锦玲等: "基于Cookie的Web平台身份认证机制的研究与设计", 《江西科学》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915462A (zh) * | 2022-04-29 | 2022-08-16 | 中国电信股份有限公司 | 跨站请求伪造攻击防御方法及装置、电子设备及介质 |
CN114915462B (zh) * | 2022-04-29 | 2023-09-08 | 中国电信股份有限公司 | 跨站请求伪造攻击防御方法及装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113343278B (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10771471B2 (en) | Method and system for user authentication | |
US8302170B2 (en) | Method for enhancing network application security | |
US9112828B2 (en) | Method for defending against session hijacking attacks and firewall | |
CN108259406B (zh) | 检验ssl证书的方法和系统 | |
CN105357186B (zh) | 一种基于带外验证和增强otp机制的二次认证方法 | |
Yildirim et al. | A research on security vulnerabilities in online and mobile banking systems | |
US20180131521A1 (en) | Verification of Server Certificates Using Hash Codes | |
CN107196972B (zh) | 一种认证方法及系统、终端和服务器 | |
CN114598540A (zh) | 访问控制系统、方法、装置及存储介质 | |
WO2016188335A1 (zh) | 用户数据的访问控制方法、装置及系统 | |
Panja et al. | Cybersecurity in banking and financial sector: Security analysis of a mobile banking application | |
CN113672897A (zh) | 数据通信方法、装置、电子设备及存储介质 | |
CN106789858B (zh) | 一种访问控制方法和装置以及服务器 | |
US20220303293A1 (en) | Methods of monitoring and protecting access to online services | |
CN113343278B (zh) | 一种防御csrf攻击的登录请求校验方法及装置 | |
Aljawarneh et al. | A web client authentication system using smart card for e-systems: initial testing and evaluation | |
CN108900595B (zh) | 访问云存储服务器数据的方法、装置、设备及计算介质 | |
CN107172038B (zh) | 一种用于提供安全服务的信息处理方法、平台、组件及系统 | |
Manjula et al. | Pre-authorization and post-authorization techniques for detecting and preventing the session hijacking | |
Tsow | Phishing with Consumer Electronics-Malicious Home Routers. | |
Orucho et al. | Security threats affecting user-data on transit in mobile banking applications: A review | |
CN113542287A (zh) | 网络请求的管理方法和装置 | |
CN108494731B (zh) | 一种基于双向身份认证的抗网络扫描方法 | |
KR101310043B1 (ko) | 스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 방법 | |
CN115696329B (zh) | 零信任认证方法及装置、零信任客户端设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |