sql注入和跨站点脚本还是一回事吗?[关闭]

Is sql injection and cross-site scripting still a thing? [closed]

提问人:Robybot9 提问时间:5/12/2020 更新时间:5/18/2020 访问量:86

问:


想改进这个问题吗?更新问题,以便可以通过编辑这篇文章用事实和引文来回答。

3年前关闭。

在查找有关 Web 攻击的一些信息时,SQL 注入和跨站点脚本始终在桌面上。我无法想象这种古老的网络攻击,在互联网上可以找到很多关于如何预防它的信息,仍然在最常用的网络攻击的前 10 名中?对此有什么解释吗?

XSS SQL注入

评论

1赞 Luca Bruzzone 5/12/2020
我认为这更像是一个堆栈交换问题,然后是一个堆栈溢出问题,我会投票支持关闭
1赞 Bill Karwin 5/18/2020
@LucaBruzzone,Stack Overflow 需要有明确正确答案的编码问题,对吧?这个问题的答案很明确,“是的,这些安全漏洞仍然存在。
0赞 Luca Bruzzone 5/18/2020
好的,有道理。啊不,我刚刚看到它实际上已经关闭了意见

答:

2赞 Your Common Sense 5/12/2020 #1

数量和质量是两只不同的野兽。“大量信息”并不意味着有用的信息。相反,有许多相互矛盾、开放式和模棱两可的建议。

例如,直到今天,OWASP仍将“转义所有用户提供的输入”列为主要(原文如此!)防御。坦率地说,这是无稽之谈

另一个例子是几十年来的迷信,听起来像是“逃避可以防止SQL注入”。

鉴于很多这样的误导性或开放式建议,比如我们“总是验证用户输入”(没有一个提示意味着哪个特定的验证),初级开发人员会变得非常困惑,并让注入。

3赞 Bill Karwin 5/12/2020 #2

我来讲个故事。

我母亲曾经和一个团体一起做志愿者,去当地的大学校园帮助学生登记投票(在美国,人们可以在 18 岁时投票,但他们没有默认注册,他们必须填写表格)。她和她的小组会在四边形中摆放一张桌子,上面放着表格,并指导学生填写表格并邮寄。

经过多年的努力,小组中的另一位女性说:“我们来到校园是为了帮助这些孩子注册十年!他们什么时候才能自己做?

我妈妈和其他人看着她,缓缓地说:“每年都有一批新的学生满18岁。

这同样适用于防御 SQL 注入和跨站点脚本。每年都有新的程序员进入这个行业。

事实上,研究表明,软件开发人员的数量每五年翻一番,这意味着在任何给定时间,50%的软件开发人员都是我认为经验不足五年的“初级开发人员”。当这些人成为高级开发人员时,在他们之后进入这个行业的年轻开发人员又多了。

他们都需要接受培训,了解SQL注入和跨站点脚本防御,然后才能被允许将代码放在实时服务器上。

一次一个。

每年。

只要有软件开发人员,SQL注入和跨站点脚本将继续存在。


我还可以参考 SQLi Hall-of-Shame,这是一个网页,引用了有关利用 SQL 注入漏洞造成的数据泄露的新闻报道。似乎每个月都有多个这样的故事,而这些只是成为新闻的闯入者。这无疑是冰山一角。