当前位置:首页 > 教育培训 >

打开网页后端接口连接异常(后端接口连接异常如何解决)

来源:原点资讯(www.yd166.com)时间:2023-05-10 12:58:29作者:YD166手机阅读>>

最近发现公司账户注册量连续几天暴涨,因为业务上并没有做特别的运营活动,可以肯定是有人在刷账户注册接口了。

通过elk日志监控,查看请求注册接口的客户端来源IP,没有发现有过多请求的IP地址。但是我们的注册接口有多个版本,可以查到有一个接口的请求量很大,其他接口还是正常的平均水平。不过虽然这个接口请求量很大,但是客户端来源IP基本没有重复的,找了一些IP,查了一下IP归属地,五花八门,哪里都有,猜测可能是使用了代理IP。但是连续几天都是这种情况,怎么会有这么多的代理IP,即便是购买的代理IP库,也不至于这么多IP吧,所以猜测可能是web后台获取并传递到后台接口的客户端IP是错误的。于是联系运维,查看WAF信息,可以看到这些请求的真实客户端IP,以及HTTP头信息,发现web后台获取的客户端IP是HTTP头里的 X-Forwarded-For 字段值,而这个字段是访问者可以任意填写,可以伪造的,问题原因算是找到了。

打开网页后端接口连接异常,后端接口连接异常如何解决(1)

webserver 日志

打开网页后端接口连接异常,后端接口连接异常如何解决(2)

WAF信息

解决办法:web后台Nginx中将WAF传递的真实客户端IP追加写入到X-Forwarded-For字段,web后台读取X-Forwarded-For字段的最后一个IP作为真实客户端IP。有了真实客户端IP,后台的IP防刷限制就可以起到作用。

客服反馈,有用户反映有人用别人账号就能直接查到该账号绑定的手机号,怀疑有接口漏洞。

客服提供了几个被查到手机号的账号,通过elk日志查看这些账号近期接口调用情况,没有发现什么异常。想到最近上线的一款应用有用到查询用户信息的协议,怀疑是不是有bug,打开应用主页,debug模式查看用户信息相关请求,发现返回信息都是做过脱敏的,比如手机号中间四位用*号替换等。复制请求链接,浏览器新页面打开,修改请求链接的用户ID字段,发现竟然可以查到任意用户的个人信息,包括手机号、身份证,虽然都已脱敏,但也是不应该这样的。如果有人利用这个接口查询到任意一个账号绑定的手机号,只有中间四位未知,只需要有一个接口能用来验证手机号,很容易验证出正确的值。再次到elk日志查看用来验证手机号是否绑定的接口,果然近期有大量请求。因为这个协议中没有涉及账号信息,所以之前用账号查询接口请求情况时没有发现异常。继续查看协议的请求来源IP,发现同样是来自这个新上线的应用。打开应用首页,发现在手机注册账号之前会先调用接口查看手机号是否存在。问题基本确定。

打开网页后端接口连接异常,后端接口连接异常如何解决(3)

解决办法:应用开发人员修改bug,只允许用户查看自己的个人信息;脱敏数据进一步脱敏,只显示前两位及最后一位,中间数据全部*号代替;优化注册流程,可以在注册提交之后再提示是否存在,因为手机注册时需要验证手机验证码,可以起到一定的防刷作用。

栏目热文

后端获取前端页面地址(后端如何处理前端传过来的请求)

后端获取前端页面地址(后端如何处理前端传过来的请求)

一、form表单提交(常用)from表单把所有属于表单中的内容提交给后台,例如输入框,单选框,多选框,文本域,文件域等。...

2023-05-10 12:50:24查看全文 >>

调用后端服务出现异常(后端服务性能测试怎么测)

调用后端服务出现异常(后端服务性能测试怎么测)

一般前端开发同学,对日志其实不太敏感,毕竟前端大多数情况下,不太关心日志。即使有,也可能调用一些第三方的统计,比如百度统...

2023-05-10 12:58:22查看全文 >>

后端请求地址怎么设置(前端是如何给后端传数据的)

后端请求地址怎么设置(前端是如何给后端传数据的)

一、ajax介绍ajax 是前后端交互的重要手段或桥梁。它不是一个技术,是一组技术的组合。ajax :a:异步;j:js...

2023-05-10 12:45:15查看全文 >>

后端服务失败怎么回事(后端服务性能测试怎么测)

后端服务失败怎么回事(后端服务性能测试怎么测)

今天我们来讨论微服务架构中的自我恢复能力。通常情况下,服务间会通过同步或异步的方式进行通信。我们假定把一个庞大的系统分解...

2023-05-10 12:49:49查看全文 >>

服务器处理url请求的方法(怎么将本地的url部署到服务器上)

服务器处理url请求的方法(怎么将本地的url部署到服务器上)

我们先来认识一下web服务器主要功能。处理哪些URL请求怎么处理这些URL请求下面我们主要针对这两个功能来进行讲解。一、...

2023-05-10 12:45:53查看全文 >>

java后端获取当前页面的url(java 获取接口的所有子类)

java后端获取当前页面的url(java 获取接口的所有子类)

1、使用 java.io.FileString path = "src/java/resources";...

2023-05-10 13:03:42查看全文 >>

后端没有请求方式是怎么回事(前端和后端怎么连通起来)

后端没有请求方式是怎么回事(前端和后端怎么连通起来)

来自 | 海角在眼前链接 | www.cnblogs.com/lovesong/p/5533149.html今天与另一位...

2023-05-10 12:37:09查看全文 >>

怎样获取web服务地址(web获取mac地址)

怎样获取web服务地址(web获取mac地址)

#本文仅用于网络安全研究学习任何未经授权的入侵都是违法行为Web服务器信息收集域名收集 : ping www.baid...

2023-05-10 12:54:04查看全文 >>

服务器获取请求地址(手机代理服务器地址和端口)

服务器获取请求地址(手机代理服务器地址和端口)

jsp里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有...

2023-05-10 12:52:27查看全文 >>

调用后端返回的url 需要解析吗(后台接口返回的内容在哪里)

调用后端返回的url 需要解析吗(后台接口返回的内容在哪里)

作者 | 孟祥_成都来源 | https://juejin.cn/post/6928677404332425223前言年...

2023-05-10 12:37:19查看全文 >>

文档排行