如题,从网上找到一个CC攻击源代码,里面有一个“随机字符”的攻击方式。我想知道它的作用。
CString rsCS(CString str)//
{
CString NewStr,tempstr,nstr;
CString CStr,Func;
char fu;
int LFunc;
int i,x=0;
if (rnd==false) return str;
srand((unsigned)time( NULL ));
NewStr=str;
while ((x=NewStr.Find ("+",0))!=-1)
{
tempstr="";
CStr="";
nstr=NewStr.Mid (x,3);
Func=NewStr.Mid (x+1,1);memcpy(&fu, Func, 1);
LFunc=atoi(NewStr.Mid (x+2,1));
switch(fu)
{
case 'N':
for(i=0;i<LFunc;i++)
{tempstr.Format ("%c",48+rand()%10);CStr+=tempstr;}
break;
case 'U':
for(i=0;i<LFunc;i++)
{tempstr.Format ("%c",65+rand()%26);CStr+=tempstr;}
break;
case 'L':
for(i=0;i<LFunc;i++)
{tempstr.Format ("%c",97+rand()%26);CStr+=tempstr;}
break;
case 'C':
for(i=0;i<LFunc;i++)
{tempstr.Format ("%%%c%c%%%c%c",65+rand()%6,48+rand()%10,65+rand()%6,48+rand()%10);CStr+=tempstr;}
break;
default:
tempstr="" ;
CStr="";
break;
}
NewStr.Replace (nstr,CStr);
}
return NewStr;
}
我觉得应该是生成一个随机串,用来发送一个随机搜索的请求,这样,搜索不同,将会造成服务器的重新搜索所有数据,最大的占用服务器的资源。
个人见解。
这个主要还是要看这个攻击的内容格式,一般都是根据一定的规则,至于随机,可能本身这部分内容就是随机值,也可能是攻击者希望通过随机值来防止被检测。