首頁 php教程 php手册 危险的验证码 –12306.cn曾经犯下的错误

危险的验证码 –12306.cn曾经犯下的错误

Jun 06, 2016 pm 08:07 PM
危險 春運 錯誤 驗證

春运期间,网上出现一个刷票的插件, 为我们买票提供了太多的便利。 用刷票软件进行刷票, 验证码还是要输入一次的,输入完验证码之后, 便可以使用自动提交订单直至订票成功, 免去了我们失败一次又一次重试之苦。 这一切都是利用了网站验证码的漏洞, 验证

    春运期间,网上出现一个刷票的插件, 为我们买票提供了太多的便利。

    用刷票软件进行刷票, 验证码还是要输入一次的,输入完验证码之后, 便可以使用自动提交订单直至订票成功, 免去了我们失败一次又一次重试之苦。 这一切都是利用了网站验证码的漏洞, 验证码验证通过之后没有马上更新, 所以下次请求继续使用这个验证码就行了。

    12306


    上 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 {
?>
登入後複製
危险的验证码 –12306.cn曾经犯下的错误

    --------------------------------------------------模拟刷票----------------------------------------------------------------------------

<?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));
		}
	}
}
登入後複製

    运行结果, 有图有真相:

curl

curl result

    只输入一次验证码, 就可以无限的刷票了!!!

    解决的办法, 很简单: 在Session验证通过之后直接把 $_SESSION['vcode'] 干掉!!!

vcode error


测试代码下载

声明: 本文采用 CC BY-NC-SA 3.0 协议进行授权

转载请注明来源:小景的博客

本文链接地址:http://www.phpv5.com/blog/vcod

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

無法完成操作(錯誤0x0000771)印表機錯誤 無法完成操作(錯誤0x0000771)印表機錯誤 Mar 16, 2024 pm 03:50 PM

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

Windows沙盒啟動失敗-存取被拒絕 Windows沙盒啟動失敗-存取被拒絕 Feb 19, 2024 pm 01:00 PM

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

揭秘HTTP狀態碼460的出現原因 揭秘HTTP狀態碼460的出現原因 Feb 19, 2024 pm 08:30 PM

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

Windows Update 更新提示Error 0x8024401c錯誤的解決方法 Windows Update 更新提示Error 0x8024401c錯誤的解決方法 Jun 08, 2024 pm 12:18 PM

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

如何在PDF中驗證簽名 如何在PDF中驗證簽名 Feb 18, 2024 pm 05:33 PM

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

伺服器在建立新的虛擬機器時遇到錯誤,0x80070003 伺服器在建立新的虛擬機器時遇到錯誤,0x80070003 Feb 19, 2024 pm 02:30 PM

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

微信好友輔助驗證解封的詳細方法 微信好友輔助驗證解封的詳細方法 Mar 25, 2024 pm 01:26 PM

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

修復先鋒錯誤代碼Kadena-Keesler 修復先鋒錯誤代碼Kadena-Keesler Feb 19, 2024 pm 02:20 PM

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

See all articles