Web安全實踐(12)密碼探測
本系列導航http://www.cnblogs.com/xuanhun/archive/2008/10/25/1319523.html
安全技術區http://space.cnblogs.com/group/group_detail.aspx?gid=100566
前言
(作者:玄魂)
接著上一篇的使用者名稱列舉的話題接下來簡單的探討一下常見的密碼探測。
園友Hunts.C昨天留言談到了校內網,他說”就是個使用者ID和郵箱,實際上這裡的使用者ID就是使用者名稱的作用啊。 只不過它的登入是使用郵箱登入“,其實校內網支援的登入方式為使用者名稱登入和郵箱登陸兩種方式,另外對每個使用者都分配了唯一的ID。Hunts.C說的對,ID和使用者名稱的作用是相同的,但是對於使用者名稱列舉來說,ID是對使用者名稱的隱藏,因為用ID是不能登陸的。
這一次要 說的內容比較少。
正文
12.1自動化密碼探測
所謂自動化密碼探測就是利用探測軟體不斷的向目標發出請求,根據響應來判斷探測成功與否。
自動化探測一般有兩種方式。 一是對同一使用者名稱嘗試不同的密碼,二是對不同的使用者嘗試相同的密碼。第二種方法更能有效的防止賬戶鎖定。
對於使用者名稱和密碼生成有兩種方式,一是使用既存的字典,二是程式根據使用者給定的使用者名稱或密碼組合規則不斷生成。
對於自動化密碼探測最大的障礙是驗證碼和人機區分測試(簡單的問題)。
12.2社會工程學
“社會工程學”這個詞我不知道是怎麼產生的,一開始覺得叫行為心理學似乎更合適。後來才知道社會工程學其實就是間諜活動。
(1)推測法。根據相關資訊,常見的如生日,姓名,電話號碼,常用的數字組合(1213456等),字母組合,郵箱,父母的名字等等。
(2)欺騙。你可以根據他給你的QQ等資訊,通過聊天逐步得到他的相關資訊。
(3)利用客服。比如你可以冒充郵箱使用者本人給客服打電話說密碼丟失。以前聽說QQ可以,前天園友告訴我yahoo的信箱也可以,真是不可思議。
(4)”社會工程”允許你以接近目標本人或他的家人,朋友的方式來獲得你想要的資訊,當然這個web攻擊本身關係不緊密,但是卻是黑客攻擊的手段之一。
12.3 Post使用者名稱,密碼
目前也有很多現成的軟體可供選擇,用來破解web登入密碼。關於工具的使用不是我們要討論的重點,我們看一下它的工作原理。
下面是我登入校內網的時候一段POST資料(實際分析過程中應是全過程資料分析,這只是區域性):
POST /Login.do HTTP/1.1
Host: login.xiaonei.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.xiaonei.com/SysHome.do
Cookie: syshomeforreg=1; isnewreg=1; XNESSESSIONID=abc_7S1cRa2rw8aernG6r; ick=abc_7S1cRa2rw8aernG6rheifer.xiaonei.com; __utma=204579609.1392121359.1231048483.1231048483.1231048483.1; __utmb=204579609; __utmc=204579609; __utmz=204579609.1231048483.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); _de=8EAD38BFFD04FDBE; userid=201573034; univid=5426; gender=1; univyear=2005; hostid=201573034; BIGipServerpool_profile=3737916938.20480.0000; xn_app_histo_201573034=6-35-17954-4-8-16555-12012-3-2-13496-19; mop_uniq_ckid=123.189.16.137_1231047874_1991448146
Content-Type: application/x-www-form-urlencoded
Content-Length: 83
email=xuanhun&password=xuanhun521&origURL=http%3A%2F%2Fwww.xiaonei.com%2FSysHome.do
這是一個常規的Post請求資料段,最後的部分傳送的是使用者名稱和密碼,這些資料在網路上傳輸的時候應該是被加密的,因為採用了https連線。暴力探測也就是不斷的向目標伺服器傳送類似的請求,根據響應來判斷是否成功。
12.4關於程式設計
具體的暴力破解程式的設計不是幾句話就能說清楚的,希望有機會把具體的程式展示出來。
下面是一段自動登入的程式碼,展示了暴力破解的一個橫斷面。具體可參HttpWebRequest和HttpWebResponse的相關介紹。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(targetURL);
request.Method = “POST”; //post
request.ContentType = “application/x-www-form-urlencoded”;
request.ContentLength = data.Length;
request.UserAgent = “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.1124)”;
Stream newStream = request.GetRequestStream();
newStream.Write(data, 0, data.Length);
newStream.Close();
request.CookieContainer = cc;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
cc.Add(response.Cookies);
Stream stream = response.GetResponseStream();
string result = new StreamReader(stream, System.Text.Encoding.Default).ReadToEnd();
return result;
如果你理解了如何傳送登入資訊,那麼再結合多執行緒和字典攻擊就可以寫出自己的web密碼探測工具了。
當然我們沒處理驗證碼的情形,如果它的驗證碼儲存在cookie中或者隱藏欄位中那是十分可笑的事情,我們可以直接用程式讀取。驗證碼一般儲存在伺服器端,一般我們可以將隨機生成的驗證碼的內容放入Session中,使用者提交的時候將提交的內容與Session中的驗證碼進行比較判斷。關於驗證碼的具體內容我想在後面的繞過驗證一節中繼續討論。
本文轉自懸魂部落格園部落格,原文連結:http://www.cnblogs.com/xuanhun/archive/2009/01/04/1368250.html,如需轉載請自行聯絡原作者
相關文章
- 密碼學與密碼安全:理論與實踐密碼學
- SSH實踐生成密碼密碼
- RACE IPEMD:構建安全基石的密碼學原理與實踐密碼學
- 【無線安全實踐入門】破解WiFi密碼的多個方法WiFi密碼
- Web安全之XSSPlatform搭建及使用實踐WebPlatform
- 鴻蒙 Next 安全機制之密碼管理:深度剖析與最佳實踐鴻蒙密碼
- [譯]使用者賬戶、授權和密碼管理的 12 個最佳實踐密碼
- Web安全之XSS Platform搭建及使用實踐WebPlatform
- 密碼安全加固密碼
- PG密碼安全密碼
- MySQL密碼安全MySql密碼
- 【攻擊測試】西門子PLC探測與S7-300密碼破解密碼
- 移動web頁面如何自動探測電話號碼?Web
- Web安全測試Web
- 探討Morest在RESTful API測試的行業實踐RESTAPI行業
- 用程式碼來實踐Web快取Web快取
- 中興通訊測試專案實踐:敏捷測試特性文件的交付過程實踐探討敏捷測試
- 密碼學系列之:內容嗅探密碼學
- 從理念到大型實踐,揭開騰訊零信任iOA安全方案的“落地密碼”密碼
- Linux埠探測指令碼Linux指令碼
- 密碼安全:密碼設定要求,密碼爆破辦法,密碼歸類使用,密碼處置方案密碼
- 使用 Mitmdump 與 Python 指令碼進行密碼嗅探MITPython指令碼密碼
- Web前端自動化測試Cypress實踐總結Web前端
- Web安全性測試Web
- 密碼安全和無密碼身份認證那些事兒密碼
- web實時長圖實踐Web
- Java Web應用的程式碼分層最佳實踐。JavaWeb
- 2019 最不安全密碼密碼
- Web列印探祕Web
- Atag – Web Components 最佳實踐Web
- 蘋果iOS12實用新功能:透過AirDrop分享密碼蘋果iOSAI密碼
- Web 滲透測試入門:環境搭建、流程與實踐Web
- Google:12 條 Golang 最佳實踐Golang
- Apache Kafka 12個最佳實踐ApacheKafka
- json web token 實踐登入以及校驗碼驗證JSONWeb
- Web前端安全之安全編碼原則Web前端
- HTTPS安全最佳實踐HTTP
- Dockerfile 安全最佳實踐Docker
- MongoDB最佳安全實踐MongoDB