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

Article / 文章中心

安全測(cè)試 : 小米(xiaomi.com)網(wǎng)站短信接口安全測(cè)試,如何防止短信被盜刷?

發(fā)布時(shí)間:2021-04-28 點(diǎn)擊數(shù):4141

– “隱患險(xiǎn)于明火,防范勝于救災(zāi),責(zé)任重于泰山”

 

安全問(wèn)題不容忽視,不要亡羊補(bǔ)牢!

前言

本文詳細(xì)介紹了針對(duì)發(fā)送短信驗(yàn)證碼接口的安全性測(cè)試過(guò)程,包含思路、部分測(cè)試代碼已經(jīng)測(cè)試結(jié)果。
本次測(cè)試網(wǎng)站 —小米(xiaomi.com)
小米是一家以手機(jī)、智能硬件和IoT平臺(tái)為核心的互聯(lián)網(wǎng)公司,以智能手機(jī)、智能電視、筆記本等豐富的產(chǎn)品與服務(wù)。

在這里插入圖片描述

一丶找到對(duì)外短信接口

從該網(wǎng)站注冊(cè)入口可以發(fā)現(xiàn),也是通過(guò)發(fā)送手機(jī)短信驗(yàn)證碼來(lái)完成注冊(cè)。在這里插入圖片描述

二丶分析外部防御措施

  1. 輸入手機(jī)號(hào)并點(diǎn)擊獲取驗(yàn)證碼
    在這里插入圖片描述

這里需要先拖動(dòng)滑塊完成滑動(dòng)拼圖驗(yàn)證碼,完成后才可發(fā)送
在這里插入圖片描述

在這里插入圖片描述

外部防御措施:滑動(dòng)驗(yàn)證碼

三丶分析測(cè)試

1. 分析測(cè)試要點(diǎn)

  • 通過(guò)模擬器模擬人為操作
  • 識(shí)別滑動(dòng)驗(yàn)證碼

2. 編寫代碼模擬操作進(jìn)行測(cè)試

該網(wǎng)站的滑動(dòng)驗(yàn)證碼為極驗(yàn)滑動(dòng)驗(yàn)證碼:

在這里插入圖片描述

識(shí)別方法:圖像識(shí)別算法,找到陰影位置。

大致思路:

  • 將圖片通過(guò)降噪,二值化等方式處理
  • 在通過(guò)模板匹配算法找到陰影位置。

這里不做贅訴,感興趣可以看下相關(guān)驗(yàn)證碼識(shí)別的文章:

接著進(jìn)行測(cè)試。部分代碼如下:

// 輸入手機(jī)號(hào)
	By phoneBy = By.name("phone");
	GeetSplitApi.waitForLoad(driver, phoneBy);
	WebElement phoneElemet = driver.findElement(phoneBy);
	phoneElemet.clear();
	for (int i = 0; i < phone.length(); i++) {
		char c = phone.charAt(i);
		phoneElemet.sendKeys(c + "");
		phoneElemet.click();
	}
	Thread.sleep(1 * 1000);
// 點(diǎn)擊發(fā)送
	By clickBy = By.className("ant-btn-link");
	GeetSplitApi.waitForLoad(driver, clickBy);
	WebElement clickElemet = driver.findElement(clickBy);
	clickElemet.click();
	Thread.sleep(3 * 1000);
	
	// 下面的js代碼根據(jù)canvas文檔說(shuō)明而來(lái)
	// 完整背景圖geetest_canvas_fullbg geetest_fade geetest_absolute
	String fullImgJs = "return document.getElementsByClassName(\"geetest_canvas_fullbg geetest_fade geetest_absolute\")[0].toDataURL(\"image/png\");";
	String fullImgPath = GeetCanvasApi.getImgByJs(driver, fullImgJs, input);
	// 含有缺口背景圖geetest_canvas_bg geetest_absolute
	String bgImgJs = "return document.getElementsByClassName(\"geetest_canvas_bg geetest_absolute\")[0].toDataURL(\"image/png\");";
	String bgImgPath = GeetCanvasApi.getImgByJs(driver, bgImgJs, input);
	// 獲取滑動(dòng)按鈕
	By moveBy = By.className("geetest_slider_button");
	GeetSplitApi.waitForLoad(driver, moveBy);
	WebElement moveElemet = driver.findElement(moveBy);

啟動(dòng)測(cè)試:

在這里插入圖片描述

五丶結(jié)果分析

測(cè)試目標(biāo):

針對(duì)發(fā)送短信驗(yàn)證碼接口進(jìn)行安全性測(cè)試。

測(cè)試思路:

1.找到請(qǐng)求接口
2.分析防御機(jī)制
3.測(cè)試?yán)@過(guò)方法

測(cè)試結(jié)果:

通過(guò)

測(cè)試結(jié)論:

前臺(tái)通過(guò)滑動(dòng)驗(yàn)證碼進(jìn)行限制,后臺(tái)手機(jī)號(hào)和Ip均無(wú)頻率限制或次數(shù)限制,當(dāng)遇到大量手機(jī)號(hào)以及IP的攻擊時(shí),該網(wǎng)站的所有防御措施均無(wú)效。

風(fēng)險(xiǎn)等級(jí): 中高

六丶結(jié)語(yǔ)

很多人在短信服務(wù)剛開始建設(shè)的階段,可能不會(huì)在安全方面考慮太多,理由有很多。
比如:“ 需求這么趕,當(dāng)然是先實(shí)現(xiàn)功能啊 ”,“ 業(yè)務(wù)量很小啦,系統(tǒng)就這么點(diǎn)人用,不怕的 ” , “ 我們?cè)趺磿?huì)被盯上呢,不可能的 ”等等。

有一些理由雖然有道理,但是該來(lái)的總是會(huì)來(lái)的。前期欠下來(lái)的債,總是要還的。越早還,問(wèn)題就越小,損失就越低。

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

谷歌圖形驗(yàn)證碼在AI 面前已經(jīng)形同虛設(shè),所以谷歌宣布退出驗(yàn)證碼服務(wù), 那么當(dāng)所有的圖形驗(yàn)證碼都被破解時(shí),大家又該如何做好防御呢?