關於12306網站圖形驗證碼的猜想

      以前一直以爲12306的圖形驗證碼是根據普通驗證碼識別規則,只不過是加上了變態的不清晰低像素圖片而已。

      然後F12查看了一下網絡請求,它的驗證碼規則,遠遠不是我之前我想的那麼簡單的。

      很久以前一直單純的以爲,可以通過圖片的識別,機器學習,根據像素點來識別其中的圖片。但是那種對付問題跟驗證碼圖片是分離的話,這種通過像素點機器識別來識別圖片,可以輕鬆的繞過驗證碼。不過12306的驗證碼跟問題是同時隨機生成的,這個不是單純的驗證碼跟問題分離的。


     這樣雖然也可以通過像素點來識別,連通問題一起識別出來,然後識別出相對應的答案。再做出正確的選擇,打碼自動提交,估計現在很多宣稱破解了12306的驗證碼就是這種吧,通過程序來識別,但是這種需要耗時,同時也不能保證命中率百分百,而且中間存在程序計算的消耗。所以這種不一定會比人工選擇驗證碼快。做的好的成熟的程序,運行起來的速度跟正確度可能比人工操作要快,誰讓這BT的圖片,正常人就沒法好好選擇。

     其次,還發現一個問題,12306選擇圖片驗證碼,不是單純給沒張圖片做好了唯一標記位,而是所有的圖片都拼成了一個張大的圖片版。根據你選擇的座標區域,提交到後臺進行驗證的。普通的驗證碼,最多把圖片做成一個唯一難以識別的標記字符串,而12306不是。

   

   像這樣,你可以在正確的圖片區域類,選擇多個座標點都可以。

     所以之前想的,根據圖片識別程序,來自動驗證鐵總的驗證碼似乎是我太天真啦。下面是天真之後,自己關於的12306驗證碼的猜想。

--------------------------------------------***********************************--------------------------------------------------------------純屬個人猜想--------------------

    每次刷新得到的圖形驗證碼都不一樣,且後圖片請求驗證碼後面那是跟着一串隨機數字,而且根據命名,也可以看出來,那就是隨機數。應該是根據某個複雜的方程式得到的隨機結果。

    同時,驗證碼規則的生成肯定會包含有當前的時間點的參數,因爲每次刷新,得到的驗證規則都不同。但是請求的參數不變,所以這個驗證規則一定是加入了時間點作爲參數參加運算的。

     由此再推測,根據區域選擇正確的答案,應該這是一整套的跟當前時間節點相關的一個複雜計算式。同時生成答案跟問題。

     要真正破解這個根據時間節點進行生成的驗證碼纔是破解的根本。那樣的話,就能不用鐵總的驗證碼,直接根據請求的時間節點,自己在機器上計算出來答案,把答案座標給打點,直接提交。那樣纔是王道,根據目前的市場各大互聯網公司的反應來看,好像還沒有被攻破。鐵總的這套高(傻)深(B)計算規則確實還沒有被破解,說到高明,確實通過這種驗證碼計算生成規則,絕對是關於安全方面對IT領域一個提高。所以說他高深。但是TM說他傻叉,是讓正常乘客想買票的搶不到車票啦。這就是鐵總傻逼啦。

      但是這種確實也稱不上太牛逼,不是因爲360、獵豹等瀏覽器今年沒有攻破這個驗證碼,就認爲這個設計是是比360的技術大神都牛逼。其實這個就是相當於矛跟盾。這個就相當於一個密碼傳遞,要破解密碼遠遠比稍微花點心思設計的密碼要難得多。這就跟我跟家鄉人講湘潭話一樣,讓一個密碼專家花上一年兩年,都不一定能夠完全破解我每句湘潭話的要傳達的意思。

    所以也就別費神去破解這玩意了,等着設計這套規則孫子自己把這套規則給自爆出來吧~~~咱們還是老老實實,實時監控這傻叉網站,一邊搶票一邊罵罵就得了。不要太較真啦,畢竟誰都不容易。

    不過關於12306的服務器,確實今年做的不如去年強大,因爲至少去年我搶票不會出現狗屁網絡繁忙,網絡無法訪問的情況。今年可不止一兩次出現啦,鐵總買買帶寬總是可以的吧~~把服務器給給強化一下,提升一下網絡帶寬總行吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章