短信轰炸漏洞一般分为两种:

    1.对一个手机号码轰炸n次

    2.对单个手机号码做了接收验证次数,但是可以对不同手机号发送短信无次数限制

    在漏洞挖掘中遇到个有意思的案例,写篇文章分享出来。

     在接收短信处都有可能存在短信轰炸漏洞。输入手机号然后接收短信:

 

 

首先我会查看响应接收和cookie中是否会返回正确的验证码,好吧~我在做梦,这种设计缺陷已经很少见了。

  接着看加密完整的数据包post data的值:

    

 

当我输入手机号码接收短信,数据包中对phone进行了加密,一般在漏洞挖掘中遇到这种情况我一般扭头就是换地方测试漏洞了,我觉得这里存在问题的可能性很小,但是这次我想尝试下,下面是我的尝试之旅:

  这里对手机号进行加密,可能是前端加密也可能是后端加密,我尝试接收多次验证码,看数据包中的phone是否会发生随机性的变化:

  我发现我的手机号phone始终是BYiJiNlLxDYiDJOUEoUQdQ%3D%3D,不管我接收多少次验证码,他都是唯一的加密值,并没有产生随机性变化。

  现在我尝试查看源码,看看能不能寻找到phone的加密方式:

  查看源码发现他这里对phone进行了前端加密,首先是通过encrypt加密然后对加密的内容进行url编码。前面的%3D的url解码就是=

  

  开始定位到encrypt函数:

  控制台上输出encrypt

  

 

单机点击进去:

  

 

得到加密手机号码的方法,以及解密手机号码的方法。

  现在我们知道了我们手机号的加密方式,下一步就是批量对每个手机号进行轰炸:

  如何操作呢?

  我们批量手机号码的最后两位:

  

 

  我少生成点,生成20个:

  代码如下:

  

var k=10;
while(k<30){
var m=encrypt(“138330781″+k);
k++;
console.log(m);
}

把这些生成的加密phone保存到文档中:

  

 

爆破之:

  

 

简单记录下~

 

版权声明:本文为piaomiaohongchen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/piaomiaohongchen/p/10372046.html