安全測試-滲透性測試


安全測試-滲透性測試

  • 明文傳輸/存儲(明文包括:1.請求中存在明文數據傳輸。2.內存明文傳輸用戶名和密碼。3.響應數據中存在明文用戶名和密碼等。4.客戶端反編譯存在明文。明文數據直接被攻擊者利用並對系統進行攻擊。
  • 越權訪問(用戶未授權可以訪問其他用戶的敏感數據。)
  • 敏感信息泄漏(應用程序返回版本號、程序錯誤詳細信息、中間件、SQL語句、系統文件等敏感信息)
  • 上傳/下載漏洞(系統可以上傳任意類型文件,如php、bat、jsp、class等文件。這些文件可以直接在操作系統層面運行,應用系統存在被攻擊風險。)
  • 路徑遍歷漏洞(攻擊者通過向上檢索的方式獲取服務器上重要文件。如:passwd或者win.ini文件等。存在重要文件信息泄漏風險。
  • xss攻擊(惡意攻擊者將惡意腳本代碼(如HTML代碼和Javascript腳本)嵌入請求中,當用戶在不知情的情況下訪問時,就會執行其中的惡意代碼,可能會導致cookie竊取、會話劫持、釣魚欺騙等各種攻擊。

    1、最常見的最經典的XSS bug檢測語句必然是
    <script>alert(/XSS/)</script>
    <script>alert(document.cookie)</script>
    <script>window.location.href="http://www.baidu.com";</script>

    2、利用IMG圖片標記屬性跨站
    <img src=”javacript:alert(/XSS/)”></img>
    <img src=# onerror=alert(123)>

    3、突破程序員的過濾限制

    利用javascript換行與空格突破過濾
    <img src = j ava script:al er t(/XSS/)>///空格使用Tab鍵產生
    <img src = j
    ava script :a ler t(/xss/)>
    利用注釋<img src = “#”/**/onerror = alert(/XSS/)>

  • 。。。。。

 

安全滲透測試要求

1、XSS跨站腳本漏洞
系統程序沒有對用戶提交的變量中的代碼進行過濾或轉換,在用戶輸入頁面可插入 JavaScript、 Active等惡意腳本。 
2、SQL注入漏洞
系統的應用服務器端對SQL語句中使用的特殊字符“;”、“--”和“and”、“or”等未做過濾,並且允許其向數據庫系統提交。
3、明文傳輸漏洞
對系統用戶口令等機密信息的保護不足,攻擊者可以利用攻擊工具,從網絡上竊取合法用戶的口令數據,從而登錄系統執行非法操作。
4、越權訪問漏洞 
目前存在着兩種越權操作類型:橫向越權操作和縱向越權操作。前者指的是攻擊者嘗試訪問與他擁有相同權限的用戶的資源;而后者指的是一個低級別攻擊者嘗試訪問高級別用戶的資源。
5、明文存儲
對系統用戶口令等機密信息的存儲保護不足,導致攻擊者可以獲取系統的訪問權限。
6、敏感信息泄露漏洞
系統暴露系統內部信息,如網站絕對路徑、網頁源代碼、SQL語句、中間件版本和程序異常等信息。
7、后台泄露漏洞
后台地址過於簡單地址泄露或者默認后台,為攻擊者攻擊系統提供便利。攻擊者可以通過弱口令或默認用戶密碼等方式進入后台,對系統造成危害。
8、會話重放攻擊
不斷惡意或欺詐性地重復一個有效的數據包,重放攻擊。攻擊者可以攔截並重復發該數據到服務端,服務器端未對用戶提交的數據包重放進行有效限制。如:可以抓取HTTP包固定賬號破解密碼、固定密碼破解賬號和重放提交投票數據包。
9、默認口令/弱口令
應用系統存在默認口令/弱口令。
10、中間件漏洞
使用不安全的http方法和IIS文件枚舉漏洞
11、設計缺陷/邏輯錯誤
程序都是通過邏輯實現各種豐富多彩的功能的,要實現這些功能,必須掌握大量的技巧並進行周密的安排。但是,有很多情況這些功能邏輯存在缺陷,比如程序員的安全意識,比如考慮問題不周全等。即使是最簡單的web應用程序,每個階段都會執行大量的邏輯操作。如:可以重復建立用戶名相同的用戶;不同瀏覽器中未驗證會話有效性。
12、不安全的cookie
cookies中包含有用戶名或者密碼等敏感信息,攻擊者截取到cookies后可為攻擊提供便利,若獲取到用戶密碼可直接登錄到系統中。
13、SSRF漏洞
SSRF(Server-Side Request Forgery:服務器端請求偽造) 是一種由攻擊者構造形成由服務端發起請求的一個安全漏洞。一般情況下,SSRF攻擊的目標是從外網無法訪問的內部系統。
14、SSL3.0漏洞
SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網絡通信提供安全及數據完整性的一種安全協議。TLS與SSL在傳輸層對網絡連接進行加密。已被廣泛地用於Web瀏覽器與服務器之間的身份認證和加密數據傳輸。SSL常會爆出一些漏洞,如:心臟滴血漏洞等。
15、CSRF(跨站請求偽造)
跨站請求偽造(Cross-Site Request Forgery,CSRF)是一種使已登錄用戶在不知情的情況下執行某種動作的攻擊。因為攻擊者看不到偽造請求的響應結果,所以CSRF攻擊主要用來執行動作,而非竊取用戶數據。當受害者是一個普通用戶時,CSRF可以實現在其不知情的情況下轉移用戶資金、發送郵件等操作;但是如果受害者是一個具有管理員權限的用戶時CSRF則可能威脅到整個Web系統的安全。
16、命令執行漏洞
當應用需要調用一些外部程序去處理內容的情況下,就會用到一些執行系統命令的函數。如PHP中的system、exec、shell_exec等,當用戶可以控制命令執行函數中的參數時,將可以注入惡意系統命令到正常命令中,造成命令執行攻擊;另一種是由於漏洞而造成的命令執行(如:struts2、weblogic命令執行)
17、上傳漏洞
系統對上傳的文件類型沒有進行驗證,在應用系統的運營過程中,不可避免地要對網站的某些頁面或者內容進行更新,這時便需要使用到網站的文件上傳的功能。如果不對被上傳的文件進行限制或者限制被繞過,該功能便有可能會被利用於上傳可執行文件、腳本到服務器上,進而進一步導致服務器淪陷。
18、任意文件包含
任意文件包含,系統對傳入的文件名沒有經過合理的校驗,從而操作了預想之外的文件,就可能導致意外的文件泄露甚至惡意的代碼注入,導致惡意攻擊者可以利用該缺陷讀取服務器上指定文件
19、任意文件下載
任意文件下載,系統提供文件下載功能,但未對下載文件名進行限制,可下載任意文件。
20、目錄遍歷
目錄遍歷漏洞會將站點的目錄暴露在攻擊者眼前,攻擊者可以從這些目錄得知當前站點的信息,如開發語言、站點結構和數據庫文件等信息。
21、溢出攻擊漏洞
系統的客戶端和服務器端對輸入數據的字符長度未做檢查,提交超長數據后,服務器端會出現異常錯誤,可能導致緩沖區溢出或拒絕服務攻擊等安全問題。
22、XML實體注入
XML用於標記電子文件使其具有結構性的標記語言,可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。當允許引用外部實體時,通過構造惡意內容,可導致讀取任意文件、執行系統命令、探測內網端口、攻擊內網網站等危害。
23、檢測存在風險的無關服務和端口
檢測存在風險的無關服務和端口,為攻擊者攻擊提供便利
24、登錄功能驗證碼漏洞
不斷惡意或欺詐性地重復一個有效的數據包,重放攻擊攻擊者可以攔截並重復發該數據到服務端,服務器端未對用戶提交的數據包重放進行有效限制,造成會話重放攻擊。如:
固定賬號破解密碼、固定密碼破解賬號。驗證碼機制可以有效的解決會話重放攻擊,但是驗證碼機制存在漏洞,會話重放攻擊漏洞就仍然存在。

 

 

Nginx配置解決部分滲透測試問題

HOST頭攻擊

 if ($http_Host !~* ^10.121.55.26:8061$) {
        return 403;
        }

  

CSRF跨站請求偽造

修改NG配置文件,server中增加
valid_referers none blocked server_names;
if ($invalid_referer) {
	return 403;
}

  

敏感信息泄漏

修改NG配置文件,http中增加
server_tokens off;

  

不安全的HTTP方法

修改NG配置文件,server中增加
if (request_method !~ ^(GET|HEAD|POST)request​m​​ethod! ​(​​GET∣HEAD∣POST) ) {
return 403;
}

  

參考配置

worker_processes  20;
events {
    worker_connections  1024;
}
http {
	#解決因nginx緩存區空間不足導致的JS加載異常問題(by sunwenyan)
	proxy_buffer_size 128k;
	proxy_buffers 32 128k;
	proxy_busy_buffers_size 128k;
	
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    server_tokens off;
    keepalive_timeout  65;
    upstream webserver.ygsoft.com { 
       server  10.51.90.13:7001; 
       #server 192.168.2.4:8081; 
       #server 192.168.2.5:8082;
       ip_hash;
    }
    #HTTP server
    server {
    listen 80;
    server_name localhost;
    rewrite ^(.*) https://$host$1 permanent;
        location / {
	return 302 https://$host$request_uri;
}
    }
    # HTTPS server
     #
    server {
        listen       443 ssl;
        listen       9020;
        server_name  localhost;
        ssl_certificate      /home/nginx/ygcert/ygdemo.crt;
        ssl_certificate_key  /home/nginx/ygcert/ygdemo.key;
        ssl_protocols TLSv1.1 TLSv1.2;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl on;
        error_page 497  https://$host$uri?$args; 
        error_page  404    /gris_404.html;
        error_page  404 500 502 503 504  /gris_500.html;
        location = /gris_404.html {
            root   http://webserver.ygsoft.com/grm/error/gris_404.html;
        }            
        location = /gris_500.html {
            root   http://webserver.ygsoft.com/grm/error/gris_500.html;
        }      
        underscores_in_headers on;         
        add_header                  Set-Cookie "HttpOnly";                                                       #Cookie添加HttpOnly
        add_header                  Set-Cookie "Secure";                                                         #Cookie添加Secure
        add_header                  Cache-Control: no-store;                                                     #防止緩存
        add_header                  Pragma: no-cache;                                                            #防止緩存
        add_header                  X-Frame-Options "SAMEORIGIN";                                                #只允許本網站的frame嵌套
        add_header                  X-XSS-Protection '1;mode=block';                                             #開啟XSS過濾器
        add_header                  Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";    #HTTP 嚴格傳輸安全 (HSTS) 是保護安全 (HTTPS) Web 站點不被降級到不安全 HTTP 的機制
        #add_header                  X-Content-Type-Options: nosniff;                                            #可能防止在用戶瀏覽器中執行不受信任的內容,可能會影響頁面正常訪問
        add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://10.51.90.224; img-src 'self' https://10.51.90.224; style-src 'self' 'unsafe-inline' https://10.51.90.224; font-src 'self' https://10.51.90.224; frame-src https://10.51.90.224; object-src 'none'";                #配置Content-Security-Policy
        #防止XFF攻擊/偽造IP
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	    #修復不安全http方式,只允許GET和POST方式
        if ($request_method !~* GET|POST) {
            return 403;
        }
        #修復CSRF Referer來源,但不添加CSRF ANTI TOKEN.(設置上面webserver.ygsoft.com的server IP地址)
        valid_referers none blocked server_names 10.51.90.224;
        if ($invalid_referer) {
        return 403;
        }
        #修復HOST頭攻擊,需要設置對應的IP地址(設置上面webserver.ygsoft.com的server IP地址)
        if ($http_Host !~* ^10.51.90.224$) {
        return 403;
        }
       location ~ /FMISWeb/services/ {
         proxy_set_header Host $host:9020;
        proxy_set_header Accept-Encoding "";           
         proxy_pass http://webserver.ygsoft.com;
         subs_filter_types text/xml;            
         subs_filter http://$host https://$host;
       }    
       location ~ /YGFMISWeb/services/ {
         proxy_set_header Host $host:9020;
         proxy_set_header Accept-Encoding "";           
         proxy_pass http://webserver.ygsoft.com;
         subs_filter_types text/xml;            
         subs_filter http://$host https://$host;         
       }    
       location ^~ /grm {
        #防止XFF攻擊/偽造IP
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header Accept-Encoding "";           
         proxy_pass http://webserver.ygsoft.com;
       }    
       location ~ \.(gif|jpg|jpeg|png|bmp|css|js|jsx|htc|vbs|txt|xml|swf|wav|html|htm|flv|ico|json|map|shtml|woff)$ {
      expires 1h;
      proxy_cache_key $host$uri$is_args$args;
      proxy_cache_valid  200 5h;
      proxy_cache_valid  304 5h;
      proxy_cache_valid  301 302 1h;
      proxy_cache_valid  any 1m;
      add_header X-Cache $upstream_cache_status;
      proxy_pass http://webserver.ygsoft.com;
      proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
    }
      location ~ /(barcodeServlet|ScriptServlet|contentmanage.viewFileServlet|getBillMainInfoServlet|getBillSubTableInfoServlet|getEcpFlowHistoryServlet|getBillAttachmentServlet|getEcpBillOptStateServlet|EfNavigateServlet|PageConfigServlet|MetaModelManagerServlet|IpGetterServlet|PortalCheckServlet|RemoteServiceServlet)(/*) {
      expires 1h;
      proxy_cache_key $host$uri$is_args$args;
      proxy_cache_methods GET POST;
      proxy_cache_valid  200 5h;
      proxy_cache_valid  304 5h;
      proxy_cache_valid  301 302 1h;
      proxy_cache_valid  any 1m;
      add_header X-Cache $upstream_cache_status;
      proxy_pass http://webserver.ygsoft.com;
      proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
    }
       location / {
         proxy_pass http://webserver.ygsoft.com;
       }
    }
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM