色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

簡單地描述了如何用機器學習繞過E-ZPass New York網站的驗證碼

馬哥Linux運維 ? 2018-01-22 09:15 ? 次閱讀

讓我們一起攻破世界上最流行的WordPress的驗證碼插件每個人都討厭驗證碼——在你被允許訪問一個網站之前,你總被要求輸入那些煩人的圖像中所包含的文本。驗證碼被設計成,以驗證你是一個真正的人的方式,來防止電腦自動填寫表單。但是隨著深度學習計算機視覺的興起,它們現在往往很容易被攻破。我在讀Adrian Rosebrock的優秀的著作《Python計算機視覺深度學習》。在書中,Adrian簡單地描述了他如何用機器學習繞過E-ZPass New York網站的驗證碼:

簡單地描述了如何用機器學習繞過E-ZPass New York網站的驗證碼

Adrian沒有訪問生成驗證碼圖片的應用的源代碼的權限。為了破解這個系統,他不得不下載成百上千個示例圖像并手動解答它們,用以訓練他的深度學習系統。但是如果我們想打破一個開放源代碼的驗證碼系統,將會怎么樣?我去wordpress.org插件注冊表搜索“驗證碼”。最靠前的結果是一個叫“真正簡單的驗證碼”的插件,有超過100萬個活躍安裝:

簡單地描述了如何用機器學習繞過E-ZPass New York網站的驗證碼

并且最好的一點是,它開源!因為我們有生成驗證碼的源代碼,那么這應該是很容易破解的。為了讓事情更有挑戰性,讓我們給自己一個時間限制。我們是否能夠在15分鐘內破解這個驗證碼系統?讓我們試試看!重要提示:這絕不是針對“真正簡單的驗證碼”這個插件或它的作者的批評。插件作者本人也說,這個插件不再安全,建議您使用其他東西。這只是一個快速而有趣的技術挑戰。但是如果你是剩下的100萬個用戶中的一個,也許你應該切換到其他插件:)

挑戰開始

為了打造一個進攻計劃,讓我們先來看看這個插件會生成哪種類型的圖片。在演示站點上,我們看到這個:

簡單地描述了如何用機器學習繞過E-ZPass New York網站的驗證碼

好的,所以驗證碼圖像似乎是四個字母。讓我們在PHP源代碼中驗證這一點:

簡單地描述了如何用機器學習繞過E-ZPass New York網站的驗證碼

是的,它會產生一個四字母的驗證碼,并采用隨機組合的四種不同的字體。我們可以看到,它從不在代碼中使用“O”或“I”,以避免用戶混淆。這給了我們總共32個可能需要識別的字母和數字。沒問題!到目前為止時間過去:2分鐘。

我們的工具集

在我們進一步討論之前,讓我們說一下為了解決這個問題我們將會用到的工具:Python3Python是一種非常有趣的編程語言,它有很好的機器學習和計算機視覺庫。OpenCVOpenCV是一種流行的計算機視覺和圖像處理框架。我們將使用OpenCV來處理驗證碼圖像。它有一個Python應用接口,因此我們可以直接從Python中使用它。KerasKeras是一個由Python寫的深度學習的框架。它可以使我們用最少的代碼,方便地定義、訓練和使用深層神經網絡TensorFlowTensorFlow是谷歌的機器學習庫。我們會在Keras中寫代碼,但Keras并沒有真正實現神經網絡的邏輯本身,它其實是在后臺調用谷歌的TensorFlow進行計算。好,現在讓我們回到挑戰!

創造我們的數據集

訓練任何機器學習系統,我們都需要訓練數據集。破解一個驗證碼系統,我們則需要訓練數據看起來像這樣:

簡單地描述了如何用機器學習繞過E-ZPass New York網站的驗證碼

簡單地描述了如何用機器學習繞過E-ZPass New York網站的驗證碼

這是唯一我不會給你示例代碼的部分。我們這樣做是為了教育,我不想讓你真的去黑WordPress網站。不過,我會給你我最后生成的這10000張圖像,以便你可以重復我的結果。到目前為止時間過去:5分鐘。

簡化問題

現在我們有了訓練數據,我們可以直接用它來訓練神經網絡:

簡單地描述了如何用機器學習繞過E-ZPass New York網站的驗證碼

有足夠的訓練數據,這種粗暴的方法甚至也行得通?-?但我們可以使問題更容易解決。問題越簡單,訓練數據越少,計算資源消耗就越少。畢竟我們只有15分鐘!幸運的是,驗證碼圖像總是由四個字母組成。如果我們能用某種方式把圖像分割開來,這樣每一個字母都是一個獨立的圖像,那么我們只需要訓練神經網絡一次識別一個字母:

簡單地描述了如何用機器學習繞過E-ZPass New York網站的驗證碼

我沒有時間瀏覽10000個訓練圖像,并在Photoshop中手動將它們分割成單獨的圖像。這將需要幾天,而我只剩下10分鐘了。而且我們不能將圖像分成四個相同大小的塊,因為驗證碼會將這些字母隨機放置在不同的水平位置:

每個圖像中的字母隨機放置,使分割圖像更難一些。

