成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

軟件測試技術之安全性測試

安全
安全性測試是一項迫切需要進行的測試,測試人員需要像黑客一樣攻擊軟件系統,找到軟件系統包含的安全漏洞。

安全性測試是一項迫切需要進行的測試,測試人員需要像黑客一樣攻擊軟件系統,找到軟件系統包含的安全漏洞。

1.網頁安全漏洞檢測

一些設計不當的網站系統可能包含很多可以被利用的安全漏洞,這些安全漏洞如同給遠程攻擊者開了一個后門,讓攻擊者可以方便地進行某些惡意的攻擊。例如,公共漏洞和披露網站CVE(Common Vulnerabilities and Exposures)公布了Element InstantShop中的Web網頁add_2_basket.asp的一個漏洞項,允許遠程攻擊者通過隱藏的表單變量“price”來修改價格信息。這個表單的形式如下所示:

<INPUT TYPE = HIDDEN NAME = "id" VALUE = "AUTO0034">
<INPUT TYPE = HIDDEN NAME = "product" VALUE = "BMW545">
<INPUT TYPE = HIDDEN NAME = "name" VALUE = "Expensive Car">
<INPUT TYPE = HIDDEN NAME = "price" VALUE = "100">

利用這個漏洞,不懷好意者可以任意設定price字段的值,然后提交給InstantShop網站的后臺服務器,從而可能用100美元就可以獲得一部BMW545。

技巧:發現類似的安全漏洞的最好方法是進行代碼審查。除了代碼審查,測試人員還可以利用一些測試工具進行檢查,例如:Paessler Site Inspector、Web Developer等。

2.SQL注入

SQL注入是另外一個經常忽略的安全漏洞,但是SQL注入同時也是一種非常普遍的代碼漏洞,它會導致數據庫端的敏感數據泄漏,或者服務器受到黑客的控制。例如,下面的一段代碼就存在SQL語句的注入漏洞。

SqlConnection sqlcon = sqlconnA;

//打開連接
sqlcon.Open();

//組合一條查詢語句
SqlCommand cmd = "select count(*) from User where LogonName = ‘" + this.textBox1.Text +”’ and Password = ‘”+this.textBox2.Text;

SqlDataAdapter adpt = new SqlDataAdapter(cmd, sqlcon);

DataSet ds = new DataSet();
adpt.Fill(ds);
//關閉連接
sqlcon.Close();

//如果返回數據不為空,則驗證通過
If(ds.Tables[0].Rows.Count>0)
{
   retuen true;
}
else
{
   Return false;
}

這段代碼從textBox1獲得用戶輸入的用戶名,從textBox2獲得用戶輸入的密碼,然后執行數據庫查詢操作。假設在textBox1的輸入框輸入一個已知的用戶名,然后再做一些手腳,則可以不輸入密碼也能登錄系統。這個字符串利用了SQL Server對單引號的處理方式,只要簡單地組合成類似下面的字符串并輸入到textBox1的輸入框中即可。

Admin' or '1' = '1

這樣就可以利用已知的Admin賬號,不輸入密碼就能登錄系統。因為給預期的SQL語句注入了額外的語句,所以實際上提交到SQL Server數據庫執行的語句變成了如下所示的語句:

select count(*) from user where LogonName = 'Admin' or '1'='1' and Password=''

由于1=1是恒等的,因此返回的結果肯定為真,從而干擾了用戶信息的正常驗證,導致能繞過密碼驗證而登錄系統。

技巧:檢查是否存在SQL語句注入漏洞的最好辦法是代碼審查,查看所有涉及SQL語句提交的地方,是否正確處理了用戶輸入的字符串。

3.緩沖區溢出

不僅僅是連上Internet的軟件系統才會有安全問題,個人軟件系統或公司內部的軟件系統也存在安全問題,這些安全問題不會導致信用卡密碼的泄漏,但是可能導致工作成果的丟失。如果軟件系統是采用C語言這類容易產生緩沖區溢出漏洞的語言開發的話,作為測試人員就要注意檢查可能造成系統崩潰的安全問題了。

例如,下面的兩行C語言代碼就可能造成緩沖區的溢出問題:

char buf[20];
gets(buf);

如果使用gets函數來從stdin讀入數據,則可能出現緩沖區溢出的問題。另外一個例子如下:

char buf[20];
char prefix[] = "http://";
strcpy(buf,prefix);
strncat(buf,path,sizeof(buf));

這里問題出現在sizeof的參數不應該是整個buf的大小,而是buf的剩余空間大小。

技巧:

測試人員需要對每一個用戶可能輸入的地方嘗試不同長度的數據輸入,以驗證程序在各種情況下正確地處理了用戶的輸入數據,而不會導致異常或溢出問題。或者通過代碼審查來發現這些問題。還可以利用一些工具來幫助檢查這類問題,例如AppVerifier等。

責任編輯:王文文 來源: IT168
相關推薦

2021-12-29 21:15:08

軟件測試軟件開發

2009-11-25 10:57:17

2012-04-05 09:52:21

開源軟件Linux

2009-09-01 16:29:01

C#單元測試

2019-06-17 08:43:46

安全測試網絡安全攻擊

2015-06-15 10:48:25

2023-03-21 14:59:18

2009-11-30 09:41:38

2011-06-21 16:30:57

2013-08-27 13:59:05

云服務器服務器宕機

2011-06-14 14:27:43

灰盒測試

2022-10-13 06:46:05

Dapr訪問控制策略

2010-12-28 20:16:24

2009-12-10 10:20:04

2016-06-12 11:53:27

2021-07-03 17:44:34

并發高并發原子性

2016-11-15 20:26:37

2011-05-19 16:09:10

軟件測試

2011-12-20 11:26:42

OpenStack

2024-12-07 18:33:28

Testin云測
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久不卡 | 在线观看www视频 | 男人午夜视频 | 日韩在线不卡 | 日韩精品国产精品 | 黄色片在线观看网址 | 久久伊 | 911网站大全在线观看 | 欧美aaa| 日日碰狠狠躁久久躁96avv | 四虎影视免费在线 | 婷婷色综合| 婷婷丁香在线视频 | 91视视频在线观看入口直接观看 | 中文字幕第十页 | 一级特黄色毛片 | 久久综合入口 | 在线观看av网站永久 | 国产欧美一级二级三级在线视频 | 国产成人综合在线 | 成人在线观看黄 | 午夜激情视频在线 | 福利视频一区二区 | 免费av毛片 | 色综合久久久久 | 欧美a在线看 | 精品国产乱码 | 欧美a在线 | 国产成人精品一区二区三区在线 | 成人免费久久 | 国产69久久精品成人看动漫 | 色.com| 美女久久久久久久 | 国产资源视频 | 成人美女免费网站视频 | 日韩精彩视频 | 久久久中文 | 精品国产乱码久久久久久丨区2区 | 亚洲男人的天堂网站 | 香蕉91| 欧美一区二区三区国产 |