The invention discloses a method and system for preventing cross-station requests from forging CSRF attacks against React framework, which includes: receiving requests sent by the front end, randomly generating the first token data according to the requests; generating key pairs by using encryption algorithm, encrypting the first token data by using the public key of the key pair, so as to generate the first ciphertext data, and first token number. The data and the first ciphertext data are sent to the front end as the second token data and the second ciphertext data; the second token data and the second ciphertext data sent by the front end are received as the third token data and the third ciphertext data; the third token data and the third ciphertext data are verified, and the corresponding operations are carried out according to the verification results. The invention adopts cryptographic algorithm to encrypt token, which can prevent attackers from using token forgery to launch CSRF attacks, greatly improving the security of the program; utilizes the characteristics of component development of React, uses token verification mechanism, cooperates front and back to prevent CSXF attacks senselessly to users.
【技术实现步骤摘要】
一种针对React框架的防止跨站请求伪造CSRF攻击的方法及系统
本专利技术涉及计算机软件
,并且更具体地,涉及一种针对React框架的防止跨站请求伪造(Cross-siterequestforgery,CSRF)攻击的方法及系统。
技术介绍
在科学技术日新月异发展的今天,计算机在人们的日常生活中发挥重要的作用,但是计算机在带来便利的同时也伴随着安全威胁。网络是人与世界交互的媒介,通过网络人们可以在网上购物,娱乐,办公,传递信息等,无形之中,人们在网上产生大量的数据,包括很多重要的数据,如个人隐私、具有商业价值的企业资料、国家机密。在这些重要数据的诱惑下,一些不法分子在网上实施各种网络攻击,以达到盗窃数据或权限的目的。其中,CSXF攻击是网络上最常见的攻击手段之一。CSRF跨站请求伪造,也被称为“OneClickAttack”或者SessionRiding,也被称为XSRF,是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS利用的是用户对指定网站的信任,CSRF利用的是网站对用户网页浏览器的信任。因为CSRF攻击利用的是冲着浏览器分不清发起请求是不是真正的用户本人。也就是说,简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......,造成的问题包括:个人隐私泄露以及财产安全。传统防止CSRF攻击的方法有三种:一、用户操作 ...
【技术保护点】
1.一种针对React框架的防止跨站请求伪造CSRF攻击的方法,其特征在于,所述方法包括:接收前端发送的请求,根据所述请求随机生成第一token数据;利用加密算法生成密钥对,利用所述密钥对中的公钥对所述第一token数据进行加密,以生成第一密文数据,并将所述第一token数据和第一密文数据发送至前端作为第二token数据和第二密文数据;接收前端发送的所述第二token数据和第二密文数据作为第三token数据和第三密文数据;对所述第三token数据和第三密文数据进行验证,并根据验证结果进行相应的操作。
【技术特征摘要】
1.一种针对React框架的防止跨站请求伪造CSRF攻击的方法,其特征在于,所述方法包括:接收前端发送的请求,根据所述请求随机生成第一token数据;利用加密算法生成密钥对,利用所述密钥对中的公钥对所述第一token数据进行加密,以生成第一密文数据,并将所述第一token数据和第一密文数据发送至前端作为第二token数据和第二密文数据;接收前端发送的所述第二token数据和第二密文数据作为第三token数据和第三密文数据;对所述第三token数据和第三密文数据进行验证,并根据验证结果进行相应的操作。2.根据权利要求1所述的方法,其特征在于,所述加密算法为非对称加密算法。3.根据权利要求1所述的方法,其特征在于,所述对所述第三token数据和第三密文数据进行验证,包括:对所述第三token数据和第三密文数据进行正向散列验证;当用户发送请求时,利用所述密钥对中的私钥对所述第一密文数据进行解密,以获取解密后的token数据,并利用所述解密后的token数据和第一token数据进行验证。4.根据权利要求3所述的方法,其特征在于,所述对所述第三token数据和第三密文数据进行正向散列验证,包括:利用加密算法对所述第三token数据进行加密,以生成第四密文数据,并将所述第四密文数据和第一密文数据进行比较,若一致,则验证结果指示请求正常,反之,则验证结果指示请求异常。5.根据权利要求1所述的方法,其特征在于,所述利用所述解密后的token数据和第一token数据进行验证,包括:将所述解密后的token数据和第一token数据进行比较,若一致,则验证结果指示请求正常;反之,则验证结果指示请求异常。6.根据权利要求1所述的方法,其特征在于,所述根据验证结果进行相应的操作,包括:若所述验证结果指示请求正常,则正常返回输出数据;若所述验证结果指示请求异常,则表明受到CSRF攻击,抛出CSRF攻击异常数据。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:利用React组件化开发的特性,对后台返回的密文数据统一封装在request组件中,以使得前端开发者无需在每个业务层考虑token的接收和发送问题。8.一种针对React框架的防止跨站请求伪造CSRF攻击的系统,其特征在于,所述系统包括:第一token数据生成单元,用...
【专利技术属性】
技术研发人员:牟森,冯玉珠,梁宵,耿方,
申请(专利权)人:航天信息股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。