發表文章

目前顯示的是有「滲透測試弱點修補」標籤的文章

CSP,Content Security Policy(內容安全策略)的設定

圖片
  CSP(Content Security Policy,內容安全策略) 限制載入的資源(js,css,字體,圖片)只能在白名單中,可能是你同一站台域名或是特定網域、其他來源。是可以在前端跟後端程式沒有特別去做XSS防禦機制時候,仍有透過此header配置而讓XSS相關風險能得到更全域性地保障,有時應用程式碼中還沒實作某程度的XSS修補,就能再透過它配置來讓風險可被克服。 是一種電腦安全標準、網頁安全機制,目的在於防禦 跨網站指令碼攻擊(Cross-Site Scripting, XSS)、資源數據盜取(Cross-Site Data Theft, XSD)和網頁樣式置換…等代碼注入攻擊。阻止惡意內容在受到信任的網頁環境中執行,這個 CSP 內容安全策略標準,是 W3C 網路應用安全工作群組的候選推薦標準,目前也被現代網頁瀏覽器廣泛支援中。 實質就是白名單制度,開發者明確告訴用戶端,哪些外部資源可以載入和執行,等同于提供白名單。它的實現和執行全部由流覽器完成,開發者只需提供配置。 透過在 http header 響應頭中添加指令,限制瀏覽器載入和執行特定來源的資源,這些資源可能是 JavaScript、CSS、字體、圖像、影片或任何嵌入的內容,它會告訴瀏覽器只能允許載入特定來源的資源,並且阻止載入外部或未受信任的資源,同時還可限制內嵌腳本的執行,以防止 駭客攻擊者可能會透過任何形式的漏洞在網站中安插惡意的程式碼,也就是XSS 攻擊。 因此這時就需要使用 CSP 規範,告知瀏覽器發出的要求位置是否受到信任,並且積極阻擋非預期的對外連線,以加強網站的安全性。 CSP設定指令 由一系列的指令和資料來源所組成,如 'default-src'、'script-src'、'style-src' 等,每個指令都可以用來指定一個或多個資料來源並限制相應的資源載入,資料來源可以是具體的 URL 也可以是特定的關鍵字,如表示當前網站的來源的 'self' 或 允許內連腳本的 'unsafe-inline' 都可以。 Content-Security-Policy: default-src 'self'; script-src 'self'  (1)在 http heade...

Nmap諸神之眼_工具使用開箱_part2_SMB/SAMBA滲透測試弱點修補

圖片
  SMB(Server Message Block)和Samba都是涉及檔案共享的技術。 SMB是一種網絡通訊協定,它允許在局域網上共享文件和打印機。用於實現網絡上的電腦之間的檔案、印表機、序列埠共享,以及命名管道和郵件槽等通信抽象。這個協議在 1985 年由 IBM 文檔記載,後來經過多次擴展以支持新的命令和功能,並且每個新版本都與先前版本向後兼容。SMB 協議具有不同的方言版本,用以支持不同的操作系統版本。這使得在局域網中能夠同時運行不同版本的 SMB 協議的客戶端和伺服器。微軟後來將SMB改名為CIFS(Common Internet File System),這是一個更加豐富的協定版本,包含了更多新的功能。 Samba 是 SMB 協議的一個開源實現,廣泛用於讓 UNIX 系統能夠與運行 Windows 系統的機器共享文件和印表機資源。Samba不僅支持網絡文件和打印服務,還能夠整合入Windows Server的網域,擔任域控制器。使用Samba可以將Linux或UNIX計算機配置為文件伺服器,讓Windows客戶端可以訪問共享文件和目錄,同時也可以配置為打印服務器,讓Windows客戶端能夠連接到打印機並打印文檔。 在設定Samba時,可以通過編輯配置文件(通常是smb.conf)來定義各種參數,如工作組、伺服器註釋、NetBIOS名稱、訪問控制列表等,從而控制哪些用戶或網絡可以訪問Samba伺服器,以及他們可以訪問的資源。通過客戶端工具如smbclient,可以從Linux端訪問Samba共享,或者直接從Windows的檔案資源管理器訪問共享文件夾 總之,SMB 是使不同電腦能夠進行資源共享的關鍵網絡協議,而 Samba 則是讓 UNIX 系統能夠進入這個由 Windows 系統主導的共享網絡的重要工具。 Windows系統默認開發SMB 445的port! 可透過nmap去探測列舉出445 port nmap -p 445 -A 目標IP Address SMB歷年嚴重漏洞補丁編號 MS08-067 https://learn.microsoft.com/zh-tw/security-updates/securitybulletins/2008/ms08-067 MS17-010 https://learn.microsoft.com/zh...

Nmap諸神之眼_工具使用開箱_part1