幸運的是,我們仍然可以自動執行此操作。在圖像處理中,我們經常需要檢測具有相同顏色的像素團。這些連續像素團周圍的邊界被稱為輪廓。OpenCV有一個內置的findContours()函數,可以用來檢測這些連續的區域。那么我們將從一個原始的驗證碼圖像開始:

然后,我們將圖像轉換為純黑白(這稱為閾值設定),這樣就很容易找到連續的區域:

接下來,我們將使用OpenCV的findContours()函數來檢測圖像中各個包含相同顏色像素的連續團:

那么只需將每個區域保存為一個單獨的圖像文件即可。而且由于我們知道每個圖像應該包含從左到右的四個字母,所以我們可以使用這些知識來標記字母。只要我們按順序保存它們,我們能夠用適當的字母名稱保存每個字母圖像。但是等等 —— 我看到一個問題! 有時候驗證碼有這樣的重疊字母:

這意味著我們最終將提取將兩個字母拼湊在一起的區域:

如果我們不處理這個問題,我們最終會創建糟糕的訓練數據。我們需要解決這個問題,以免我們不小心讓機器把這兩個相連的字母識別為一個字母。

我們將把任何寬度比高度還長的區域對半分開,并把它當作兩個字母。這是很粗暴,但這么處理對識別這些驗證碼依然行得通。

現在我們有了一種提取單個字母的方法,讓我們在所有的CAPTCHA圖像上運行它。目標是收集每個字母的不同變化。我們可以將每個字母保存在自己的文件夾中。下面是我提取所有字母后,我的“W”文件夾的樣子:

從我們的10000個驗證碼圖像中提取的一些“W”字母。我一共得到了1147個不同的“W”圖像。到目前為止時間過去:10分鐘。

創建和訓練神經網絡

由于我們只需要識別單個字母和數字的圖像,我們不需要一個非常復雜的神經網絡架構。識別字母比識別諸如貓和狗的圖片這樣的復雜圖像要容易得多。我們將使用具有兩個卷積層和兩個完全連接層的簡單卷積神經網絡結構:

簡單地描述了如何用機器學習繞過E-ZPass New York網站的驗證碼

如果你想知道更多關于卷積神經網絡是如何工作的,為什么他們被用作圖像識別非常理想,請查看Adrian的書或我以前的文章。用Keras定義這個神經網絡體系結構只需要使用幾行代碼:

簡單地描述了如何用機器學習繞過E-ZPass New York網站的驗證碼

現在,我們可以開始訓練它了!

簡單地描述了如何用機器學習繞過E-ZPass New York網站的驗證碼

用訓練數據集訓練10次后,我們達到了近100%的準確度。現在,只要我們想,我們應該能夠自動繞過這個驗證碼了!我們做到了!到目前為止時間過去:15分鐘。(~!)

使用訓練的模型破解驗證碼

現在,我們有一個訓練有素的神經網絡,用它來破解真正的驗證碼非常簡單:1.從使用該WordPress插件的網站抓取真實的驗證碼圖像。2.使用我們用來創建訓練數據集的相同方法,將驗證碼圖像分解為四個單獨的字母圖像。3.要求我們的神經網絡對每個字母圖像做一個單獨的預測。4.使用四個預測字母作為驗證碼的答案。5.愉快的玩耍吧以下是我們的模型如何解碼真正的驗證碼

或者從命令行

簡單地描述了如何用機器學習繞過E-ZPass New York網站的驗證碼

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 計算機視覺
    +關注

    關注

    8

    文章

    1698

    瀏覽量

    45976
  • 機器學習
    +關注

    關注

    66

    文章

    8406

    瀏覽量

    132562
  • python
    +關注

    關注

    56

    文章

    4792

    瀏覽量

    84627
  • 深度學習
    +關注

    關注

    73

    文章

    5500

    瀏覽量

    121111

