亚洲国产精品乱码一区二区,美景房屋2免费观看,哎呀哎呀在线观看视频高清国语,从镜子里看我是怎么C哭你

Article / 文章中心

安全測試 : 途牛旅游網(tuniu.com)網站短信接口安全測試

發(fā)布時間:2021-04-28 點擊數:3857

– “隱患險于明火,防范勝于救災,責任重于泰山”

 

安全問題不容忽視,不要亡羊補牢!

 

前言

本文詳細介紹了針對發(fā)送短信驗證碼接口的安全性測試過程,包含思路、部分測試代碼已經測試結果。
本次測試網站 —途牛旅游網(tuniu.com)
途牛旅游網是一家提供旅行服務的網站。

一丶找到對外短信接口

從該網站注冊入口可以發(fā)現,也是通過發(fā)送手機短信驗證碼來完成注冊。

在這里插入圖片描述

二丶分析外部防御措施

  1. 輸入手機號

在這里插入圖片描述

需要先輸入圖片驗證碼,輸入后才可點擊發(fā)送

  1. 輸入并點擊發(fā)送驗證碼

在這里插入圖片描述

外部防御措施:圖片驗證碼

三丶查看請求報文

1. 找到發(fā)送短信的請求

按下F12打開瀏覽器控制臺,再次點擊發(fā)送驗證碼按鈕通過控制臺找出發(fā)送短信的請求。
在這里插入圖片描述

2. 查看請求方式
在這里插入圖片描述

3. 查看請求報文頭在這里插入圖片描述

4. 查看請求參數
在這里插入圖片描述

identify_code為圖片驗證碼的值
5. 查看返回值
在這里插入圖片描述

四丶分析測試

1. 分析測試要點

  • 請求須攜帶圖形驗證碼參數
  • 請求為post請求

2. 編寫代碼模擬請求進行測試

該網站的圖形驗證碼為普通的數字加字母的驗證碼:

在這里插入圖片描述

解決方案:通過機器學習,圖像處理等方法創(chuàng)建識別庫。

大致思路:

  • 處理圖片,將圖片通過降噪,二值化等方式處理
  • 將字符分割,學習訓練
  • 最終識別出圖片中的各個字符

這里不做贅訴,感興趣可以看下相關驗證碼識別的文章:

接著利用Java模擬報文請求 ,進行測試。部分代碼如下:

//配置請求頭
	inheads.put("Accept", "*/*");
		inheads.put("X-Requested-With", "XMLHttpRequest");
		inheads.put("Referer", "https://passport.tuniu.com/register?origin=http://www.tuniu.com/ssoConnect");
		getCookie(cookieStore, httpclient, "https://passport.tuniu.com/register?origin=http://www.tuniu.com/ssoConnect", inheads, outheads);
		String cookieStr = GetCookieHead.CookieHashToString(outheads);
		if (cookieStr != null) {
			inheads.put("Cookie", cookieStr);
		}
//配置請求參數
List<BasicNameValuePair> paramsList = new ArrayList<BasicNameValuePair>();
		paramsList.add(new BasicNameValuePair("tel", phone));
		paramsList.add(new BasicNameValuePair("identify_code", input.get("imgCode")));
		paramsList.add(new BasicNameValuePair("intlCode", "0086"));
		paramsList.add(new BasicNameValuePair("isReg", "1"));
//配置請求
		String imgCode = this.getImgeCode(phone, httpclient, cookieStore, "get", imgUrl, inheads, outheads, input, outMap);
		input.put("imgCode", imgCode != null ? imgCode : "");
		
		retEntity = this.userClick(httpclient, cookieStore, "post", smsUrl, inheads, outheads, input, phone);

啟動測試:

1次:

在這里插入圖片描述

手機號碼唯一,IP唯一:

10次 --間隔時間1秒:

在這里插入圖片描述

手機號碼不唯一,IP唯一:

10次 --間隔時間1秒:

在這里插入圖片描述

五丶結果分析

測試目標:

針對發(fā)送短信驗證碼接口進行安全性測試。

測試思路:

1.找到請求接口
2.分析請求報文
3.模擬請求測試

測試結果:

除圖形驗證碼之外,無限制

測試結論:

前臺通過圖形驗證碼進行限制,當遇到打碼更換手機號以及IP的攻擊時,該網站的所有防御措施均無效。

風險等級: 

六丶結語

很多人在短信服務剛開始建設的階段,可能不會在安全方面考慮太多,理由有很多。
比如:“ 需求這么趕,當然是先實現功能啊 ”,“ 業(yè)務量很小啦,系統就這么點人用,不怕的 ” , “ 我們怎么會被盯上呢,不可能的 ”等等。

有一些理由雖然有道理,但是該來的總是會來的。前期欠下來的債,總是要還的。越早還,問題就越小,損失就越低。

所以大家在安全方面還是要重視。(血淋淋的栗子?。?a style="box-sizing: border-box; text-decoration-line: none; background-color: transparent; color: #4ea1db;" >#安全短信#

谷歌圖形驗證碼在AI 面前已經形同虛設,所以谷歌宣布退出驗證碼服務, 那么當所有的圖形驗證碼都被破解時,大家又該如何做好防御呢?