圖片
  https://www.facebook.com/joshdamascoclimbing/photos/a.585099681674642/1082028225315116 最近接近年底再加上鄰近歲修,還有學期末的考試作業雙重轟炸。 有時真的感覺好累 稍微比較沒空寫文章 這篇稍微筆記一下心情 發現攀岩歷程愈來愈陡峭艱辛了 能踩踏的石階跟需要跨的步伐距離愈來愈遠 年底又開始要接觸到完全沒經歷過的技能樹OS層面的vulnerability修補 哀... 心想這技能樹也差異跨太多了 https://today.line.me/tw/v2/article/xGgqJP 但如今這個世代真的要會的東西要求很多 而且每一個技能相當於你是否可以再如此動盪不安時代的穩當踏階 這次筆記要安裝學習的一套工具 稍微研究一下  恩投資報酬率稍微還算可以多一些腳下的踏階  基本上google搜尋到第一個就是了 https://nmap.org/ 基本上windows安裝方式就稍微單純一些 持續下一步到底 預設安裝好會有一個對應GUI畫面的程式 也已經有對應cli添加環境變數中開啟cmd都能識別的到 第一個基本指令scan一個host 1 nmap {網址|域名} 這邊拿 iT邦幫忙 網站domain 來測試 https://ithelp.ithome.com.tw/ 可明確觀測到此站台主機目前有開啟的服務就是基本的80,443 接著我們來測試nmap給的一個網站(沒有用到https) http://scanme.nmap.org/ 就能明確看到這網站目前僅80開啟無443 此外還有22的ssh也有開啟 上述都是一個蘿蔔一個坑的domain對應單一個IP情況掃描結果 針對一個domain 綁定多IP的會是怎樣掃描結果呢? 我們拿一個標竿網站影音串流的netflex netflix.com 透過nslookup可得知 Netflix.com 網域對應的多個 IP 位址。這包括三個 IPv6 位址和三個 IPv4 位址。這種情況通常發生在使用內容分發網路(CDN)或具有複雜負載平衡配置的大型網站中。每個 IP 位址可能代表不同的伺服器或不同的資料中心位置。 在Nmap中, 可以掃描單一裝置、 整個子網路或子網路中的一系列位址。 第二個基本指令nmap -h 查看幫...

經得起原始碼資安弱點掃描的程式設計習慣培養(十九)_Schema allows arbitrary nodes (SIGMA.element_any_core_xsd)

Schema allows arbitrary nodes (SIGMA.element_any_core_xsd) Sigma main event: Arbitrary nodes are allowed in a valid document which makes it  easier for attackers to perform attacks like XML injection. Ref: <xsd:any> Element https://learn.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/ms256043(v=vs.100) XXE的基本概念和利用方式 https://www.freebuf.com/articles/web/265324.html Structure of a content XSD document https://documentation.opencms.org/opencms-documentation/template-development/content-type-definition-with-xml-schema/structure-of-a-content-xsd-document/ 为什么要使用 XML Schema? https://www.w3school.com.cn/schema/schema_why.asp https://www.w3school.com.cn/schema/schema_complex_any.asp Allowing Any Content docstore.mik.ua/orelly/xml/xmlnut/ch16_08.htm https://docstore.mik.ua/orelly/xml/xmlnut/ch16_08.htm xsd:any:幕后故事 https://searchcloudcomputing.techtarget.com.cn/5-17839/ XML学习笔记5——XSD复杂数据类型 https://www.cnblogs.com/linjisong/p/3305228.html

滲透測試弱點修補_Clickjacking: X-Frame-Options header

圖片
攻擊者利用網頁應用程式允許使用框架(Frame)語法載入其他網站之頁面,可以誘騙其他使用者瀏覽並點擊攻擊者所設計之頁面,其點擊的行為可以直接於被載入的網頁應用程式頁面內執行。 https://resources.infosecinstitute.com/topics/general-security/clickjacking-strokejacking-ui-redress/ 可以從AP層面設置 利用X-Frame-Options表頭資訊限制網頁不允許被HTML的Frame所載入。 也可透過config配置檔設置 修改httpd.conf檔案,將下列參數加入設定中,之後重新啟動伺服器即可。 Header always append X-Frame-Options SAMEORIGIN Ref: https://www.clickcease.com/blog/what-is-clickjacking-and-how-does-it-affect-ppc-ads/ https://qadit.com/blog/click-jacking-hijacking-the-click/

滲透測試弱點修補_Directory listings

圖片
https://www.socinvestigation.com/directory-listing/ 其實跟之前在工研院遇到的白箱掃描弱點修補case類似 https://coolmandiary.blogspot.com/2021/09/path-traversal.html EC Council CASE.NET_輸入驗證Lab5_Protecting Applications from Path Traversal Attack https://coolmandiary.blogspot.com/2021/11/ec-council-casenetlab5protecting.html 但這次是類似站台根目錄有一些靜態資源(圖檔,css,js...)目錄、上傳用的目錄 有可直接訪問存取的疑慮。 WEB應用程式未限制使用者存取伺服器特定目錄下的結構與檔案名稱的權限,造成攻擊者可以利用該弱點存取該目錄內的敏感資訊。 這次針對Apache配置來解說筆記一下 修正Apache配置檔,禁止訪問web根目錄 在Redhat上 /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/000-default.conf /etc/httpd/conf.d/default-ssl.conf 在Ubuntu上 /etc/apache2/apache2.conf /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/default-ssl.conf 各自找到<Directory>...</Directory> 將Indexes移除 如果還是沒有用仍可訪問 就代表還要再續虛擬主機配置檔來挑整 針對http預設80根https的443各自會分開兩個config檔案 也要在做 找到<Directory>...</Directory> 將Indexes移除 避免只有改到httpd.conf 和 apache2.conf 喔!

