[技术讨论]提供公开透传接口有什么风险?

2020-09-13 23:06:32 +08:00
 vertigo

最近在做一个类似个人数据面板的网页小产品,期望用户可以通过拖拽的方式简单临时创作一个可视化面板.

一个功能是用户可以在我的网页上调用自己写的接口

但是众所周知,让每一个接入的用户做一遍接口跨域属实有点麻烦

所以我计划开放 get 和 post 两个接口,用户使用 ajax 提交请求 url,methods,params/data 等数据到我的服务器上,由服务器做一个代理请求用户提交的 url 并透传回前端,这样易用性和稳定性都不错

但是我不太了解这样做是否有风险,如果有恶意用户想要攻击会造成什么样的后果

请大家赐教

3577 次点击
所在节点    编程
7 条回复
i0error
2020-09-13 23:21:07 +08:00
url 白名单(自动审核或者人工审),请求限频
vertigo
2020-09-14 00:29:59 +08:00
@i0error 请求限额必须有,我是说如果不限制 url,可以从什么角度来搞破坏呢?
WordTian
2020-09-14 00:38:15 +08:00
@vertigo 扫描你内网开的 web 服务
WordTian
2020-09-14 00:49:19 +08:00
@WordTian 关键词 SSRF
vertigo
2020-09-14 09:43:27 +08:00
@WordTian 子域名扫描?这个只要提供 web 服务就会有吧
WordTian
2020-09-14 11:49:37 +08:00
@vertigo 你理解的有偏差,比如我把 url 设成 http://127.0.0.1:port/ 我就能探测你机器上没对外开放的 web 服务,如果我把 127.0.0.1 换成别的内网地址,就能探测你的内网服务。总之是给了别人一个攻击的入口
WordTian
2020-09-14 11:59:57 +08:00
而且如果你没做好校验,我甚至能把协议换掉,去探测 ftp,file,dict 等协议,攻击方法太多了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/706698

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX