web測試安全性常見問題

來源:互聯網
上載者:User

標籤:轉換   提交   dmi   自動   協議   scripting   拼接   str   ken   

web測試安全性常見問題

                

一、             登入帳號明文傳輸

1、  問題一:登入帳號密碼或者修改密碼明文傳輸

現象:目前物流對內的java系統基本上都是明文傳輸使用者名稱和密碼的

使用Firefox內建工具-開發人員-網路,或者httpwatch工具很容易擷取到資訊

開啟工具後進行被測系統正常登入軟體可自動擷取資訊

                       

 

建議:

登入使用加密傳輸,一般的登入都採用https方式加密協議

2、  問題二:在後台日誌中明文列印出了登入的帳號和密碼

現象:

建議:在日誌中比較敏感的資訊比如密碼都採用*轉換顯示

 

二、             SQL注入

1、  問題一:部分查詢輸入存在SQL注入風險

所謂SQL注入式攻擊,就是攻擊者把SQL命令插入到Web表單的輸入欄位或頁面請求的查詢字串,欺騙伺服器執行惡意的SQL命令。在某些表單中,使用者輸入的內容直接用來構造(或者影響)動態SQL命令,或作為預存程序的輸入參數,這類表單特別容易受到SQL注入式攻擊。

現象一:

原登入頁面的sql:

SELECT COUNT(*) FROM Login WHERE UserName=‘admin‘ AND Password=‘123456‘

現在登入時輸入:’admin’--

SELECT COUNT(*) FROM Login WHERE UserName=‘admin‘-- Password=‘123‘

因為UserName值中輸入了“--”注釋符,後面語句被省略而登入成功。(常常的手法:前面加上‘; ‘ (分號,用於結束前一條語句),後邊加上‘--‘ (用於注釋後邊的語句))

現象二:在查詢語句中輸入:’ or ‘1=1  看是否會查詢出所有的記錄

建議:開發不要直接寫靜態sql語句進行查詢,需要使用動態拼接SQL,對於web測試需要對查詢部位進行SQL注入測試。

註:參數化查詢原理:在使用參數化查詢的情況下,資料庫伺服器不會將參數的內容視為SQL指令的一部份來處理,而是在資料庫完成 SQL 指令的編譯後,才套用參數運行,因此就算參數中含有具有損的指令,也不會被資料庫所運行。

三、             XSS跨網站攻擊

1、  問題一:部分系統存在提交表單時輸入html代碼和JS代碼可在伺服器執行的情況

跨站指令碼攻擊(Cross Site Scripting)惡意攻擊者往Web頁面裡插入惡意Script代碼,當使用者瀏覽該頁之時,嵌入其中Web裡面的Script代碼會被執行,從而達到惡意攻擊使用者的特殊目的,如:

<input>

<script>alert(‘xss‘)</script>

 

現象:文字框中輸入<input>或<script>alert(‘xss‘)</script>

 

提交後<input>和<script>alert(‘xss‘)</script>作為代碼執行了出現了輸入框,而不是作為字串儲存

 

建議:

原則:不相信客戶輸入的資料
注意: 攻擊代碼不一定在<script></script>中,還有其他方式

1)只允許使用者輸入我們期望的資料。 例如: 年齡的textbox中,只允許使用者輸入數字。 而數字之外的字元都過濾掉。

2)對資料進行Html Encode 處理

3)過濾或移除或轉義特殊的Html標籤, 例如: <script>, <iframe> , &lt; for <, &gt; for >, &quot for

 

四、             跨站偽造

1、  問題一:構造POST請求進行請求可提交到資料庫中

是一種挾制使用者在當前已登入的Web應用程式上執行非本意的操作的攻擊方法,也是可以從第三方網站提交的

現象:如下腳步使用者擷取到請求地址後,可以自己構造請求訊息請求參數和值,通過瀏覽器執行後也可以提交到資料庫那說明就是存在跨站偽造

 

建議:

Token驗證

在每個HTTP請求裡附加一部分資訊是一個防禦CSRF攻擊的很好的方法,因為這樣可以判斷請求是否已經授權。這個“驗證token”應該不能輕易的被未登入的使用者猜測出來。如果請求裡面沒有這個驗證token或者token不能匹配的話,伺服器應該拒絕這個請求。

 

五、             目前普遍現象Java層未做校正或未做全部校正

一般來說JS的校正都是一種輔助,實際校正都要放在伺服器,如果不做JAVA校正就可能會存在

1)  使用WebSarab等代理工具繞過頁面校正,直接篡改資料後往資料庫中插入資料;

2)  html層的校正不能防止使用者偽造請求 ,如上面的token校正就是其中一個例子;

3)  按ctrl+f5強制重新整理提交,出現重複提交

4)  js需要瀏覽器下載,如果瀏覽器下載JS失敗,按鈕未灰化使用者可以反覆點擊,可出現重複提交,那還得靠伺服器端的重複提交來保證

 

六、             借用WebSarab工具來繞過用戶端的校正,驗證是否進行了服務校正

七、             借用AppScan工具來自動掃描安全性問題

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.