滲透測試弱點修補_Host header attack

圖片
https://infosecwriteups.com/http-header-injection-4ba857fb9a16 一種在 HTTP 標頭上進行注入或竄改的攻擊 也時常會看到被稱作Host Header Injection 應用程式提供的網頁重新導向功能未檢查網址的合法性,攻擊者可以竄改連結,誘使受害者重新導向至釣魚網站。 攻擊者只需編輯主機頭即可手動轉移程式碼以產生駭客所需的輸出。最有可能的是,Web 伺服器被配置為將主機標頭傳遞到清單中的第一個虛擬主機,而無需進行適當的重組。因此可以將帶有任意主機頭的 HTTP 請求傳送到第一個虛擬主機。 實際常見案例,可能忘記密碼寄發的mail夾帶的link 由於我們一般人可能負擔不起或沒有飽嗝套裝(Burp suite) 所以你可以用類似這指令來try 測試方式 curl --insecure -H "Host: malicious.com" https://www.xxxxxxabc123.com 若返回的302頁面有網址包含malicious.com 基本上就代表確實存在host header attack風險 就伺服器層面(Apache的虛擬主機配置)進行配置,確保只有合法的Host標頭才能訪問網站。 修復方式(在此舉例透過Apache架設的站台) 若是在ubuntu 需到/etc/apache2/sites-available 下的default-ssl.conf <Directory /var/www/html > ....略  Require expr %{HTTP_HOST} == "你站台的域名" </Directoryc> 若是在redhat 則是在/etc/httpd/conf.d 下的default-ssl.conf <Directory /var/www/html > ....略  Require expr %{HTTP_HOST} == "你站台的域名" </Directoryc> redhat可能預設跳出來的歡迎頁面(資訊暴露也不少) 可參考以下此篇來關閉(註解掉) https://webhostinggeeks.com/howto/how-to-remove-red-hat-en...

滲透測試弱點修補_SMB Signing not required

圖片
https://telegra.ph/SMB-Relay-Attack-01-28 SMBv2 signing not required https://www.rapid7.com/db/vulnerabilities/cifs-smb2-signing-not-required/ 要注意更改這個風險設定 可能會涉及net disk mount失效 共享網路磁碟相關功能若有調整前請三思!! This system enables, but does not require SMB signing. SMB signing allows the recipient of SMB packets to confirm their authenticity and helps prevent man in the middle attacks against SMB. SMB 2.x signing can be configured in one of two ways: not required (least secure) and required (most secure). 通常可先開啟powershell做驗證(最後配置好也在做一次check) Get-SmbServerConfiguration | Select EnableSMB2Protocol Step1.啟用數位簽章伺服器的通訊(自動) 開啟本機群組原則編輯器:點選左下角開始,於搜尋程式及檔案空白框,輸入「gpedit.msc」指令。 路徑:本機群組原則編輯器->電腦設定->Windows 設定->安全性設定->本機原則->安全性選項->右邊窗格->Microsoft 網路伺服器:數位簽章伺服器的通訊(自動)->點選啟用。 Step2.設定:啟用SMB簽署服務。 開啟啟動登錄編輯器:點選左下角開始,於搜尋程式及檔案空白框,輸入「Regedt32.exe」指令。 路徑:HKEY_LOCAL_MACHINE->SYSTEM->CurrentControlSet->Services ->LanManServer->Parameters->右邊窗格->RequireSecuritySignature-> 1(右...

HOST Header風險研究參考文章

 HTTP Host Header Attack: Explanation and Examples https://crashtest-security.com/invalid-host-header/ HTTP Header Injection https://security.snyk.io/vuln/SNYK-PHP-CODEIGNITERFRAMEWORK-70370 Configuring Apache to avoid common vulnerabilities in web applications https://medium.com/prod-io/configuring-apache-to-avoid-common-vulnerabilities-in-web-applications-65a213c07fd3 HTTP Cache Poisoning via Host Header Injection https://carlos.bueno.org/2008/06/host-header-injection.html 浅谈“HTTP Host头攻击” https://blog.csdn.net/weixin_39934520/article/details/107916067 https://codeantenna.com/a/vawP9rlpLe Apache remove X-Forwarded-For completely https://serverfault.com/questions/899405/apache-remove-x-forwarded-for-completely Is there a way to remove apaches Reverse Proxy Request Headers? https://stackoverflow.com/questions/7312215/is-there-a-way-to-remove-apaches-reverse-proxy-request-headers X-Forwarded-Host vs. x-Forwarded-Server https://stackoverflow.com/questions/43689625/x-forwarded-host-vs...