[闲聊] Injection in API HTTP request from frontend?

楼主: CMJ0121 (请多指教!!)   2019-07-04 20:21:40
新的系列 板上大家还是害羞提出问题
我有空的时候从 stackexchange 上面拿问题讨论
来自 security.stackexchange.com [0] 的发问
标题是:Security implications of injection in api http request from frontend?
很像是设计 API 的工程师 初次接触到资讯安全领域的人会提出来的问题
对于 API 实作方面上 担心是否会出现 Injection 相关的安全性漏洞
他的提问算是蛮粗略的
像是 article = httpLibrary.get('api.mysite.com/articles/' + articleId); 这样的函数
是否存在 CRLF 等其他的安全性问题
基本上我会选择回答 这取决于你还做了哪些事情
单从一行 code 来看它本身当然没啥问题 有机会出现问题的是 httpLibrary.get 的实作
既然是别人实作上的问题 那可能发生的漏洞就会很多
如果参照 OWASP Top 10 - A1 Injection [1] 的建议
要避免 Injection 的方式可以使用
- 安全的 API 代表要看 httpLibrary.get 是否太久没更新、或者有安全性漏洞
- 白名单的输入值检查 做额外的 articleId 像是只允许数字
- 跳脱特殊字符 跳脱除了 A-Za-z0-9 以外的所有字符
[0]: https://security.stackexchange.com/questions/212908
[1]: https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf
作者: otapiggy (otapiggy)   2019-07-10 01:29:00
thanks for sharing.
作者: wavek (狗猫猫 m(OvO)m)   2019-07-17 18:49:00

Links booklink

Contact Us: admin [ a t ] ucptt.com