-
2020-03-17 00:16:40
1、对于异常用户
切面处理异常,把异常用户的ip插入到数据库,当用户的请求异常次数到达一定程度时,拉入很名单
每次请求去查询是否在黑名单中
2、对于一分钟请求次数,接口限制
每次请求判断上次是否在一分钟内,如果在一分钟内则+1次
如果超过一分钟则清0
如果一分钟请求超过一定次数,就会直接限制请求,24小时候定时解绑
更多相关内容 -
API接口手工防御被恶意调用和接口被攻击
2021-03-29 17:04:57通常情况下的api接口防护有...本地加密混淆,以上提到的加解密数据和算法,不要直接放在本地代码,因为很容易被反编译和破解,建议放到独立模块中去,并且函数名称越混淆越难读越安全。 User-Agent 和 Referer 限制 ap -
如何防止API接口被恶意调用
2022-02-18 14:24:24如何防止API接口被恶意调用1. 客户端防护2. 传输层防护3. 服务端防护4. 安全鉴权案例4.1 微盟开放平台4.2 微信开放平台 1. 客户端防护 1.客户端双向认证。在app中预置证书(跨平台也是一致的方案),要求更高的话...如何防止API接口被恶意调用
1. 客户端防护
1.客户端双向认证。在app中预置证书(跨平台也是一致的方案),要求更高的话使用专用的证书设备,线下签发,例如银行的U盾。
2.客户端双反hook,反调试,防逆向。
3.客户端运行环境校验,通过读取硬件信息识别pc还是移动设备以及设备MAC相关信息。2. 传输层防护
1.传输协议防护,首先接口建议使用 HTTPS 协议,这样至少会给破解者在抓包的时候提高一些难度。
3. 服务端防护
1.验证签名与授权信息是否合法,是否失效。
2.参数合法性校验,例如时间戳和参数签名校验。过滤一些非法参数。
3.数据加密,签名可以采用非对称加密,参数采用对称加密,密匙采用非对称的私匙。
4.定时更新签名以及加密信息。
5.接口监控,接口的使用设备,使用频率,调用顺序是否合法。
6.风控策略防护,有一点作用但是对于有明确指向性的攻击意义不大,IP可以换,频率可以变,很容易就绕过了,策略的设计上要注意尽量少用短命的规则,而且一般只对低级别的对抗有效。
7.通过风控平台进行用户行为分析,数据挖掘,然后通过机器学习形成风控模型,对风险进行全方位识别,预警以及管控。4. 安全鉴权案例
4.1 微盟开放平台
微盟也是根据OAuth2.0授权流程实现。
参数 说明 client_id 开发者应用用于发起微盟Oauth_2.0授权的凭证(可在“开发者中心”创建应用后获取到) client_secret 开发者应用用于发起微盟Oauth_2.0授权的凭证(可在“开发者中心”创建应用后获取到) redirect_uri 应用发起请求时,所传的回调地址参数,用于接收平台返回的数据 access_token 开发者完成授权后,被颁发调用微盟API 的凭证 refresh_token 刷新access_token的凭证,当access_token过期时,开发者可以用refresh_token刷新得到新的access_token 微盟鉴权文档地址:https://cloud.weimob.com/saas/word/detail.html?tag=564&menuId=2
4.2 微信开放平台
微信开放平台授权需要7部才能完成,并且在此之前还需要通过开放平台开发配置,数据通过AES加密验证。
1、配置授权事件URL,用于接收[component_verify_ticket]。
2、获得component_verify_ticket后,按照[获取第三方平台 component_access_token]接口文档,调用接口获取component_access_token。
3、获得component_access_token后,按照[获取预授权码 pre_auth_code]接口文档 ,调接口获取pre_auth_code。
4、获得pre_auth_code后,按照[授权技术流程说明]文档 ,引导用户授权后获取authorization_code
5、获得authorization_code后,按照[使用授权码换取公众号或小程序的接口调用凭据和授权信息]接口文档 ,调接口获取authorizer_refresh_token。
6、获得authorizer_refresh_token后,按照[获取/刷新授权公众号或小程序的接口调用凭据]接口文档 ,调接口获取authorizer_access_token。
7、按照接口文档,代替公众号或小程序调用接口。微信开放平台授权文档地址:https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Before_Develop/creat_token.html
-
如何防止别人恶意攻击调用API接口
2018-09-27 21:10:311 / 验证码(最简单有效的防护),采用点触验证,滑动验证或第三方验证码服务,普通验证码很容易被破解 2 / 频率,限制同设备,同IP等发送次数,单点时间范围可请求时长 3 / 归属地,检测IP所在地是否与手机号归属...1 / 验证码(最简单有效的防护),采用点触验证,滑动验证或第三方验证码服务,普通验证码很容易被破解
2 / 频率,限制同设备,同IP等发送次数,单点时间范围可请求时长
3 / 归属地,检测IP所在地是否与手机号归属地匹配;IP所在地是否是为常在地
4 / 可疑用户,对于可疑用户要求其主动发短信(或其他主动行为)来验证身份
5 / 黑名单,对于黑名单用户,限制其操作,API接口直接返回success,1可以避免浪费资源,2混淆黑户判断
—
6 / 签名,API接口启用签名策略,签名可以保障请求URL的完整安全,签名匹配再继续下一步操作
7 / token,对于重要的API接口,生成token值,做验证
—
8 / https,启用https,https 需要秘钥交换,可以在一定程度上鉴别是否伪造IP
9 / 代码混淆,发布前端代码混淆过的包
10 / 风控,大量肉鸡来袭时只能受着,同样攻击者也会暴露意图,分析意图提取算法,分析判断是否为恶意 如果是则断掉;异常账号及时锁定;或从产品角度做出调整,及时止损。
11 / 数据安全,数据安全方面做策略,攻击者得不到有效数据,提高攻击者成本
12 / 恶意IP库,https://threatbook.cn/,过滤恶意IP
tips:
鉴别IP真伪(自己识别代理IP和机房IP成本略高,可以考虑第三方saas服务。由肉鸡发起的请求没辙,只能想其他方法)
手机号真伪(做空号检测,同样丢给供应商来处理,达不到100%准确率,效率感人,并且不是实时的,可以考虑选择有防攻击的运营商)
安全问题是长期的和攻击者斗智斗勇的问题,没有一劳永逸的解决方案,不断交锋,不断成长
--------------------- 本文来自 初见-子非鱼 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/a895458278/article/details/78655461?utm_source=copy
-
如何防止单片机被恶意攻击技术打破
2021-01-19 18:17:36为了防止未经授权访问或复制片上程序,大多数单芯片计算机都配有加密锁来定位或加密字节以保护片上程序。 借助专用设备或自制设备,单片机攻击者可以利用单片机设计中的漏洞或软件缺陷,从芯片中提取关键信息,... -
Spring Boot接口设计防篡改、防重放攻击详解
2020-08-25 19:22:47主要给大家介绍了关于Spring Boot接口设计防篡改、防重放攻击的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 -
接口防止重放攻击策略
2018-07-31 08:39:48接口调用身份私钥签名公钥验签,这种方式既可以防止参数在传输过程中被篡改,因为一旦篡改,sing签名将对应不上,调用失败; 同时使用公钥和配对的私钥进行签名和验签,保证了服务端和客户端的身份 【2】重放攻击...
【0】使用https保证网络传输的安全;【1】中间人攻击防范策略:
接口调用身份私钥签名公钥验签,这种方式既可以防止参数在传输过程中被篡改,因为一旦篡改,sing签名将对应不上,调用失败;
同时使用公钥和配对的私钥进行签名和验签,保证了服务端和客户端的身份【2】重放攻击防范策略:
客户端第一次请求使用签名sign,服务端验证通过,给客户端返回一个唯一的订单号,并将该订单号存放在redis缓存中(为了防止脏数据的挤压,给该订单号60秒的过期时间),
客户端接收到该订单号,继续使用签名算法并带上这个订单号请求服务器,服务器验证签名,并验证订单号的存在,
如果签名正确(保证客户端身份),同时订单号存在,则继续处理业务,并将该订单号删除,严格保证充值,消费,转账等接口不被重放;
如果用户在第一次请求的时候被中间人拦截掉请求的所有信息,中间人伪装成客户,请求服务器,
这个时候服务器只是返回一个订单号,因为中间人没有加密算法和公钥,所以不能成功封装第二次请求信息,如果用户在第二次请求的时候被中间人拦截掉请求的所有信息,中间人伪装成客户,请求服务器,
因为服务器缓存了该订单号并且在验签成功之后业务处理完成,将该订单号删除了,所以真实客户和中间人只能有一个
请求成功,即使中间人请求成功,请求参数也和客户是一模一样的,这样就保证了该接口不能被重放攻击;
针对POS机移动设备设备,登陆成功之后,更新针对这台设备的秘钥加密之后发送给他,这样反编译获取的那个秘钥也就没用了,之后的秘钥就在内存里面更新为了保护接口的安全和核心代码不被二次打包,感觉客户端还是需要做些反编译的工作,这属于系统级别的安全。
可以借助第三方安全平台:http://www.ijiami.cn/做apk加密
-
Java编程:API接口防止重放攻击(重复攻击)
2019-08-05 17:44:14我们在进行 API 接口设计时,一般都要考虑接口的防止篡改攻击和防止重放攻击。防篡改攻击请参考我的另一篇博客: Java编程:API接口防篡改、签名、验签原理 ,本篇文章主要介绍防止重放攻击。 重放攻击(Replay ... -
java接口防止XSS攻击的常用方法总结
2018-08-16 10:46:38在前面的一篇文章中,讲到了java web应用程序防止 csrf 攻击的方法,参考这里 java网页程序采用 spring 防止 csrf 攻击. ,但这只是攻击的一种方式,还有其他方式,比如今天要记录的 XSS 攻击, XSS 攻击的专业解释... -
API接口如何防止参数被篡改和重放攻击?
2021-01-29 08:00:00即生鲜电商中API接口防止参数篡改和重放攻击 目录 1. 什么是API参数篡改? 说明:API参数篡改就是恶意人通过抓包的方式获取到请求的接口的参数,通过修改相关的参数,达到欺骗服务器的目的,常用的防止篡改的方式是... -
如何防止短信验证码接口、登录注册入口被恶意调用攻击?
2021-01-05 17:25:50最近遇到一个关于防止短信验证码被刷的问题,相信很多朋友也遭遇过这个被刷短信的问题。因此,就“防止验证码短信被盗刷”作一个总结和分享。 1、短信验证码是什么? 1.短信验证码是什么: 短信验证码是通过发送... -
.NET添加时间戳防止重放攻击
2021-01-03 02:10:36如过客户端在向服务端接口进行请求,如果请求信息进行了加密处理,被第三方截取到请求包,虽然第三方无法解密获取其中的数据,但是可以使用该请求包进行重复的请求操作。如果服务端不进行防重放攻击,就会参数服务器... -
如何防止恶意攻击短信验证码接口
2021-01-29 00:00:21如何防止恶意攻击短信验证码接口1 自研技术2 自研验证码被破解怎么办?3 所有图形验证码都被破解怎么办? 1 自研技术 1、手机号码限制:限制单个手机号码每天的最大发送次数。超过次数不能发送短信,可以考虑将手机... -
记录-java开发API接口防止重放攻击和参数防篡改
2019-08-09 09:44:06重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击可以由发起者,也可以由拦截并重发该数据的... -
电商系统中API接口如何防止参数被篡改和重放攻击?
2020-11-10 08:45:00说明:目前所有的系统架构都是采用前后端分离的系统架构,那么就不可能避免的需要服务对外提供API,那么如何保证对外的API的安全呢?即生鲜电商中API接口防止参数篡改和重放攻击目录1. 什... -
网站接口被恶意攻击怎么办
2018-09-27 21:20:30目前攻击最常见的就是“短信轰炸机”,由于短信接口验证是App,网站检验用户手机号最真实的途径,使用短信验证码在提供便利的同时,也成了呗恶意攻击的对象,那么如何才能防止被恶意调用呢? 1.图形验证码: 将图形... -
API接口防止参数篡改和重放攻击
2019-04-08 10:39:37{近期领导要求我对公司业务的支付类的ocr接口做研究,是否存在支付接口重放攻击,so。。。。。} API重放攻击(Replay Attacks)又称重播攻击、回放攻击。他的原理就是把之前窃听到的数据原封不动的重新发送给接收方... -
java面试(1)如何防止恶意攻击短信验证码接口
2021-01-28 22:02:16如何防止恶意攻击短信验证码接口1 自研技术2 自研验证码被破解怎么办?3 所有图形验证码都被破解怎么办? 1 自研技术 1、手机号码限制:限制单个手机号码每天的最大发送次数。超过次数不能发送短信,可以考虑将手机... -
如何防止短信接口被刷?
2020-08-04 09:27:35给公司或个人造成大量的金钱损失,造成这种情况原因主要是在产品实际设计过程中,有些产品人员因为对技术实现不太了解,防范意识薄弱,简单或直接忽略对短信验证码进行限制,这才造成短信接口恶意被不法分子利用。... -
接口幂等性处理(接口重复调用 || 表单重复提交 || 防止csrf 攻击)
2019-04-27 23:15:53幂等性: 接口重复调用(http延时机制) 及 表单重复提交 项目demo: ...提取码:locz 效果展示: 访问 /test 每次调用生成唯一token ...防止了重复提交问题 远程rpc接口同理,token 放入 http 请求头 在此处判断是... -
接口安全设计:使用token+sign+时间戳,防止中间人和dos攻击
2021-01-24 16:49:28在代码层面,对接口进行安全设计一、使用token进行用户身份认证二、使用sign防止传入参数被篡改三、用时间戳防止暴力请求 一、使用token进行用户身份认证 用户身份认证的流程图如下: 具体说明如下: 1、用户登录时... -
如何防止验证码接口被恶意攻击
2017-07-04 10:34:54关键词:短信轰炸机 短信接口验证码是网站、App...容易被攻击的接口:注册时用户输入号码就可直接触发短信!最容易被短信轰炸机利用,只要网站被搜索引擎收录,短信轰炸机就很容易检索到注册页面。 推荐 -
SpringBoot防止大量请求攻击
2021-11-22 21:50:28我们使用Jmeter测试同学的网站时,就会出现网站无法访问,403等错误。... } } 使用python发送100次请求,可以发现请求被拦截了多少 对于注解,我们也可以不使用它,但是我们需要在拦截器中写入固定的参数。 -
PHP访问频率限制,防CC攻击,支持上万并发
2021-06-28 19:28:06将waf.php文件上传网站里,在核心文件里加入引用代码:include('waf.php');根据你文件存放的路径修改 -
web安全措施.你写的WEB API接口如何预防黑客攻击_webservice接口实例
2020-12-25 20:23:22web安全措施.你写的WEB API接口如何预防黑客攻击 现在WEB开发都是动静分离 后端编写API接口 那如何防止黑客攻击你的HTTP API接口呢 -
(转)API接口防止参数篡改和重放攻击
2018-08-18 23:05:58HTTPS并不能防止这种攻击,虽然传输的数据是经过加密的,窃听者无法得到数据的准确定义,但是可以从请求的接收方地址分析出这些数据的作用。比如用户登录请求时攻击者虽然无法窃听密码,但是却可以截取加密后的口令... -
Spring boot通过AOP防止API重复请求代码实例
2020-08-25 07:58:20主要介绍了Spring boot通过AOP防止API重复请求代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 -
Spring Boot教程十七:防止接口恶意刷新和暴力请求
2019-10-13 13:15:15在实际项目使用中,必须要考虑服务的安全性,当服务部署到互联网以后,就要考虑服务被恶意请求和暴力攻击的情况,下面的教程,通过intercept和redis针对url+ip在一定时间内访问的次数来将ip禁用,可以根据自己的需求...