這個測試主要目標在在於以下幾個 :
Discover the Supported Methods: 知道這個 web 服務所支援的 http method,通常我們可以用 http 的 option method 來知道。
Testing for Access Control Bypass: 嘗試看看可不可以不同的 method 或是不存在的 method 繞過驗證 。
Testing for Cross-Site Tracing Potential: 測試 XSS 攻擊
Testing for HTTP Method Overriding : 有些時後代理伺服器或防火牆可以會防一些比較危險的 http method 例如 delete、patch,然後這裡就是會在 http header 來嘗試看看可以不可以成功模擬不被允許的 method。
X-HTTP-Method
X-HTTP-Method-Override
X-Method-Override
Test HTTP Strict Transport Security
HTTP Strict Transport Security ( HSTS ) 它是一種網頁安全功能,簡單的話,它就是讓 web 告訴瀏覽器說,這個網頁我們不給非 https 的渣渣看,它主要用來防止 SSL 剝離攻擊。
它告訴瀏覽器的方法就是 http response header 回傳Strict-Transport-Security
這個表頭,然後包含這幾個資訊 :
max-age= : 在這段時間內,瀏覽器向這個 domain 都必需要用 https。
includeSubDomains : 有加就代表整個 subdomain 都包含。
preload : 有點看不出懂。
如果有個表頭為Strict-Transport-Security: max-age=31536000; includeSubDomains
代表再這一年中,瀏覽器向這個 domain 或 subdomains 都必須用 https,然後瀏覽器會自動將 http 轉成 https。
可以用下面這個方式看到,不過大部份 web 開發者都應該知道怎麼看 response header。
marklin at MarkdeMacBook-Pro in ~
$ curl -s -D- https://hahow.in | grep -i strict
strict-transport-security: max-age=15724800; includeSubDomains
這裡應該就是我們 web 開發者很常看到的 cors ?
這個就是系統的檔案權限部份,看權限的方法可以用我們之前這篇的東西來看。
這是一種 subdomain 佔領的概念,也就是說受害者的 dns 服務的 dns record 被指向 hacker 的服務。
這裡的防止方法就應該就是要用 nmap 來找出我們大部份的 subdomain 然後來看看 dns record ( cname ) 有沒有被指向到其它不知道的地方。
主要就是在在說 cloud storage 的權限問題,主要測試的地方有 :
讀取到 unauthorized 資料。
可以隨便上傳檔案。