典型BUG
- 表格的排序、翻頁、添加、刪除的聯合測試
- 輸入框的長度檢查
- 數據庫表中如果指定utf8長度為150,則可以輸入150個中文或英文字母等
- (有時候界面判斷失誤,卻只能輸入50個漢字)
- 數據添加的時候引號等特殊符號沒有處理導致添加失敗
- 搜索時輸入條件是%_,則被當成了數據庫的通配符,
- 金融字段直接檢查表的字段類型不能用float,要用Decimal,float類型會丟失精度
- 外鍵約束檢查
- 通常是下拉列表元素中被引用過的數據不允許刪除
- 產品數據被訂單引用了后,則產品數據不能刪除
- 按鈕連續點擊
- 在可以連續添加的地方,點擊按鈕后要置灰(不可點擊)
- 多行文本保存格式
- 添加的多行文本內容有換行,縮進,保存完查看的時候,格式要保留
- 日期的有效性檢查
- 軟件中的日期無法識別11-31日,無法辨識閏年閏月
- 金額允許輸入負數(合同,收入,轉賬等)
- 文本輸入框輸入特殊符號保存失敗:單引號等
- 單選按鈕沒有默認值以及沒有包含所有可選范圍
Cookie & Session
Session是保存在服務器的全局變量,但是他會將一個SessionID作為Cookie發送給客戶端,以作為下次訪問的憑據
Cookie是服務器發給客戶端的變量,下次客戶端會帶給服務器,Cookie服務器是不保存的
Sessionid其實是特殊的 Cookie
Session太多會消耗服務器資源
Cookie有安全性問題
泄露隱私
Cookie欺騙
都有有效期 Session是交互間隔
安全性測試
登錄密碼
1、密碼的提交要用POST方式
2、需要不可逆加密
3、有密碼復雜度要求(最小長度,大小寫字母數字特殊字符)
4、不可逆的加密方式:MD5/sha1/sha256/SM3
文件上傳
不能上傳執行文件(*.exe)和腳本文件*.vbs(windows);*.sh(linux)
登錄檢查
將登陸后才能打開的URL復制到沒有登錄的瀏覽器檢查,是否跳轉到登錄頁面
Session Cookie檢查
Cookie不能包含隱私
Cookie不能存放影響軟件的重要信息,特別是在做重要操作的時候,不能相信Cookie
session需要設置有效期,多長時間不操作就失效
SQL注入漏洞測試
在輸入框內輸入:' or 1=1 # 驗證是否能登陸成功
如何避免:要將輸入的內容轉義后再操作數據庫
XSS跨站腳本
cross site script
在文本框輸入<script>alert("ok")</script>,若出現彈窗,即有漏洞
如何避免:需要將內容做HTMLEncoding編碼再將其出入數據庫