不想做黑客的安全測試不是優秀的cybercop。怎么才能算是優秀的cybercop呢?那么就就必須學會或懂的黑客慣用一些手法與業內所流行的一些漏洞。
加QQ群:136611782
1、常見的幾種攻擊手段
CC攻擊
XSS攻擊
CSRF攻擊
SQL注入攻擊
TCP全連接攻擊
框架重定向攻擊
慣性思維邏輯攻擊
WEB Server多連接攻擊
2、選擇一個談談期原理
CSRF攻擊 通過跨站點請求偽造盜取他人信息,常見方式有
http://javame.cnblogs.com/login?cas=web-cas&service=http://calhost:8080/test-web
模擬常用URL,通過該鏈接登陸后跳轉自定義網站,進行數據截取。
或者通過框架偽造鏈接模擬與你登陸相似的網頁
http://javame.cnblogs.com/login?user=%27%22%3E%3Ciframe+src%3Dhttp%3A%2F%2Fcalhost:8080%3Etest-web%3E
你在偽造網頁登陸,會將本人該賬戶密碼發送本人服務器。
3、談談怎么預防此類攻擊
1/系統強制屏蔽某些特殊符
2/將一些常用敏感詞匯進行轉碼
3/選擇優秀框架
4/對重要會話進行唯一標示規范
5/根據重要業務避免使用GET方式提交請求
4、舉一個攻擊型案例
《某聽書網站系統漏洞,利用抓包拼接方式獲取網站資源》
http://www.cnblogs.com/Javame/p/3681401.html
5、安全測試的工具都有哪些
常用工具有:
Appscan、N-Stalker、TamperIESetup
工具只能幫我們掃描漏洞,具體的測試還需要我們來進行,怎么說工具是死的人是活的,工具的思維永遠跟不上黑客的思維。
6、怎么避免安全問題
這個世界上沒有完美無缺的網站,我們只能盡可能減少缺陷的粒度,至於怎么避免安全問題,建議項目從立項起將安全問題列入總綱。從代碼層嚴格要求編碼規范,到項目部署網絡層規划。
《華為Java編程軍規,每季度代碼驗收標准》
http://www.cnblogs.com/Javame/p/3513670.html
7、舉幾個例子
1/網絡釣魚是一個統稱,代表攻擊者試圖欺騙用戶提供個人隱私信息,以便身份欺騙。通過框架釣魚與上述鏈接注入類似,攻擊者注入frame或iframe標簽,其中含有類似受攻擊Web應用的惡意源(SRC)屬性,不小心的用戶很可能瀏覽它,但並不知情的情況下訪問並離開原始Web應用系統頁面,轉而定向到惡意Web網站。隨后,攻擊者便可以輕易誘惑用戶提交含有個人信息的表單,或直接通過要求重新登錄來獲取他的登錄憑證。 通過框架釣魚可以將注入的偽造頁面嵌入在原始Web應用頁面中,這樣對攻擊者非常有幫助,因為他的釣魚企圖會披上更可信賴的外表。
GET /javame/os/wonterAction.do? &OsType=search&flagType=adminFlag'"><iframe%20src=http://javame.cnblogs.com> HTTP/1.0
Cookie: JSESSIONID1=1542faewE8Cslodwed4325PyPvVOoSHA:-1;
... ...
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Host: 192.168.3.65
Connection: Keep-Alive HTTP/1.1 200 OK
Content-Length: 18376 Date: Tue, 25 Aug 2009 02:34:39 GMT
Keep-Alive: timeout=4, max=10000
Connection: Keep-Alive
<html>
<head>… …
<input type="hidden" name="flagType" value="adminFlag'"><iframe src=http://javame.cnblogs.com>" />
......
上面已經提到了解決這類注入問題的根本方法在於對用戶輸入的數據進行必要的過濾處理,尤其對於准備拼入返回結果HTML中的參數。對於鏈接注入和通過框架釣魚這類特定注入行為也不例外,只需要應用代碼對這些參數的數據進行合法性檢查,並對HTML保留字符進行轉義。
2/解密的登錄請求 這種缺陷比較好理解,說明應用系統在處理登錄業務時,采用了明文方式來傳遞用戶請求,而沒有通過類似SSL等方式來加密傳輸這些敏感數據。任何以明文傳給服務器的信息都可能被竊,稍后可被攻擊者用來身份欺騙或身份偽裝。類似的根據准金融業務系統對信息安全的要求,除用戶登錄使用的賬戶信息外,很多數據都有加密傳輸的必要。
POST /wy/login HTTP/1.0
Cookie: JSESSIONID=KWIjii1221JIIIW223JIKBIIiiigg!-1187336132
Content-Length: 116
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, */*
Referer: http://lcalhost:8080/wy/login.jsp
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)Host: 192.168.180.36:7001
Pragma: no-cache
Connection: Keep-Alive
title=%CE%B2%C6%D3%CF%B5&BiyId=2&logintype=&username=test&userPassw=test&okey=0
HTTP/1.1 200 OK
Content-Length: 19025 Date: Wed, 02 Sep 2009 06:21:04 GMT
Pragma: No-cache
Server: WebLogic WebLogic Server 8.1 Thu Mar 20 23:06:05 PST 2003 24662
Content-Type: text/html;charset=GBK
Expires: 0
Cache-Control: no-cacheConnection: Close
對於這類需要避免網絡傳輸層嗅探的敏感業務,應用系統非常有必要對用戶提交的敏感數據進行必要的加密,采用SSL這類通用的傳輸層安全規范能夠很好的避免數據遭到截取、串改、轉發。同時,應用系統自定義的應用層消息加密也可以達到同樣的目的。