[討論] 為什麼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