其它的 HTTP 方法都被评为中级风险,不整改估计过不了安全关,系统没法上线,这事如何破? 我严格要求团队遵循 restful 规范,写了一堆 PUT/Delete/BATCH
101
ic3z 2023-07-26 07:19:34 +08:00 via iPhone 1
你把首页限制下。应该可以过。
|
103
Nazz 2023-07-26 07:44:08 +08:00 via Android
@lesismal restful 这种拙劣的抽象能火只能说技术领导没点眼力劲,对开发速度和运行速度有害无益
|
104
dayeye2006199 2023-07-26 07:52:45 +08:00 via Android
如果你是乙方只能把 shi 吃了,还要说好吃好吃,专业专业
|
107
cnevil 2023-07-26 08:33:37 +08:00 1
put 和 delete 请求确实是有风险吧,只是说风险,后端配置不当的时候会被利用
不过安全行业是这样的了,我觉得你还是做好改的准备吧 |
108
Vindroid 2023-07-26 08:40:09 +08:00
找的信安来评估的啊,那你想过审上线就按照他们的建议改,没得选,也别纠结。如果你想写小作文说明你们现在的做法是安全的,他们看都不会看的,只会浪费时间和金钱
|
109
xwayway 2023-07-26 08:40:49 +08:00
@nullpoint007 #50 可能是所有端口不能用默认的,比如说 mysql 不能 3306 ,理所当然 https 不能 443 。哈哈,我司就是这种奇葩规定
|
110
cnevil 2023-07-26 08:43:23 +08:00
顺手找了两个,没仔细看
put:CVE-2017-12615 delete:CVE-2022-40309 至于你想用他跟 get 、post 请求没区别来解释,我觉得不太说的过去,虽然 get 、post 也会因为配置不当或者中间件自身问题造成一些漏洞,但是 get 和 post 是被广泛用来传递参数的,基本上能称得上是必选项,而你用的其他请求属于“可选项”,从风险管控的角度来说,get 和 post 可以叫做可接受风险 有时候我也看着一些所谓的低危漏洞很不爽,但是,没办法 |
111
sunamask 2023-07-26 08:47:29 +08:00
歪个楼嘻嘻。
虽然完全看不懂大家在讲什么,但这种一起讨论技术问题,群策群力的感觉真的很棒。 |
112
sunamask 2023-07-26 08:47:48 +08:00
歪个楼嘻嘻。
虽然完全看不懂大家在讲什么,但这种一起讨论技术问题,抽丝剥茧 |
114
mosfet 2023-07-26 09:22:50 +08:00
1. 经验主义
2. 让你们整改对他而言没有任何坏处,还显得“专业” |
115
dj721xHiAvbL11n0 2023-07-26 09:26:07 +08:00
|
116
redsun368573607 2023-07-26 09:26:36 +08:00
弄个反带中间改协议吧
|
117
f14g 2023-07-26 09:47:16 +08:00 via Android
这种烂规定也就政府、国企有吧?
什么山炮规定,恶心 |
118
cexgwent 2023-07-26 09:56:57 +08:00
安全就安全,有几把 QA 什么事,看你也是个二把刀,狗屁不通的
|
119
wheat0r 2023-07-26 10:09:46 +08:00
实际上很多 WAF 默认策略就是把 POST 和 GET 以外的请求方式列为中风险。
|
120
5sheep 2023-07-26 10:40:49 +08:00
交付过 N 多个项目,个人认为
restful 新增的的几个谓词 虚头八脑的玩意。 url 命名完全可以替代他,还比他更易读。 /book/getById/5 /book/deleteByName/6 /book/translateAll 谓词只用 get post 就可以了。 get 说明是 url 传参 post 说明 body 里有数据 |
122
Tink 2023-07-26 10:48:01 +08:00
有这种说法
|
123
Huelse 2023-07-26 11:48:08 +08:00
因为以前 form 表单只支持 get 和 post ,一些代理服务器的安全策略会屏蔽这些请求,上 cdn 后这些请求类型可能要额外处理,以前的一些浏览器不支持等
|
124
smallWang 2023-07-26 11:59:01 +08:00
restful 规范 大家都在用么 , 我一直 post 一把梭🤔,post 真香
|
125
sankooc 2023-07-26 13:35:24 +08:00
post + http code 200 只是配合没见识的同事而已
|
127
xuecat 2023-07-26 13:58:06 +08:00
@infactory 我不认同你的说法,亚马逊云服务器内部就很多 patch ,put 。推特也有 patchput ,为此还诞生了 graphql 。这能上大项目啊
|
128
ooQAQoo 2023-07-26 14:00:34 +08:00
@dog82 外部团队来做的评估一般就是用通用的一些规范条例来套你们这个项目,说得更简单点就是钱没花够或者对方的水平也就如此,采用一刀切的方式来做项目
|
129
chairuosen 2023-07-26 14:17:10 +08:00
学汤姆克鲁斯,换一个安全团队
|
130
laiwei 2023-07-26 14:20:20 +08:00
你给安全说,POST 、GET 也不安全。
|
131
nekoneko 2023-07-26 14:33:01 +08:00
这真是守旧的安全团队啊
说不好听就是垃圾团队 |
133
Mac0ne 2023-07-26 14:56:16 +08:00
OPTIONS 可以探测服务器资源 DDOS 攻击你呢?
DELETE 可以发送删除命令,删你数据呢? HARD 其实没啥卵用 PUT 可以从客户端传送数据取代指定的文档内容,被篡改呢? TRACE 回显服务器请求,作为管理员的你需要通过 web 去显示该内容? |
135
liyhu 2023-07-26 14:59:08 +08:00
都行
|
138
blackshow 2023-07-26 15:23:49 +08:00
这是具有中国特色的 Restful 初级阶段
|
139
hefish 2023-07-26 15:26:01 +08:00
开端口也不安全,接网线也不安全,通电也不安全。。。
|
141
infactory 2023-07-26 16:40:44 +08:00
@xuecat 用 patch put 并不就是 restful ,graphql 更是和 restful 毫不相干。
何况,如果一个业务系统的 api 不是全都遵守 restful 规范,这说明了 restful 是失败的,是局限的,是不适用于复杂业务系统的。 |
142
baiyi 2023-07-26 16:45:31 +08:00
@EchoGroot #140 我以为他查一下 rest 的作者,就能明白 http 的设计可不是从 webdav 那抄来的,结果他给我回复的文章可能他自己都没仔细看,就得出个 restful 是抄袭 webdav http method 的结论。
毕竟嘴贱问了,又不好不回,但真要计较,回复太多又嫌累。是我的错,下次不回了 |
143
brader 2023-07-26 16:48:03 +08:00
入行开始我就把 restful 踢一边了,只用 post/get ,我写的接口一般支持这 2 种,但是我不告诉前端,get 方式都是我自己调试方便偷偷用
|
144
zpf124 2023-07-26 17:08:07 +08:00
@Mac0ne
你提到的几个方法里,OPTIONS HEAD 这些几乎标准后端默认都支持,但你说可以用来 DDOS ,那 GET 不也一样可以,而且效果还更好。 PUT 、DELETE 、TRACE 又都不是标准 http 服务会默认提供标准行为模式的方法,甚至老实说 TRACE 我都实际当中没用过,许多 http 软件都完全不支持这玩意。 不要觉得全世界所有人用这几个方法都是去搞 WebDAV 服务了,觉得这几个会影响安全,那只能说你们运维是真的水。 我们项目有以下几个接口,麻烦你分析一下哪个会产生篡改数据的风险,哪个会产生数据删除的风险,哪个会影响服务器上的磁盘文件: DELETE /api/users/{id} PATCH /api/system/info PUT /api/stations 如果这几个接口有风险, 那请问,以下接口为什么在你的认知里就是安全的,当然如果你认为以下接口也不安全,那麻烦给出整改意见: POST /api/delUser?id={} POST /api/system/updateInfo {a:1,b:2} POST /api/station/addStation {name:'xx',desc:'abc'} |
145
zpf124 2023-07-26 17:15:41 +08:00
|
146
u20237 2023-07-26 17:21:57 +08:00
如果一个狗洞只允许 dog 通过,那就重开把,变成 dog 再通过。
rm -rf /home then create a user |
147
0x20H 2023-07-26 17:22:36 +08:00
HTTP PUT 请求方法创建一个新的资源或用请求的有效载荷替换目标资源的表示
HTTP DELETE 请求方法用于删除指定的资源。 HTTP GET 方法请求指定资源的表示 HTTP POST 方法发送数据给服务器 各位想的好复杂,看不懂了。 PUT 和 DELETE 这两个方法的功能确实存在直接威胁,GET 和 POST 的方法不会存在直接威胁呀。PUT 和 DELETE 方法进行安全处理后,确实会避免发生威胁事件,但这不在外部安全团队的考虑范围内(尽量避免不必要的安全隐患[图省事一刀切])。如果是内部安全团队,有预防方案,进行审核后大概率是可以放行的 |
149
proxytoworld 2023-07-26 17:38:31 +08:00
@shyangs 你图片里面 -d 里面有一个参数就是你上面框出来的
|
150
shyangs 2023-07-26 17:45:50 +08:00
@proxytoworld
那圖片的意思是 淘寶網就算 api 語義是 get ,還是用 POST 請求 (看不懂請去學 curl ),淘寶網 API 一律用 POST ,不用 RESTful ,不管語義就是 POST. |
151
jiangzm 2023-07-26 17:52:29 +08:00
断网吧
|
152
freestyle 2023-07-26 20:52:43 +08:00 via iPhone
让我想起多年以前刚出来时我也因为要 restful 跟前端 battle.
直到我要给服务加监控时, restful path 带了参数不好统一处理上报为有意义的名字. 直到用 rpc pb 时想通用地映射处理为 http server. 对于纯后台接口, 还是 get post 一把梭方便. restful 的实用意义远不如统一风格的 post |
153
lesismal 2023-07-26 21:31:35 +08:00
> 看到 Go 社区都是这种 b 人我就放心了
@Slurp 小子嘴巴放干净点。即使是讨论技术,你可以用观点来反驳,张嘴管别人叫 b 人 是从小家里大人不管教学校也不教吗? 另外,你技术是有多屌?你敢保证你自己喜欢的那些东西就是好的美丽的? 我上面提到的一众都是垃圾的东西,我都能喷出个所以然、为什么这些东西垃圾,只是喷了很多次懒得每次再打字说一遍罢了。 既然我不喜欢的那些东西看样子你都挺喜欢,那目测你只是个搬砖的罢了。 技术或者技术审美差也就算了,还没教养,而且还有好几个点赞的,真是一丘貉。 |
154
lesismal 2023-07-26 21:38:32 +08:00
@Slurp
这是我两个库: https://github.com/lesismal/nbio nbio 这个,截至目前 go 社区 poller 框架唯一支持 tls/http1.x/websocket ,poller 框架里性能也基本是不比其他任何一个低 https://github.com/lesismal/arpc arpc 这个是我的 go rpc 框架,功能不只是 rpc 、支持的业务类型比 rpc 广泛得多,至于性能,你可以去看三方评测: https://colobu.com/2022/07/31/2022-rpc-frameworks-benchmarks 我好奇你这种还有给你点赞的小子们都是什么技术水平和技术审美,你们回复这些内容时候自己把问题想明白了吗,你们觉得我这种是属于 b 人 的时候,你们自己对我说的那些垃圾理解到位了吗? 本来说了不再回复这个帖子了,一上来就看到个 b 人,真是后辈可期! |
155
Slurp 2023-07-26 22:07:18 +08:00 1
@lesismal 🤣 难绷,但我起码知道 PL 十几年理论不用、用个 tuple 模拟 tagged union 反反复复 if err 是哪个语言。
除了 CRUD 和搬砖的找不到词汇了,喷人水平也如此之低,不愧为大道至简!我也懒得和你 bb ,FrankHB 这种起码有点乐子,你是啥?写个 C++ 写个 Rust 不会,复杂点的概念理解不能,学了个 Go 所谓「大道至简」天天的在这里怼天怼地怼空气。😁 喷个 b 人都能说我没教养,那后面还有更难听的呢。 我说你乱喷不代表我支持,上来就是稻草人谬误可见逻辑水平有多低…… 被戳到痛处就是经典话术我能写你能不能写,你写的好不好和你观点垃圾不垃圾有啥关系?没活了咬打火机吧。 😁 反正我要驳倒你很简单,TCP 、HTTP 、RESTful 、Actor 、FP 、设计模式里随便选一个就够你吃一壶。动不动萌生「我写的比这些好十倍」的想法属于是中二和无知的表现了。你这种 AOE 还想不被喷?纯纯的是想多了。 😁 你要喷设计模式,那我请你在 Go 里不用 Visitor 模式实现一下解析 AST 。 😁 你要喷 FP ,那我请你了解一下 Algebraic Effects 。 😁 你要喷 TCP ,那你先解决一下中国运营商阻塞 UDP 的问题。 乱七八糟指责我一通「敢保证你自己喜欢的那些东西就是好的美丽的」,却没发现自己的主张多么难以落地,就连你给出的替代方案,竟然也不是那么完美。🤣 |
156
lesismal 2023-07-26 22:36:53 +08:00
@Slurp
> 写个 C++ 写个 Rust 不会,复杂点的概念理解不能,学了个 Go 所谓「大道至简」天天的在这里怼天怼地怼空气。 看样子你不只是没教养,连逻辑都混乱。我都好奇了,我十几年前就在写 c/c++,因为它俩开发效率低产出慢,等你写完功能上线了市场都被别人占领完了才来搞 go ,怎么就不会 c++了。你这个逻辑推理能力是真的好强啊! > 😁 喷个 b 人都能说我没教养,那后面还有更难听的呢。 你随口说别人是 b 人,并且表情还这么欢乐戏谑,那正好证明我说你没教养的逻辑是正确的呀。后面还有什么你尽管讲出来好了,我也乐于见识一下你素质到底有多低 > FrankHB 这种起码有点乐子 幻 他活在自己的语言律师的乐子里,这是他的自由。但是我可从没见他像你这样随口管别人叫 b 人。先抛开技术不谈,单就幻的素质教养就比你高出很多的。至于技术,他是偏学院也好理论也好,你是什么派别也好,我这种是实践派,技术不只是你对哪些语言语法达到多高的理解就有多高的社会贡献或者价值,你要是真造了什么牛逼语言造福一个领域和一大片程序员那也是你的丰功伟绩,但如果不是,可能还不如实践派的大伙对社会贡献来得实在。 而且既然看你口气也都是老年人了,那我也用因为觉得后辈不可期对未来失望而跟你在这生气了,最多你就是个顽古不化自以为是能玩弄一点编程语言艺术的小丑罢了,因为毕竟我没听说过哪位讲中文的大佬对某个编程语言领域做出了什么超凡脱俗的巨大贡献或者开拓。 所以也别扯犊子那些虚头八脑的,比如你可能喜欢像跟幻讨论问题的那些话题,我是实践派,要真论什么语言语法,那你牛逼我不懂那么多,我说的那些个也不是语言本身的,懒得跟你浪费口舌😁 > 反反复复 if err 是哪个语言。 天下也不是只有异常系统或者 rust 的那个什么来着或者其他一些这几种姿势是唯 N 审美,你不喜欢 if err ,喜欢的人多了去了,我只见 go 越来越多人喜欢,越来越多业务交给 go 做。 最简单的一点,那么多大厂搞它替换其他很多语言,合着你天下第一、别人那些大厂的技术大佬都不如你呗?那请你继续活在你自己的世界里自娱自乐吧,这样挺好的 偶尔出来像这样咬一口别人也没关系,我不介意 > 😁 你要喷设计模式,那我请你在 Go 里不用 Visitor 模式实现一下解析 AST 。 > 😁 你要喷 FP ,那我请你了解一下 Algebraic Effects 。 > 😁 你要喷 TCP ,那你先解决一下中国运营商阻塞 UDP 的问题。 这逻辑就更混乱了呀,如果一个东西是垃圾,还要让我去花更多时间去深入学习理解它,这不更是在浪费我的时间吗? 你门口遇到一坨狗屎,单观其形状颜色甚至临近被它气味熏到时就知道它是不好的了,难道你还真要上去吃几口深入研究下为什么它不好? 我这个人非常工程实践实用主义,我只原意把时间花在那些有利于工程实践的事情上。 所以拜托你不要以为自己读了点什么垃圾,就一定要别人也要学会这些垃圾然后再跟你讨论问题,太狭隘,太逻辑混乱! 简直莫名其妙,十分搞笑! 送你个词,沉没成本效应:沉没成本效应(Sunk Cost Effects)是指为了避免损失带来的负面情绪而沉溺于过去的付出中,选择了非理性的行为方式。 因为听你的口气,自是学了不少 CS 的知识,因为投入的太多舍不得放弃,所以在那自嗨得不行。 有这个能读明白那些垃圾知识(虽然垃圾,但毕竟也挺复杂)的智力水平,至少也是上过不错的学校,自己读瞎了却不自知,可惜了你还有和你类似的一种人了。 😁 😁 😁 |
157
lesismal 2023-07-26 22:41:18 +08:00
学了那么多年复杂的 CS 理论,反倒是连基本逻辑都越来越乱了,而且越来越像孔乙己。
真是,哎,可惜,可惜了 |
158
Slurp 2023-07-26 22:58:22 +08:00
@lesismal Go 语言爱好者,大道至简爱好者,入场!
@FrankHB C++ 语言爱好者,语言律师,入场! @duangsuse Python 、JS 、绝句爱好者,民科入场! @skywind3000 C 语言爱好者,KCP 作者,入场! @baobao1270 推特小网红,运维爱好者,入场! @himself65 推特小网红,TypeScript 爱好者,RESTful 爱好者,入场! 我也不说别的,我就简单召唤一下。😎 |
159
proxytoworld 2023-07-26 23:59:34 +08:00
@Slurp 绷不住了,引战 18
|