作者dp2046 (Kevin)
看板Soft_Job
标题[讨论] 为什麽SQL注入和XSS漏洞会这麽泛滥?
时间Tue Feb 4 01:59:43 2020
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是什麽都不知道?
或是就算知道也不当一回事,反正网站能正常运作就好?
还是骇客太会钻漏洞了?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 106.104.80.164 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1580752787.A.2DF.html
1F:→ alan3100: prepared/parameterizedstatement都不提谈什麽防sql注入 02/04 02:11
2F:推 splitline: X-XSS-Protection只能防反射型的 而且chrome已经废除了 02/04 02:41
3F:→ splitline: 至於firefox根本没这个功能 02/04 02:41
4F:→ splitline: bypass the auditor is nothing but a CTF challenge(O 02/04 02:46
5F:→ splitline: 至於 sql 注入的确通常是因为开发者太废导致的 02/04 02:50
6F:→ guanting886: 大部分开发者都正向流程开发 加上网站程式设计入门槛 02/04 07:55
7F:→ guanting886: 低 各式领域人都有参与 知识跟经验水平都不一样 02/04 07:55
8F:推 guanting886: 除非你有在特别资讯安全关注这块 或站被打掉过 且真 02/04 07:56
9F:→ guanting886: 的去检视攻击手法为何 不然就真的是这个样子 02/04 07:56
10F:推 guanting886: 好加在有程式框架的出现,这种会先天上的设计约束一 02/04 07:58
11F:→ guanting886: 些设计让攻击手法的花样受限制 02/04 07:58
12F:推 guanting886: 例如:因为框架普遍会在 set cookie 的 header 补上 02/04 08:00
13F:→ guanting886: httpOnly 导致你没有办法透过 javascript去劫持使 02/04 08:00
14F:→ guanting886: 用同一个网站的使用者的cookie里的资料 02/04 08:00
15F:→ guanting886: 以前的人怎麽可能会知道这个事情 只要搭配 XSS 在同 02/04 08:01
16F:→ guanting886: 站或丢个讯息去赌 搞不好就拿到管理者的权限 02/04 08:01
17F:推 guanting886: 不过就算有框架,在资讯安全的开发关注度多寡还是多 02/04 08:03
18F:→ guanting886: 少会影响,例如:你用样板引擎产生资料,结果输入资 02/04 08:03
19F:→ guanting886: 料、引擎产生的方式不当,导致递入的资料可以执行程 02/04 08:03
20F:→ guanting886: 式码 02/04 08:03
21F:→ guanting886: 或是 你这个套件要兜 ffmpeg、image magick 之类的 c 02/04 08:04
22F:→ guanting886: li 工具 可能你用套件 或自己写 02/04 08:04
23F:→ guanting886: 导致你输入的地方可以做 Command Injection 02/04 08:05
24F:推 guanting886: 只能说要学的很多啊~ 今天没发生在你身上 但是会发 02/04 08:06
25F:→ guanting886: 生在你同事上XD 02/04 08:06
26F:推 guanting886: (顺便补充,这里讲的样版引擎不是你在框架view上面 02/04 08:14
27F:→ guanting886: 的key的那里,而是你用引擎自身去兜资料起来的时候, 02/04 08:14
28F:→ guanting886: 例如Ruby 语言上的 ERB 这个 class 处理没留意就会发 02/04 08:14
29F:→ guanting886: 生让攻击者可以执行程式码的状况 02/04 08:14
30F:→ guanting886: 这发生在某些大站系统上 02/04 08:14
31F:→ domototice: 是SQL injection... 02/04 08:38
32F:推 srwhite: Sql injection 很多框架都帮忙处理了 02/04 10:07
33F:→ srwhite: 倒是xss是不是在每个可能发生的地方都要特别处理 没看到 02/04 10:08
34F:→ srwhite: 什麽简单使用的框架 02/04 10:08
35F:推 vi000246: 有时候框架用好好的 结果多个奇怪需求 要绕路硬干 02/04 11:32
36F:→ vi000246: 开发者不用心 上面的人不在意 就会出现漏洞了 02/04 11:33
37F:→ vi000246: 或是有些接案公司 用低价接案 开发的都新手 02/04 11:34
38F:→ vi000246: 验收的人也不懂 造成漏洞一堆 02/04 11:34
39F:→ jinmin88: 简单来说 这漏洞永远都会存在 品质一分钱一分货 02/04 12:19
40F:→ alan3100: sqlinjection并不需要fw就能避免,要不是误用fw不然就是 02/04 12:19
41F:→ alan3100: 菜鸟不知道怎麽写 02/04 12:20
42F:→ hsnuyi: 语言设计的问题 想要让所有人都能上手 但语法设计的太差 S 02/04 15:40
43F:→ hsnuyi: QL根本就应该打掉重练 02/04 15:40
44F:→ ssccg: 跟语法设计没关系,injection问题的本质是data跟command混 02/04 15:56
45F:→ ssccg: 淆,只要有跨语言执行指令都有可能发生 02/04 15:59
46F:→ ssccg: SQL injection比其他好处理只是因为通常不需要太弹性的SQL 02/04 16:01
47F:推 vencil: XSS本来就难防了 就连知名的框架也是不少见被挖出来 02/05 13:10
48F:推 domototice: SQL Injection 可以在前端用vbscript後端用资料库定义 02/06 03:37
49F:→ domototice: 查询栏位的资料类别以及栏位资料size来协助有很多方式 02/06 03:38
50F:→ domototice: 谢谢您的分享!! 02/06 03:38
51F:→ superpandal: 问前端阿 为什麽内文可以插入script 漏洞根本是个阴 02/08 17:29
52F:→ superpandal: 谋 02/08 17:29
53F:推 domototice: 他好像是利用SQL语法漏洞 google sql injection 02/08 17:42
55F:→ superpandal: sql注入还不是那麽严重 不喜欢市面上的就是了 XD 02/08 19:18
56F:推 Nitricacid: 拿香蕉请的很正常 02/10 00:43
57F:推 eeyellow: 政府标案要求厂商资安但不编列经费,压价格但事情变多 02/18 09:33
58F:推 eeyellow: 厂商也不愿意花钱在人才上,导致恶性循环 02/18 09:36