對(duì)數(shù)據(jù)進(jìn)行增刪改操作的時(shí)候,會(huì)返回影響條數(shù),可以根據(jù)這個(gè)判斷。另外如果進(jìn)行邏輯刪除,根據(jù)需要可以判斷這條數(shù)據(jù)是否已經(jīng)被邏輯刪除了,沒(méi)有這個(gè)需求的話,可以直接update。

創(chuàng)新互聯(lián)是一個(gè)技術(shù)型專業(yè)網(wǎng)絡(luò)公司,致力于為廣大企業(yè)、創(chuàng)業(yè)者打造切實(shí)有效的PC站、WAP站、APP站點(diǎn)等企業(yè)網(wǎng)站。無(wú)論是企業(yè)宣傳的成都全網(wǎng)營(yíng)銷、致力于營(yíng)銷的電商網(wǎng)站、內(nèi)容資訊分享的分類信息網(wǎng)站或其他類型網(wǎng)站,我們都從網(wǎng)站前期定位分析策劃、技術(shù)架構(gòu),到網(wǎng)站界面設(shè)計(jì)、創(chuàng)意表現(xiàn)、站點(diǎn)架構(gòu)搭建以及后續(xù)訪問(wèn)監(jiān)控、維護(hù)、網(wǎng)站托管運(yùn)營(yíng)反饋建議等提供整套服務(wù)。
Java語(yǔ)言包含三種核心機(jī)制:Java 虛擬機(jī)、垃圾收集機(jī)制和代碼安全檢測(cè)。
1、Java 虛擬機(jī)(Java Virtual Machine,JVM)
在一臺(tái)計(jì)算機(jī)上由軟件或硬件模擬的計(jì)算機(jī)。Java虛擬機(jī)讀取并處理經(jīng)編譯過(guò)的平臺(tái)無(wú)關(guān)的字節(jié)碼class文件。
2、垃圾收集機(jī)制(Garbage collection)
在C/C++ 等語(yǔ)言中,由程序員負(fù)責(zé)回收無(wú)用內(nèi)存。Java語(yǔ)言解除了程序員回收無(wú)用內(nèi)存空間的責(zé)任。它提供一種系統(tǒng)級(jí)線程跟蹤存儲(chǔ)空間的分配情況。并在JVM的空閑時(shí),檢查并釋放那些可被釋放的存儲(chǔ)器空間。垃圾收集在Java程序運(yùn)行過(guò)程中自動(dòng)進(jìn)行,程序員無(wú)法精確控制和干預(yù)。
3、代碼安全性檢測(cè)(Code Security)
Java執(zhí)行代碼的時(shí)候,由JVM對(duì)運(yùn)行的代碼進(jìn)行安全性檢測(cè),當(dāng)進(jìn)行一些非法操作的時(shí)候,比如修改一些系統(tǒng)設(shè)置的時(shí)候,JVM會(huì)發(fā)出警告。
Ⅰ:字節(jié)碼校驗(yàn)器加載查詢執(zhí)行需要的所有類。
Ⅱ:運(yùn)行時(shí)解釋器執(zhí)行代碼。
Ⅲ:在運(yùn)行時(shí),字節(jié)碼被加載,驗(yàn)證后在解釋器里面運(yùn)行。
Ⅳ:類加載器通過(guò)分離本機(jī)文件系統(tǒng)的類和從網(wǎng)絡(luò)導(dǎo)入的類增加安全性。
A.Ⅱ、Ⅲ
B.Ⅱ、Ⅲ、Ⅳ
C.Ⅰ、Ⅲ、Ⅳ
D.Ⅲ、Ⅳ
正確答案:B
如何安全檢測(cè)Java?Web應(yīng)用網(wǎng)站漏洞.txt32因?yàn)閻?ài)心,流浪的人們才能重返家園;因?yàn)閻?ài)心,疲憊的靈魂才能活力如初。渴望愛(ài)心,如同星光渴望彼此輝映;渴望愛(ài)心,如同世紀(jì)之歌渴望永遠(yuǎn)被唱下去。web開發(fā)應(yīng)用程序(網(wǎng)站),是目前應(yīng)用最廣泛的程序。但是開發(fā)者的水平參差不齊,導(dǎo)致了各種各樣web漏洞的出現(xiàn)。本文站在分層架構(gòu)的角度,分析一下如何在java?web程序中找到可能出現(xiàn)的種種漏洞。??? ????????本文討論的只是web程序上的漏洞,和其它漏洞,是相對(duì)獨(dú)立的。這句話看似廢話,實(shí)際上卻說(shuō)明了時(shí)常被忽略的因素,即:“很多人認(rèn)為只要我開發(fā)web程序沒(méi)有漏洞,web服務(wù)器就安全了”,事實(shí)上,并非如此。一個(gè)合格的web程序開發(fā)人員,應(yīng)該時(shí)刻清楚自己開發(fā)的程序會(huì)在什么環(huán)境中被使用,以及一旦自己的程序產(chǎn)生某種漏洞,最終會(huì)導(dǎo)致什么后果。簡(jiǎn)單的說(shuō),web程序被安裝在一臺(tái)或多臺(tái)(分布式)web服務(wù)器上,一旦安裝成功,就等于在為廣大用戶提供服務(wù)的同時(shí),給入侵者打開了一條或N條新的思路。如果服務(wù)器管理員剛好對(duì)安全配置不了解(事實(shí)上,國(guó)內(nèi)這種管理員居多),那么只好由我們的程序來(lái)守好最后的關(guān)卡最后一道防線。??? ????????看了本文題目,一定有一部分人會(huì)認(rèn)為,“不就是講JSP漏洞么,用得著披著這么厚的包裝么?”,為了回答這個(gè)疑問(wèn),我們先看看JSP和ASP的開發(fā)有什么不同吧。在ASP時(shí)代(ASP,PHP等語(yǔ)言),開發(fā)一套系統(tǒng)往往比修改別人已經(jīng)寫好的系統(tǒng)痛苦的多,因?yàn)樗鼈儼阉械拇a(包括鏈接數(shù)據(jù)庫(kù)的代碼、執(zhí)行SQL語(yǔ)句的代碼、控制頁(yè)面顯示的代碼)統(tǒng)統(tǒng)都放在%......%中,我們時(shí)常會(huì)看到如下代碼塊:??? ????-----------代碼來(lái)自某ASP?SHELL-----------??????Function?GetFileSize(size)??????Dim?FileSize?? ????FileSize=size?/?1024?? ????FileSize=FormatNumber(FileSize,2)?? ????If?FileSize??1024?and?FileSize??1?then?? ????GetFileSize="font?color=red"?FileSize??"/font?KB"??????ElseIf?FileSize?1024?then?? ????GetFileSize="font?color=red"?FormatNumber(FileSize?/?1024,2)??"/font?MB"??????Else?? ????GetFileSize="font?color=red"?Size??"/font?Bytes"??????End?If?? ????End?Function?? ????----------------------------------------?????? ????????如果客戶的需求變了,要求頁(yè)面不能使用“font?color=red”等標(biāo)簽,全部應(yīng)用“CSS”顯示。掛了,把程序員召喚出來(lái),一個(gè)一個(gè)的改吧。。。注意,這里強(qiáng)調(diào)下,特指“召喚程序員”才能改,如果是學(xué)美工的,只會(huì)HTML、JS、CSS,完了,這活還干不成。而這些只是簡(jiǎn)單的頁(yè)面修改,如果客戶今天說(shuō),MYSQL服務(wù)器承擔(dān)不了這個(gè)數(shù)據(jù)量,要掛Oracle,可憐的程序員就要在一片一片的代碼海洋里尋找執(zhí)行SQL語(yǔ)句的代碼,而每一個(gè)文件都可能存放著SQL語(yǔ)句,意味著每一個(gè)文件都可能在受SQL注入的威脅。??
而JSP采用MVC模式分層架構(gòu)進(jìn)行開發(fā),就可以把所有的文件分開,根據(jù)其用途,分別放在不同的文件夾下(分層),每個(gè)文件夾下的文件只負(fù)責(zé)自己的事情。例如數(shù)據(jù)訪問(wèn)層的代碼就放在數(shù)據(jù)訪問(wèn)層的文件夾下,業(yè)務(wù)邏輯層的代碼也都放在自己的文件夾下,當(dāng)顯示層(這一層是為了把最終的運(yùn)算結(jié)果顯示給用戶看)的需求發(fā)生變化,就像前面的客戶需求,我們只要修改這一層的文件就是了,其他層的代碼根本不需要?jiǎng)樱薷恼咭膊恍枰闷渌鼘拥拇a。??? ????代碼分層了,意味著漏洞也在跟著分層,我們尋找JSP漏洞的思路也要跟著分層,才能與時(shí)俱進(jìn)。??? ????????下面在講述尋找漏洞的過(guò)程中,本文就拿一個(gè)簡(jiǎn)單的分層架構(gòu)例子來(lái)做樣板。樣板程序的名稱為“XX文章系統(tǒng)”,系統(tǒng)使用了STRUTS框架,和安全有關(guān)的層分為:??? ?????“DB層”,這一層存放了鏈接數(shù)據(jù)庫(kù)的字符串,以及JdbcTemplate類,直接訪問(wèn)數(shù)據(jù)庫(kù)。因?yàn)樵趈ava中,執(zhí)行SQL語(yǔ)句的函數(shù)按照返回值可以分為三類,所以在這一層定義了JDBC模版類(JdbcTemplate),每一次使用操作數(shù)據(jù)庫(kù)時(shí)都要執(zhí)行這一層的三個(gè)方法其中一個(gè)。??? ????“DAO層(Data?Access?Object數(shù)據(jù)訪問(wèn)對(duì)象層)”,從安全角度上看,這一層存放了SQL語(yǔ)句(并不執(zhí)行SQL語(yǔ)句,語(yǔ)句傳給DB層執(zhí)行)。這一層調(diào)用“DB層”訪問(wèn)數(shù)據(jù)庫(kù),它只知道“DB層”的存在,不知道數(shù)據(jù)庫(kù)的存在。??? ????“SERVICE層”,業(yè)務(wù)邏輯層,因?yàn)橐粋€(gè)業(yè)務(wù)的實(shí)現(xiàn),并不是一次數(shù)據(jù)庫(kù)訪問(wèn)就可以完成的,所以這一層通過(guò)N次調(diào)用“DAO層的方法”實(shí)現(xiàn)業(yè)務(wù)邏輯,它只知道“DAO層”的存在,不知道“DB層”和數(shù)據(jù)庫(kù)的存在。??“ACTION層”,調(diào)用業(yè)務(wù)邏輯層,根據(jù)返回的結(jié)果,控制JSP頁(yè)面顯示。它只知道業(yè)務(wù)層的存在。這一層是入侵者的攻擊平臺(tái)。??? ????“Form層”,把用戶POST提交的信息封裝成Form對(duì)象,經(jīng)過(guò)驗(yàn)證后提交給ACTION層處理。??? ????“JSP層”(顯示層),這一層是最終顯示給用戶看的頁(yè)面,同時(shí)也是入侵者的攻擊平臺(tái)。??? ?????????用戶通過(guò)訪問(wèn)ACTION層,自動(dòng)會(huì)發(fā)生:“ACTION調(diào)用SERVICE,SERVICE調(diào)用DAO,DAO調(diào)用DB,DB執(zhí)行SQL語(yǔ)句返回結(jié)果給DAO,DAO返回給SERVICE,SERVICE返回給ACTION,ACTION把數(shù)據(jù)顯示到JSP里返回給用戶”。??? ????有了樣板,我們來(lái)分析這套程序中可能出現(xiàn)的各種web漏洞。??? ????1、SQL注入漏洞??? ????????從SQL注入漏洞說(shuō)起吧,在web漏洞里,SQL注入是最容易被利用而又最具有危害性的。怎么快速的找到呢?先分析流程,就拿用戶查看文章這個(gè)流程為例:用戶訪問(wèn)一個(gè)
action,告訴它用戶想看ID為7的文章,這個(gè)action就會(huì)繼續(xù)完成前面所說(shuō)的流程。??? ????????如果是ASP程序,這就是最容易產(chǎn)生問(wèn)題的時(shí)候,ASP是弱類型,接到參數(shù)后不需要轉(zhuǎn)換類型,就和SQL語(yǔ)句連加起來(lái)。但是JSP就不一樣,JSP是強(qiáng)類型的語(yǔ)言,接受有害的參數(shù)后:對(duì)于GET請(qǐng)求(直接在地址欄訪問(wèn)頁(yè)面),如果這里要的是int型,即使不懂安全的程序員,也會(huì)把它(文章的ID)立刻轉(zhuǎn)換成int,因?yàn)檫@里轉(zhuǎn)換后在后面的處理中會(huì)更容易操作,而這時(shí)程序就出錯(cuò)了;對(duì)于POST請(qǐng)求,如果這里要的是int型,程序會(huì)在把它封裝成Form對(duì)象時(shí),因?yàn)樽詣?dòng)要進(jìn)行類型轉(zhuǎn)化,同樣發(fā)生錯(cuò)誤,這兩種錯(cuò)誤發(fā)生后,根本不會(huì)訪問(wèn)后面的流程就跳出了,或許這就是JSP天生的安全性。所以,通常提交的變量是int時(shí),不會(huì)發(fā)生問(wèn)題,問(wèn)題會(huì)出現(xiàn)在string參數(shù)這里,如果要查看某用戶的信息,程序可能會(huì)讓你提交如下參數(shù):showuser.do?????username=kxlzx。問(wèn)題來(lái)了,因?yàn)檫@里是string類型,所以不懂安全的程序員頂多會(huì)判斷一下是不是空,就連加成為SQL語(yǔ)句。有漏洞的程序大概會(huì)寫成這個(gè)樣子:??? ????ACTION的代碼:?showuser.do??????String?username?=?null;?? ????username?=?request.getParameter("username");??????Service?service?=?new?Service();??????service.findByUsername(username);?? ????得到參數(shù)后調(diào)用service,service層直接交給了Dao層,dao的代碼:??????public?Object?findByUsername(String?username)???????{?? ????JdbcTemplate?jt=new?JdbcTemplate();?? ????String?sql?=?"select?*?from?Users?where?username=’"+username"’";??????List?list?=?jt.query(sql);??????...................???????}????? ???????dao調(diào)用了DB層的JdbcTemplate,把SQL語(yǔ)句拼好后,傳給了JdbcTemplate去執(zhí)行。不用再看這里的JdbcTemplate,就可以知道里面的代碼使用了Statement的executequery()方法執(zhí)行,導(dǎo)致了SQL注入。??? ???????分析了這么半天,有讀者會(huì)問(wèn):“難道我要費(fèi)這么大的力氣才能找到漏洞么?”。的確,通常在ASP程序里找注入時(shí)的思路就是這樣子,但是我們現(xiàn)在是在使用了開發(fā)模式分層架構(gòu)的JSP程序里,應(yīng)該按照分層架構(gòu)的思維去找漏洞。在回答這個(gè)問(wèn)題之前,我們還得繞個(gè)彎子,看看怎么在這里預(yù)防SQL注入(java始終都是這么優(yōu)美,它不會(huì)直接告訴你答案,而是一層一層的讓你撥開云霧)。??? ????????剛才分析流程,是從正向分析的,從用戶輸入到產(chǎn)生漏洞,我們?cè)诜烙臅r(shí)候,不妨倒過(guò)來(lái)看看,從DB層入手。JdbcTemplate調(diào)用執(zhí)行SQL語(yǔ)句,可以有兩個(gè)類供我們選擇,一個(gè)是Statement,另一個(gè)就是預(yù)處理的Statement,兩者有著效率上和安全上的顯著差別。在效率上,只要數(shù)據(jù)庫(kù)支持預(yù)處理技術(shù)(sqlserver,mysql,oracle等都支持,只有少數(shù)access等不支持),就會(huì)在大量執(zhí)行SQL語(yǔ)句時(shí)增加速度;在安全上,使用預(yù)處理,會(huì)把接受的參數(shù)也經(jīng)過(guò)預(yù)處理,從而不會(huì)作為SQL語(yǔ)句的一部分執(zhí)行,而是僅僅作為SQL語(yǔ)句中的參數(shù)部分
內(nèi)容被執(zhí)行。一旦DB層使用了預(yù)處理,DAO層的SQL語(yǔ)句也會(huì)發(fā)生變化,成為這個(gè)樣子:??????public?Object?findByUsername(String?username)???????{?? ????JdbcTemplate?jt=new?JdbcTemplate();?? ????String?sql?=?"select?*?from?Users?where?username=?";??????List?list?=?jt.query(sql,new?Object[1]{username});??????...................??????}????? ????????這樣,SQL注入就和我們的程序幾乎無(wú)關(guān)了,注意我說(shuō)的是幾乎,而不是全部。知道了怎么防御,于是一切在這里變的簡(jiǎn)單極了,我們應(yīng)該直接去DB層找到JdbcTemplate,看看代碼,一旦使用了Statement,很好,這個(gè)系統(tǒng)十有八九有漏洞,下面要做的是使用Editplus搜索“request.getParameter”。沒(méi)有使用預(yù)處理的系統(tǒng),可能會(huì)在action層進(jìn)行防御,對(duì)參數(shù)過(guò)濾,但總有防御不到的時(shí)候,因?yàn)閼?zhàn)線拉的太長(zhǎng)了,每一個(gè)action里都可能接受參數(shù)并存在漏洞。??? ????????還有一種情況,系統(tǒng)一部分使用了預(yù)處理,一部分沒(méi)有,這樣的情況可能是因?yàn)轫?xiàng)目趕的比較倉(cāng)促,人員沒(méi)有經(jīng)過(guò)正規(guī)培訓(xùn),最后艱難的整合到了一起。這種情況也好辦,直接在DAO層搜索("’)或(’"),這些符號(hào)用于和字符串變量連加,拼SQL語(yǔ)句,肯定是這些語(yǔ)句之后的代碼使用了Statement。然后再往上層找,看看哪個(gè)action調(diào)用了這個(gè)有問(wèn)題的dao類,也可能發(fā)生SQL注入。?? ???????即使系統(tǒng)使用了預(yù)處理,別忘了,程序給客戶使用后,客戶有權(quán)利去擴(kuò)展的。程序拿到客戶那里,客戶有了新的需求,而這個(gè)需求又不大,很可能不愿意花錢重新雇人來(lái)實(shí)現(xiàn)擴(kuò)展功能,在這個(gè)時(shí)候也可能出現(xiàn)問(wèn)題,客戶使用自己的程序員擴(kuò)展AJAX功能,這個(gè)程序員因?yàn)榕鲁鰡?wèn)題,不敢動(dòng)源程序,就在web.xml里加了一個(gè)servlet,這個(gè)servlet直接去調(diào)用conn。可怕的事情發(fā)生了。所以,我們的搜索漏洞規(guī)則中又加上了一條,在非dao層的文件中,搜索“select,update,delete”等字符串。??? ????2、暴露程序信息漏洞??? ????????這個(gè)漏洞是怎么來(lái)的呢?我們需要從異常說(shuō)起。有經(jīng)驗(yàn)的入侵者,可以從JSP程序的異常中獲取很多信息,比如程序的部分架構(gòu)、程序的物理路徑、SQL注入爆出來(lái)的信息等,這個(gè)漏洞很容易防御,卻很難快速定位漏洞文件。出現(xiàn)這樣漏洞的時(shí)候,通常是我們?cè)趯懘a的時(shí)候,少了一些可能性的考慮而導(dǎo)致的。這樣的問(wèn)題都是經(jīng)驗(yàn)造成的,而尋找漏洞也要通過(guò)經(jīng)驗(yàn)加運(yùn)氣(要有仙緣。。。),我個(gè)人技術(shù)有限,就不多說(shuō)了。防御的方法就是在程序中加上“Exception層”,自定義異常,把系統(tǒng)產(chǎn)生的異常統(tǒng)統(tǒng)包裝起來(lái),不要放過(guò)任何一個(gè)可能產(chǎn)生異常的地方。像騰訊的異常就包裝的很好“對(duì)不起,今天的注冊(cè)人數(shù)已經(jīng)達(dá)到十萬(wàn),請(qǐng)您明天再來(lái)。。。”,廢話,日注冊(cè)量都十萬(wàn),還讓不讓人活啦,鐵定是程序發(fā)生了異常,不敢讓各位大大們看到真實(shí)的面孔。
java的安全性主要體現(xiàn)在:下載到本地的java?applet只限制在java運(yùn)行環(huán)境中,而不允許它訪問(wèn)計(jì)算機(jī)的其他部分。
這是由于java編譯器輸出的并不是可執(zhí)行代碼,而是字節(jié)代碼(bytecode),java的運(yùn)行系統(tǒng)就是java虛擬機(jī),每個(gè)java程序的運(yùn)行都是在java虛擬機(jī)的控制之下。java虛擬機(jī)可以包含這個(gè)程序并且阻止它在系統(tǒng)外產(chǎn)生副作用。通過(guò)java語(yǔ)言中的適當(dāng)限制增強(qiáng)了安全性。
之前在做 國(guó)內(nèi)軟件測(cè)試現(xiàn)狀調(diào)查 之時(shí),因?yàn)榘踩詼y(cè)試工具太多,結(jié)果顯示其分布比較廣,填寫“其它”占的比重很高(66%),為此專門做了一個(gè)調(diào)查 ,雖然收集的有效反饋不多(不到100),但基本反映了測(cè)試工具的使用現(xiàn)狀。
1. 從總體看,(靜態(tài)的)代碼分析工具和(動(dòng)態(tài)的)滲透測(cè)試工具應(yīng)用還是比較普遍 ,超過(guò)60%,而且滲透測(cè)試工具(73.68%)略顯優(yōu)勢(shì),高出10%。模糊測(cè)試工具,可能大家感覺(jué)陌生,低至16%,但它在安全性、可靠性測(cè)試中還是能發(fā)揮作用的。從理論上看,代碼分析工具應(yīng)該能達(dá)到95%以上,因?yàn)樗子茫野踩砸呀?jīng)是許多公司的紅線,得到足夠重視。 希望以后各個(gè)公司能夠加強(qiáng)代碼分析工具和模糊測(cè)試工具的應(yīng)用。
2. Java代碼安全性分析工具前三名是 : IBM AppScan Source Edition(42.11%)、Fotify Static Code Analyzer(36.84%)、Findbugs(26.32%) ,而JTest、PMD等沒(méi)進(jìn)入前三名,雖然和第3名差距不大,只有5%左右。也有公司使用Checkmarx,不在此調(diào)查中。Coverity也支持Java,可能Java的開源工具較多,人們很少用它。
3. C/C++代碼安全性分析工具前三名是 : C++Test(38.89%)、IBM AppScan Source Edition(38.89%)、Fotify Static Code Analyzer(27.78%)、Visual Studio(27.78%) 。Coverity、CppCheck、LDRA Testbed 沒(méi)能進(jìn)入前三名,可能LDRA Testbed比較貴,關(guān)鍵的嵌入式軟件采用比較多,而Coverity Cloud針對(duì)Github等上面的代碼有免費(fèi)服務(wù)(),大家可以嘗試應(yīng)用。
4. JavaScript代碼安全性分析工具應(yīng)用最多的是 Google's Closure Compiler,其次是JSHint,也有的公司用Coverity來(lái)進(jìn)行JS的代碼分析。
5. Python代碼安全性分析工具應(yīng)用最多的是Pychecker ,其次是PyCharm,而Pylint使用比較少,也有幾個(gè)公司用Coverity來(lái)進(jìn)行Python的代碼分析。
6. Web應(yīng)用安全性測(cè)試的商用工具中,IBM AppScan異軍突起 ,高達(dá)70%的市場(chǎng),其它商用工具無(wú)法與它抗衡,第2名SoapUI和它差距在50%以上,HP webInspect 不到10%。
7. Web應(yīng)用安全性測(cè)試的開源工具中,F(xiàn)irebug明顯領(lǐng)先 ,將近50%,比第2名OWASP ZAP高12%,第三名是Firefox Web Developer Tools,超過(guò)了20%。
8. Android App的安全性測(cè)試工具中,Android Tamer領(lǐng)先 ,將近30%,比第2、3名AndroBugs、Mobisec、Santoku高15%左右。也有用其它不在調(diào)查項(xiàng)中的工具,總體看,Android App安全性測(cè)試工具分布比較散。
9. 網(wǎng)絡(luò)狀態(tài)監(jiān)控與分析工具中,Wireshark遙遙領(lǐng)先,超過(guò)70%。 其次就是Tcpdump、Burp Suite,占30%左右。網(wǎng)絡(luò)狀態(tài)監(jiān)控與分析工具挺多的,但從這次調(diào)查看,越來(lái)越集中到幾個(gè)工具中,特別是Wireshark功能強(qiáng),覆蓋的協(xié)議比較多,深受歡迎。
10. SQL注入測(cè)試工具排在前三位的:SQLInjector、SQL Power Injector、OWASP SQLiX, 三者比較接近,差距在6%左右。其它兩項(xiàng)工具Pangolin、SQLSqueal也占了10%,而Antonio Parata、Blind SQL Injections、Bsqlbf-v2、Multiple DBMS Sql Injection、Sqlninja幾乎沒(méi)什么人用。
安全性測(cè)試工具很多,還包括黑客常用的一些工具,如暴力破解口令工具、端口掃描工具、防火墻滲透工具、滲透測(cè)試平臺(tái)等。從某種意義看,它們超出軟件范疇,更多屬于網(wǎng)絡(luò)空間安全、密碼學(xué)等范疇,在此就不展開了。概括起來(lái)最受歡迎的軟件安全性測(cè)試工具有:
網(wǎng)頁(yè)題目:代碼安全性檢測(cè)java,代碼安全檢查
鏈接地址:http://chinadenli.net/article22/dsgcijc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、、虛擬主機(jī)、Google、軟件開發(fā)、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)