# 攻擊手準備內容 ## OWASP常見漏洞 開放網路軟體安全計畫,簡稱OWASP (Open Web Application Security Project)是一個開放社群、非營利性組織,其主要目標是研議協助解決網路軟體安全之標準、工具與技術文件,長期致力於協助政府或企業瞭解並改善應用程式的安全性。每年OWASP都會發佈年度十大網路弱點防護守則,美國國防部亦將此守則列為最佳的Web APP安全評估標準,在攻擊時可以從裡面找到攻擊方向。 以下為2021年的排名: 1. Broken Access Control 2. Cryptographic Failures 3. Injection 4. Insecure Design 5. Security Misconfiguration moves 6. Vulnerable and Outdated Components 7. Identification and Authentication Failures 8. Software and Data Integrity Failures 9. Security Logging and Monitoring Failures 10. Server-side Request Forgery ## 攻擊方式 #### 錯誤的存取管理(Broken Access Control) > 具敏感資訊的網頁未經適當的權限管控,則透過修改URL路徑、Restful API參數或HTML頁面繞過存取控制驗證,直接存取敏感性網頁,執行原本未授權之動作或行為。或者是已經登入的情況下,修改特定參數存取其他使用者的帳戶資訊。 > >例如:無登入狀況假扮某個使用者、一般使用者登入但具有管理員權限 > > \[參考\]: https://ithelp.ithome.com.tw/articles/10219428 > \[參考\]: https://www.youtube.com/watch?v=K2PiHznrPBs #### 插入式攻擊(Injection) > 在網路應用漏洞中Injection十分常見。之所以會發生,是因為使用者提供的資料傳輸到伺服器的interpreter處理,要是沒有經過妥善的檢查、排除符號等,文字內容就可能被當成進行一個指令或是要求查詢某些東西。 攻擊者使用惡意的資料欺騙interpreter,而達到執行指令或是竄改資料的目的。 > 根據interpreter不同,可以細分成:Command Line Injection、SQL Injection等等 > > 下面為常見的SQL injection用法: > ![](https://i.imgur.com/hDg37AW.png) > *PS: 要根據攻擊的資料庫選擇合適的指令* > \------------------------------------------- > \[範例1\]: https://taiwanus.net/news/login.php (🤫 帳號打這個 admin' OR 1=1# ) > \[範例2\]: https://web.ctflearn.com/web4/ > \[參考\]: https://gordonfang-85054.medium.com/%E8%B3%87%E5%AE%89%E6%BB%B2%E9%80%8F%E6%94%BB%E9%98%B2%E7%AD%86%E8%A8%98-1-c9a6b8ada5fa > \[參考\]: https://www.bnext.com.tw/article/67305/lon4j-log4shell-bug > #### 跨站腳本攻擊(XSS) > Cross-Site Scripting:網頁未將使用者提供的資料先審核或進行內容編碼,就直接將資料傳輸到網路瀏覽器,即可能發生網頁內容被當成Script解讀的問題。不同於大多數攻擊只涉及攻擊者和伺服端,XSS涉及到其他Web服務的使用者。 > XSS能讓攻擊者直接在受害者的網路瀏覽器上執行JavaScript,攻擊者便可以hijack user sessions、或竄改網站內容等。 > > \[範例1\]: http://www.matthewchen.link/test2022/ (試著攻擊它。每30分鐘會重置 不用擔心😎 ) > \[參考\]: https://www.youtube.com/watch?v=QJzkifQ-Cuk > \[參考\]: http://www.matthewchen.link/xss_attack.pdf > \[參考\]: https://www.jianshu.com/p/27da16438d15 > \[參考\]: https://ithelp.ithome.com.tw/articles/10190062 > \[參考\]: https://www.softwaretestinghelp.com/cross-site-scripting-xss-attack-test/ #### 弱密碼(Identification and Authentication Failures) > 弱密碼是易於猜測的密碼,主要有以下幾種: > 1. 順序或重複的字符:「123456」、「111111」、「abcdefg」、「asdf」、「qwer」鍵盤上的相鄰字母 > 2. 使用數字或符號的僅外觀類似替換,例如使用數字「1」、「0」替換英文字母「i」、「O」,字符「@」替換字母「a」等 > 3. 密碼為登錄名的一部分或完全和登錄名相同 > 4. 預設密碼:政府的網路系統幾乎都是外包開發,交接的時候會提供預設密碼(即使提醒要變更,但很多使用者沒有變更)。而設備的說明書在網路上查都有,駭客直接就猜那些,取得設備控制權限。 > PS: 也可以從組織縮寫和分機去嘗試、或是test/ admin/ root > > \[範例1\]: http://diabetes.hlshb.gov.tw/admin/index.php > #### 錯誤的身份認證(Identification and Authentication Failures) > 應用程序的功能一般包含權限管理和對話管理,但是由於應用程序設計不當,讓攻擊者可以竊取到密碼、密鑰、session tokens等信息,進而冒充合法用戶身份,獲取敏感信息或者進行惡意操作。 > > \[範例1\]: https://web.ctflearn.com/web3/ > \[參考\]: https://developer.aliyun.com/article/259037 ## 攻擊程度分級 | | 重大衝擊性 | 高衝擊性 | 中衝擊性 | 低衝擊性 | | ------- | --------------------------------------------------------- | -------------------------------------------------- | ----------------------------------------------- | ------------------------------------------ | | SQL權限 | 透過資料庫語法取得資料庫<br>(明文/密文)帳密或資通<br> 系統明文帳密 | 透過資料庫語法取得資料庫<br>機敏資料或資通系統密文帳密 | 透過資料庫語法取得資料庫<br>欄位資料(不含機敏/帳密) | 透過資料庫語法或錯誤<br>訊息取得資料庫欄位名稱 | |AP讀寫權限|具有可寫入OS特權路徑之權限|具有可寫入Web目錄、非OS<br>特權路徑或讀取OS特權路徑<br>檔案之權限|具有可讀取Web跨目錄或非OS<br>特權路徑檔案之權限|僅可讀取當前Web目錄<br>檔案之權限| |惡意語法與提權|成功寫入攻擊語法<br> 或竄改頁面,且受影響之頁面為<br> 任一使用者並可擴散至其他系統|成功寫入攻擊語法或竄改頁面,且受影響之頁面為任一使用者|成功寫入攻擊語法或竄改頁面,但受影響之頁面限定已登入之<br>任一使用者|▪成功寫入攻擊語法或竄<br>改頁面,但受影響之頁面<br>限定該登入使用者<br> ▪攻擊語法須透過其他途<br>徑誘使其他使用者觸發| |帳號權限| ▪取得OS管理者權限或<br>足以證明權限等同system、root或sysadmin之帳號<br>▪ 取得資通系統防護需求為高<br>等級之管理者(或帳號控管)權限或OS一般使用者權限|取得資通系統防護需求為中或<br>普等級之管理者(或帳號控管)權限或OS一般使用者權限|取得資通系統(分級不限)業務單位使用者權限但不具<br>帳號控管功能|取得資通系統(分級不限)一般使用者權限| |資料外洩與存取控管|▪ 取得特種個資(病歷、醫療、<br>基因、性生活、健康<br>檢查及犯罪前科)<br>▪ 取得國家機密文書(未達解密條件者)|▪ 取得一般個資且重複攻擊<br>成效具有可預期性<br>▪ 取得一般公務機密文書<br>(未達解密條件者)|取得部分一般個資且重複<br>攻擊成效具有不可預期性|取得非機敏但非公開資料| ## Kali 駭客工具 #### (1) nslookup >利用DNS查詢到URL對應的網路IP > >![](https://i.imgur.com/cveSDHV.png =350x) #### (2) dirb > 針對給定的網站,查詢路徑下有哪些文件夾或是檔案(-r 預設用字典庫)。如果發現phpAdmin或是login.php,再用瀏覽器開啟。這是經典的Broken Access Control攻擊流程。 > >![](https://i.imgur.com/ht0HsM7.png =350x) > > \[範例1\]: http://www.matthewchen.link > \[參考\]: https://ithelp.ithome.com.tw/articles/10216943 #### (3) nmap >掃描指定網路中有哪些設備,亦能針對設備查看作業系統及其開啟port。特殊的port如8000、9000為資料庫管理用的介面,如果顯示開啟,可以是利用的攻擊點。 >![](https://i.imgur.com/CA3PcVZ.png =400x) > > \[參考\]: https://blog.gtwang.org/linux/nmap-command-examples-tutorials/ > \[參考\]: https://hack543.com/nmap-tutorial/ #### (4) Burpsuite > ![](https://i.imgur.com/kpyd4lq.jpg =400x) > > Burp Suite是用於攻擊web 應用程式的集成平台。它包含了許多Burp工具,這些不同的burp工具通過協同工作,有效的分享信息,支持以某種工具中的信息為基礎供另一種工具使用的方式發起攻擊。這些工具設計了許多介面,以促進加快攻擊應用程式的過程。 > >網站接受使用者上傳文件或檔案,通常會在前端(Client-side Javascript)做檔案類型的篩選,合適的檔案類型才可以上傳。但前端檢查完,利用BrupSuite的Proxy功能攔截下,進行修改再傳送,就能繞過審核機制,將惡意的腳本部署至伺服器,如web shell。這種方法難度比較高,不過掌握之後能取得對方系統層的權限,是進階駭客必要的技能。 > > \[參考\]: https://kknews.cc/zh-tw/news/k2gkzl8.html > \[參考\]: https://www.youtube.com/watch?v=HRrF8c7Qxew > \[參考\]: https://ithelp.ithome.com.tw/users/20114110/ironman/3806 #### (5)其他指令 > ![](https://i.imgur.com/tSHh44x.jpg) > > ![](https://i.imgur.com/FcJxhOQ.jpg) ## 參考資料 \[OWASP 網站\]: https://owasp.org/www-project-top-ten/ \[OWASP 教學\]: https://ic.cgu.edu.tw/var/file/16/1016/img/190181335.pdf \[WebGoat 練習\]: https://github.com/WebGoat/WebGoat \[其他常見網路漏洞\]: https://hackmd.io/@YuTingKung/HybuFMGGF