發表文章

目前顯示的是有「Apache管理」標籤的文章

滲透測試弱點修補_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...

Apache SSL配置參考資源

  在 Apache 伺服器 (Ubuntu) 上手動安裝 SSL 憑證 https://tw.godaddy.com/help/manually-install-an-ssl-certificate-on-my-apache-server-ubuntu-32078 在 Apache 伺服器 (CentOS) 上手動安裝 SSL 憑證 https://tw.godaddy.com/help/manually-install-an-ssl-certificate-on-my-apache-server-centos-5238 GENERATING A VALID SELF-SIGNED CERTIFICATE FOR APACHE AND CHROME https://www.nullalo.com/en/generating-a-valid-self-signed-certificate-for-apache-and-chrome/3/ Apache HTTPS啟用及安全性設定(Ubuntu) https://kerker.website/apache-https%E5%95%9F%E7%94%A8%E5%8F%8A%E5%AE%89%E5%85%A8%E6%80%A7%E8%A8%AD%E5%AE%9Aubuntu/ [ubuntu] apache 安裝 Let’s Encrypt ,讓你的網站更安全 https://blog.camel2243.com/2016/03/08/ubuntu-apache-%E5%AE%89%E8%A3%9D-lets-encrypt-%EF%BC%8C%E8%AE%93%E4%BD%A0%E7%9A%84%E7%B6%B2%E7%AB%99%E6%9B%B4%E5%AE%89%E5%85%A8/ 為何HTTPS憑證有貴有便宜還更可以免費?讓我們從CA原理開始講起。 https://progressbar.tw/posts/98 Apache 2.2-SSL操作大全 https://geotrust.cloudmax.com.tw/guide/install_apache.asp#001 [Ubuntu] 使用 Certbot 自動更新 Let's Encrypt 憑證 https://caloskao.org/ubuntu...

Apache Configuration Error AH00526: Syntax error

Apache Configuration Error AH00526: Syntax error https://www.digitalocean.com/community/tutorials/apache-configuration-error-ah00526-syntax-error Apache Configuration Error Code ah00526 https://bobcares.com/blog/apache-configuration-error-code-ah00526/ Apache error AH00526: Syntax error on line 3 of 000-default.conf, URL to redirect is missing https://stackoverflow.com/questions/63910333/apache-error-ah00526-syntax-error-on-line-3-of-000-default-conf-url-to-redirec 解決 Ubuntu Apache 找不到 ServerName https://www.ltsplus.com/linux/fix-ubuntu-apache-cound-not-determine-servername 解決啟動 Apache 網站伺服器時找不到 ServerName 的問題 https://blog.miniasp.com/post/2012/06/23/apache2-Could-not-reliably-determine-the-server-fully-qualified-domain-name-using-for-ServerName

Linux Ubuntu Apache上的管理配置筆記

圖片
安裝apache2 sudo apt install apache2 或 sudo apt-get install apache2 預設所有Apache設定檔都在此處 /etc/apache2/ apache2執行檔案路徑預設在 /etc/init.d/ 主要的設定檔 /etc/apache2/apache2.conf 可以修改以更改 Apache 全局設定,且該檔案負責加載設定目錄中的許多其他檔案。如果用 cat 開啟它,會發現有 /etc/apache2 的架構圖及相關說明在裏頭。 變更完.conf設定檔案都要做重新啟動變動才會生效 較新版Linux會用systemd作為預設系統服務管理,而較舊版的則是以sysvinit為主。 重啟apache2 Sysvinit指令:sudo service apache2 restart Systemd指令: sudo systemctl restart apache2 sudo systemctl restart apache2.service 重新載入apache2 Sysvinit指令:sudo service apache2 reload Systemd指令: sudo systemctl reload apache2 sudo systemctl reload apache2.service 停止apache2 Sysvinit指令:sudo service apache2 stop Systemd指令:sudo systemctl stop apache2 Sysvinit指令:sudo service apache2 status Systemd指令:sudo systemctl status apache2 指定Apache 將監聽的通訊埠設定檔 /etc/apache2/ports.conf 預設情況下,Apache 監聽通訊埠 80,當啟用提供 SSL 功能的模組時,Apache 監聽通訊埠 443。 儲存每個站點的虛擬主機目錄設定檔 /etc/apache2/sites-available 預設的網站是調用其中的 000-default.conf 設定檔 。Apache不會使用在此目錄中找到的設定檔案,除非它們連結到啟用的站點目錄,通常所有服務器區塊設定都在此目錄中完成,它是透過使用 a2ensite ...

Apache管理常規操作整理2

圖片
Linux上HTTP Daemon簡稱httpd 是一款運行於網頁伺服器後台,等待傳入伺服器請求的軟體。HTTP守護程序能自動回應伺服器請求,並使用HTTP協議傳送超文本及多媒體內容。 各自配置檔所在路徑 在Windows上 Apache的配置文件通常只有一個,就是httpd.conf,而在Linux作業系統把各個設置項分在了不同的配置文件中。 在Redhat上 /etc/httpd/conf/httpd.conf 預設站台根目錄就在此檔中定義 關鍵字DocumentRoot "/var/www/html" chkconfig chkconfig httpd on 開機自動啟動 service httpd start ps -eaf | grep httpd netstat -an | grep :80 netstat -an | grep :443 防火牆允許80,443 port iptables -t filter -I  INPUT -p tcp --dport 80 -j ACCEPT 將防火牆設置規則保存起來 /etc/rc.d/init.d/iptables save 測試連線防火牆狀況 telnet ip (要不報錯) netstat -n 在Ubuntu上 /etc/apache2/apache2.conf 預設站台根目錄如果在此檔找不到DocumentRoot關鍵字 那就會是在/etc/apache2/sites-available/000-default.conf (假設你沒有用虛擬主機多台情況下預設配置檔案) Apache在啟動時會自動讀取這個文件的配置信息,而其他的一些配置文件,如httpd.conf等,則是通過Include指令包含進來。在apache2.conf中可以找到這些Include段落。 # Include module configuration: IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf # Include list of ports to listen on Include ports.conf # Include generic snippets of statements IncludeOption...

Apache管理常規操作整理

圖片
在Ubuntu上,Apache伺服器的網站配置文件通常位於/etc/apache2/sites-available/目錄下, 但是這些配置文件並不是所有都會被啟用。 啟用的配置文件通常位於/etc/apache2/sites-enabled/目錄下,並且在文件名前面有一個符號連接到/etc/apache2/sites-available/目錄下的實際配置文件。 可以使用以下命令查看目前啟用的網站配置文件: ls -l /etc/apache2/sites-enabled/ 這個命令會列出/etc/apache2/sites-enabled/目錄下的所有符號連接,每個符號連接 都指向/etc/apache2/sites-available/目錄下的一個實際配置文件。 可以通過查看符號連接的名稱來確定目前啟用的網站配置文件。 重新啟動Apache伺服器 sudo service apache2 restart 檢查網站伺服器的防火牆設置 sudo ufw status 如果防火牆已啟用,您應該看到類似以下的輸出: 這表示防火牆允許SSH、HTTP和HTTPS流量通過。 Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80 /tcp ALLOW Anywhere 443 /tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80 /tcp (v6) ALLOW Anywhere (v6) 443 /tcp (v6) ALLOW Anywhere (v6) 如果您的IP地址被阻止,您應該看到類似以下的輸出: 表示防火牆阻止IP地址為192.168.1.100的訪...