原文標題:Python破解驗證碼,只要15分鐘就夠了!

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    無法驗證郵箱,總是提示驗證碼錯誤,驗證碼明明是正確的。

    `無法驗證郵箱,總是提示驗證碼錯誤,驗證碼明明是正確的。是不是系統的bug?`
    發表于 05-12 10:41

    一文解析驗證碼與打平臺的攻防對抗

    1、驗證碼與打平臺的攻防對抗  眾所周知,驗證碼的出現是為了區分人和機器,但隨著科技的發展,黑產從業者的可圖之利增多,驗證碼的戰場也進入了
    發表于 09-28 11:02

    平臺是如何高效的破解市面上各家驗證碼平臺的各種形式驗證碼的?

    ,比如說引入機器學習和神經網絡等人工智能相關技術來智能識別圖片中的驗證碼要素,提高識別驗證要素的準確率等。以下是某個打平臺相關人工智能技術
    發表于 11-01 15:21

    C#教程之中文驗證碼

    C#教程之中文驗證碼,很好的C#資料,快來學習吧。
    發表于 04-20 11:13 ?6次下載

    多樣變換的手寫驗證碼自動識別算法

    研究驗證碼自動識別技術可以進一步提升人識別驗證碼的可讀性,增強機器識別的難度,從而提高網絡安全性。針對目前提出的驗證碼識別方法基本都是采用光學字符識別(OCR)方法對
    發表于 12-20 14:14 ?0次下載

    SQLyog_12.4.1_帶驗證碼

    SQLyog_12.4.1_帶驗證碼.rar
    發表于 04-12 21:03 ?22次下載

    如何利用機器學習破解驗證碼的源代碼教程

    驗證碼的設計是為了防止計算機自動填寫表格,驗證你是一個真實的“人”。但隨著深度學習和計算機視覺的興起,現在他們往往容易被擊敗。
    的頭像 發表于 04-30 17:42 ?5832次閱讀
    如何利用<b class='flag-5'>機器</b><b class='flag-5'>學習</b>破解<b class='flag-5'>驗證碼</b>的源代碼教程

    以一個真實網站驗證碼為例,實現了基于一下KNN的驗證碼識別

    很多網站登錄都需要輸入驗證碼,如果要實現自動登錄就不可避免的要識別驗證碼。本文以一個真實網站驗證碼為例,實現了基于一下KNN的
    的頭像 發表于 12-24 17:27 ?7775次閱讀

    如何使用Python機器學習解決驗證碼的資料說明

    寫爬蟲有一個繞不過去的問題就是驗證碼,現在驗證碼分類大概有4種: 圖像類 滑動類 點擊類 語音類
    的頭像 發表于 05-03 13:43 ?2306次閱讀

    驗證碼層出不窮?試試這個自動跳過驗證碼的工具

    目前網絡上越來越多使用驗證碼了,驗證碼的本意是阻止機器刷流量擠占服務器資源,這本來無可厚非;但是驗證碼已經變得越來越過分,別說機器人了,連人
    的頭像 發表于 11-15 10:42 ?5961次閱讀

    驗證碼太麻煩,自動跳過驗證碼神器試一試

    目前網絡上越來越多使用驗證碼了,驗證碼的本意是阻止機器刷流量擠占服務器資源,這本來無可厚非;但是驗證碼已經變得越來越過分,別說機器人了,連人
    的頭像 發表于 11-15 11:15 ?1w次閱讀

    爬蟲實現目標網站驗證碼登陸

    在爬蟲訪問目標網站的過程中,很多網站為了避免被惡意訪問,需要設置驗證碼登錄,這樣是為了避免非人類的訪問。今天我們學習下如何使用Python爬蟲實現
    發表于 12-11 15:27 ?2427次閱讀

    帶帶弟弟OCR通用驗證碼識別SDK免費開源版

    在使用爬蟲登錄網站的時候,經常輸入用戶名和密碼后會遇到驗證碼簡單一點的有字母驗證碼,復雜一點的有滑塊驗證碼,點選文章和點選圖片
    的頭像 發表于 03-30 17:26 ?4662次閱讀

    驗證碼到底在驗證啥?聊一聊驗證碼是怎么為難我們人類的

    在文章開頭,老狐先給大家玩一個驗證碼的游戲,猜出圖中驗證碼字母。
    的頭像 發表于 08-12 10:25 ?2098次閱讀
    <b class='flag-5'>驗證碼</b>到底在<b class='flag-5'>驗證</b>啥?聊一聊<b class='flag-5'>驗證碼</b>是怎么為難我們人類的

    Java 中驗證碼的使用

    今天我們講一下在 Java 中驗證碼的使用。 驗證碼生成 本效果是利用easy-captcha工具包實現,首先需要添加相關依賴到pom.xml中,代碼如下: com .github.whvcse
    的頭像 發表于 09-25 11:11 ?1027次閱讀
    Java 中<b class='flag-5'>驗證碼</b>的使用
    主站蜘蛛池模板: 人妻夜夜爽99麻豆AV| 青青青草国产| 中文字幕精品视频在线| 毛片亚洲毛片亚洲毛片| WRITEAS塞红酒瓶| 亚洲 欧美无码原创区| 精品国产影院| WWW婷婷AV久久久影片| 无码一区国产欧美在线资源| 好大好硬好湿再深一点网站| 最近免费中文字幕MV在线视频3| 人妻仑乱少妇88MAV| 黄A无码片内射无码视频| 99热这里只有精品6| 亚洲AV无码一区二区色情蜜芽| 久久无码AV亚洲精品色午夜麻豆 | 欧美黄色一级| 极品色αv影院| 耻辱の奴隷淑女中文字幕| 亚洲免费观看视频| 日本欧美午夜三级| 美女逼逼毛茸茸| 精品日韩视频| 国产人成精品综合欧美成人| 99精品日韩| 中文乱码35页在线观看| 香蕉久久日日躁夜夜嗓| 欧美 亚洲 日韩 中文2019| 久久99热成人精品国产| 国产亚洲精品免费视频| 国产成在线观看免费视频| 98色精品视频在线| 尹人久久大香找蕉综合影院| 亚洲高清一区二区三区电影| 特级黑人三人共一女| 日本不卡免免费观看| 女同给老师下媚药| 母乳女神春日もな| 免费国产综合视频在线看| 久久婷婷五月综合色情 | 日本美女搞基视频|