[讨论] 为什么SQL注入和XSS漏洞会这么泛滥?

楼主: dp2046 (Kevin)   2020-02-04 01:59:43
SQL注入和XSS是OWASP TOP 10中的两个常见的骇客攻击手法
也算严重等级高的漏洞
在ptt讲到这两种漏洞
可能很多人都会觉得开发者不应该犯这种低级错误
但是最近去看HITCON ZeroDay漏洞通报平台(https://zeroday.hitcon.org/vulnerability/disclosed)
台湾的网站光这两种漏洞应该就接近50%
而且一堆网站还是知名的公司、政府机关和学校
就我所知要防御这两种攻击
可以过滤特殊字符、加入X-XSS-Protection这个security header针对XSS攻击、安装WAF(网站应用层防火墙)
不过也有在一些渗透测试教学的网站看到
骇客似乎还是可以透过各种手段绕过层层防护机制
(e.g. WAF的SQL注入绕过手段和防御技术 https://kknews.cc/zh-tw/code/arvg6.html
XSS 绕过技术 https://www.itread01.com/content/1545486962.html)
所以SQL注入和XSS漏洞会这么泛滥
是开发者资安意识太薄弱
可能连SQL注入和XSS是什么都不知道?
或是就算知道也不当一回事,反正网站能正常运作就好?
还是骇客太会钻漏洞了?
作者: alan3100 (BOSS)   2020-02-04 02:11:00
prepared/parameterizedstatement都不提谈什么防sql注入
作者: splitline (台ㄎ废文王)   2020-02-04 02:41:00
X-XSS-Protection只能防反射型的 而且chrome已经废除了至于firefox根本没这个功能bypass the auditor is nothing but a CTF challenge(O至于 sql 注入的确通常是因为开发者太废导致的
作者: guanting886 (Guanting)   2020-02-04 07:55:00
大部分开发者都正向流程开发 加上网站程式设计入门槛低 各式领域人都有参与 知识跟经验水平都不一样除非你有在特别资讯安全关注这块 或站被打掉过 且真的去检视攻击手法为何 不然就真的是这个样子好加在有程式框架的出现,这种会先天上的设计约束一些设计让攻击手法的花样受限制例如:因为框架普遍会在 set cookie 的 header 补上httpOnly 导致你没有办法透过 javascript去劫持使用同一个网站的使用者的cookie里的资料以前的人怎么可能会知道这个事情 只要搭配 XSS 在同站或丢个讯息去赌 搞不好就拿到管理者的权限不过就算有框架,在资讯安全的开发关注度多寡还是多少会影响,例如:你用样板引擎产生资料,结果输入资料、引擎产生的方式不当,导致递入的资料可以执行程式码或是 你这个套件要兜 ffmpeg、image magick 之类的 cli 工具 可能你用套件 或自己写导致你输入的地方可以做 Command Injection只能说要学的很多啊~ 今天没发生在你身上 但是会发生在你同事上XD(顺便补充,这里讲的样版引擎不是你在框架view上面的key的那里,而是你用引擎自身去兜资料起来的时候,例如Ruby 语言上的 ERB 这个 class 处理没留意就会发生让攻击者可以执行程式码的状况这发生在某些大站系统上
作者: domototice (tice)   2020-02-04 08:38:00
是SQL injection...
作者: srwhite (鲁蛇阿白)   2020-02-04 10:07:00
Sql injection 很多框架都帮忙处理了倒是xss是不是在每个可能发生的地方都要特别处理 没看到什么简单使用的框架
作者: vi000246 (Vi)   2020-02-04 11:32:00
有时候框架用好好的 结果多个奇怪需求 要绕路硬干开发者不用心 上面的人不在意 就会出现漏洞了或是有些接案公司 用低价接案 开发的都新手验收的人也不懂 造成漏洞一堆
作者: jinmin88 (昼伏夜出)   2020-02-04 12:19:00
简单来说 这漏洞永远都会存在 品质一分钱一分货
作者: alan3100 (BOSS)   2020-02-04 12:19:00
sqlinjection并不需要fw就能避免,要不是误用fw不然就是菜鸟不知道怎么写
作者: hsnuyi (羊咩咩~)   2020-02-04 15:40:00
语言设计的问题 想要让所有人都能上手 但语法设计的太差 SQL根本就应该打掉重练
作者: ssccg (23)   2020-02-04 15:56:00
跟语法设计没关系,injection问题的本质是data跟command混淆,只要有跨语言执行指令都有可能发生SQL injection比其他好处理只是因为通常不需要太弹性的SQL
作者: vencil (vencs)   2020-02-05 13:10:00
XSS本来就难防了 就连知名的框架也是不少见被挖出来
作者: domototice (tice)   2020-02-06 03:37:00
SQL Injection 可以在前端用vbscript后端用数据库定义查询字段的资料类别以及字段资料size来协助有很多方式谢谢您的分享!!
作者: superpandal   2020-02-08 17:29:00
问前端阿 为什么内文可以插入script 漏洞根本是个阴谋
作者: domototice (tice)   2020-02-08 17:42:00
他好像是利用SQL语法漏洞 google sql injection比如https://zh.wikipedia.org/wiki/SQL注入
作者: superpandal   2020-02-08 19:18:00
sql注入还不是那么严重 不喜欢市面上的就是了 XD
作者: Nitricacid (硝酸酸)   2020-02-10 00:43:00
拿香蕉请的很正常
作者: eeyellow (TWC英勇长存人心)   2020-02-18 09:33:00
政府标案要求厂商资安但不编列经费,压价格但事情变多厂商也不愿意花钱在人才上,导致恶性循环

Links booklink

Contact Us: admin [ a t ] ucptt.com