版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第第頁從編程到入侵從編程到入侵
發(fā)表于:2023-05-25來源::點(diǎn)擊數(shù):標(biāo)簽:入侵編程大都是不是大家
大家是不是大都使用別人的工具來搞入侵呢,我也是,不過從學(xué)了編程以后,老是想自己寫點(diǎn)程序,然后用它來入侵,這里就是教你如何實(shí)現(xiàn)自己的的夢想。今天所要演示的是telnet的入侵,近來的sunos_telnet搞的風(fēng)風(fēng)火火.1.掃描一個(gè)IP段,所以要寫個(gè)IP掃描器2.T
大家是不是大都使用別人的工具來搞入侵呢,我也是,不過從學(xué)了(編程)以后,老是想自己寫點(diǎn)程序,然后用它來入侵,這里就是教你如何實(shí)現(xiàn)自己的的夢想。
今天所要演示的是telnet的入侵,近來的sunos_telnet搞的風(fēng)風(fēng)火火.
1.掃描一個(gè)IP段,所以要寫個(gè)IP掃描器
2.Telnetbannercheck,看telnet的反應(yīng),所以要寫個(gè)systemoscheckdepentoptelnet.
3.用sunos_telnet來測試,sunos_telnet.exe網(wǎng)上有下載.
第一步:
/*simpletcpportscan*/
/*只對一個(gè)IP的掃描*/
#includestdio.h
#includestdlib.h
#includestring.h
#includesys/socket.h
#includesys/types.h
#includenetinet/ip.h
#includenetinet/tcp.h
#includenetinet/in.h
#includearpa/inet.h
#includeunistd.h
#includenetdb.h
#defineSTART_PORT1
#defineSTOP_PORT1024
structsockaddr_inaddr;/*以structsockaddr_in結(jié)構(gòu)定義addr*/
structhostent*host;
structservent*reply;
intsock,i;
intstart_port;/*起始端口*/
intstop_port;/*結(jié)束端口*/
intusage(char*pro)/*幫助*/
{
printf("simpleTCPscanner\n");
printf("usage:%sRemote-hoststartportendport\n",pro);
exit(1);
}
intscan(intport)/*scan()掃描*/
{
if((sock=socket(AF_INET,SOCK_STREAM,0))0){/*建立socket描述符*/
printf("scanerrno-socket\n");
exit(1);
}
addr.sin_family=AF_INET;
addr.sin_port=htons(port);
addr.sin_addr=*(structin_addr*)host-h_addr;
if((connect(sock,(structsockaddr*)addr,sizeof(addr)))==0)/*
建立連接,判斷端口*/
return0;/*成功*/
else
return1;/*失敗*/
}
intmain(intargc,char*argv[])/*主程序*/
{
char*service;
if(argc!=4)
usage(argv[0]);
start_port=atoi(argv[2]);/*將argv[2]轉(zhuǎn)換成整數(shù)*/
stop_port=atoi(argv[3]);/*將argv[3]轉(zhuǎn)換成整數(shù)*/
if(strcmp(argv[2],"-")==0strcmp(argv[3],"-")==0){/*對比argv[2]argv[
3]和"-"符號(hào)*/
start_port=START_PORT;/*如果是"-"的話,起始端口等于1*/
stop_port=STOP_PORT;/*如果是"-"的話,結(jié)束端口等于1*/
}
if(start_portstop_port){/*如果起始端口大于結(jié)束端口*/
printf("startportcannotgreaterthanstopport.\n");
usage(argv[0]);
exit(1);
}
if((host=gethostbyname(argv[1]))==NULL){/*用gethostbyname()
來得到對方的信息*/
printf("can'tgethostinfo%s\n",argv[1]);
exit(1);
}
printf("Scanninghost%sfrom%dto%d\n",argv[1],
start_port,stop_port);
for(i=start_port;i=stop_port;i++)/*使用for語句對每個(gè)端口進(jìn)行連接*/
{
if(scan(i)==0){
reply=getservbyport(htons(i),"tcp");/*用getservbyport得到端口信息*/
if(reply==NULL)/*無法得到端口信息*/
service="Uknown";
else
service=reply-s_name;/*reply-s_name是端口服務(wù)*/
printf("Port%5disopen.\tservice%s\n",i,service);
}
close(sock);
}
}
/*****************************************************************************/
看懂上面的代碼嗎?如果你看不懂的話,或編寫不成功,就用superscan吧,
superscan掃描結(jié)果:
*+3
|___23Telnet
|___
*+4
|___23Telnet
*+5
|___23Telnet
|___#..'
*+6
|___23Telnet
|___#..'
*+7
|___23Telnet
*+8
|___23Telnet
|___#..'
*+66
|___23Telnet
|___#..'
*+67
|___23Telnet
|___#..'
*+68
|___23Telnet
|___#..'
*+
|___23Telnet
|___
*+4
|___23Telnet
|___UserAclearcase/"target="_blank">ccessVerificationPassword:
*+71
|___23Telnet
|___#..'..$
*+72
|___23Telnet
|___#..'..$
是不是很討厭前面的*+和|___23Telnet|___#..'..$東西呢,那再寫個(gè)程序搞定它,
/*************************superscanclear.c************************/
#includestdio.h
main(intargc,char*argv[])
{
FILE*in;/*inputfile定義*/
FILE*out;/*outputfile定義*/
charbuf[1024];/*緩沖區(qū)*/
inti,j;
if(argc3)
{
printf("usage:%sinputfileoutputfile",argv[0]);
exit();
}
in=fopen(argv[1],"r");/*讀文件并差錯(cuò)*/
if(in==NULL)
puts("Fileopenerror");
out=fopen(argv[2],"w");/*寫文件并查錯(cuò)*/
if(out==NULL)
puts("Filewriteerror");
while(fgets(buf,21,in)!=NULL)/*輸入字串*/
{
for(i=0;i18;i++)
{
if(buf[i]=='*')/*字串替換*/
{
for(j=0;j17;j++)
{
buf[i+j]=buf[i+4+j];
}
buf[i+17]='\n';
fputs(buf,out);/*寫入*/
}
}
}
fclose(in);
fclose(out);
}
/**************************************************************************/
用tc來編輯,可達(dá)到最好效果.
使用:
c:\clearinputfile.txtoutputfile.txt
inputfile是superscan掃描結(jié)果文件
outputfile是處理后要生成的文件,生成后為IP文件
第2步
通過telnet的返回banner來確定對反的系統(tǒng)類型.比如
c:\telnet71
SunOS5.8
login:
從而判斷對反的系統(tǒng)類型。
/**************************************************************************/
#includestdio.h
#includestring.h
#includestdlib.h
#includesys/types.h
#includesys/socket.h
#includenetinet/in.h
#includenetdb.h
#definePORT23/*定義端口*/
#defineMAX1024/*buf的長度*/
FILE*output;/*定義outputfile*/
main(intargc,char*argv[])
{
FILE*input;/*定義inputfile*/
charscan_ip[1024];
if(argc4)
{
usage(argv[0]);
exit(1);
}
if(argc==4){
if((output=fopen(argv[2],"w"))==NULL){/*創(chuàng)建并寫入文件*/
printf("couldnotcreattheoutputfile\n");
exit(2);
}
fputs("\n",output);
if((input=fopen(argv[1],"r"))==NULL){/*讀文件*/
printf("couldnotreadtheinputfile\n");
exit(2);
}
}
while(fscanf(input,"%s",scan_ip)!=EOF)/*讀取IP*/
{
telnet_banner(scan_ip,argv[3]);/*telnet_banner()判斷系統(tǒng)類型*/
}
exit(1);
}
intusage(char*pro)/*幫助*/
{
printf("SystemOSdetectorV0.1\n");
printf("W\n");
printf("usage:%sinputfileoutputfileSystemOS\n",pro);
printf("SystemOS1.Sunos2.Redhat3.FreeBSD\n");
}
telnet_banner(char*ip,char*os)
{
structsockaddr_inaddr;
u_charbuf[MAX];
intsock,size,i;
if((sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))==-1){
printf("socketfailt");
exit(1);
}
addr.sin_family=AF_INET;
addr.sin_port=htons(PORT);
addr.sin_addr.s_addr=inet_addr(ip);
if(connect(sock,(structsockaddr*)addr,sizeof(addr))==-1){
printf("connectfailt");
exit(1);
}
while(1){/*接收banner的循環(huán)*/
memset(buf,0,sizeof(buf));/*buf的內(nèi)容置為0*/
if((size=read(sock,buf,1))=0)/*從sock緩沖中讀出第一個(gè)字*/
break;/*等待接收完畢*/
if(*buf==(unsignedint)255){/*如何為空的話,在讀入2個(gè)字*/
read(sock,(buf+1),2);
if(*(buf+1)==(unsignedint)253!(u_char)*(buf+2))
;
elseif((u_char)*(buf+1)==(unsignedint)253){/*如果buf[1]的內(nèi)容為253的話,設(shè)置buf[1]為252,寫入sock緩沖*/
*(buf+1)=252;
write(sock,buf,3);
}
}else{
if(*buf!=0){
bzero(buf,sizeof(buf));
read(sock,buf,sizeof(buf));
close(sock);
if(*os==49)/*systemos為1*/
if(strstr(buf,"SunOS")!=0){
fprintf(output,"*scanhost%s",ip);
buf[12]=buf[14];
fprintf(output,"\tOS:%s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度高校教室租賃合同范本3篇
- 電力安裝工程勞務(wù)分包合同
- 二零二五版農(nóng)業(yè)用地轉(zhuǎn)讓買賣合同樣本3篇
- 二零二五年度冷鏈物流運(yùn)輸委托協(xié)議及貨物配送服務(wù)合同3篇
- 二零二五版汽車租賃與培訓(xùn)服務(wù)合同模板2篇
- 二零二五年度個(gè)人股份繼承合同樣本:有限責(zé)任公司股東權(quán)益轉(zhuǎn)移專用4篇
- 二零二五年度基礎(chǔ)設(shè)施施工拆除勞務(wù)服務(wù)合同樣本2篇
- 二零二五版消防產(chǎn)品研發(fā)與檢測實(shí)驗(yàn)室建設(shè)勞務(wù)施工合同6篇
- 二零二五版物流倉儲(chǔ)租賃合同及貨物安全保障協(xié)議3篇
- 二零二五年度二手房交易合同示范文本(帶抵押)
- 個(gè)體戶店鋪?zhàn)赓U合同
- 禮盒業(yè)務(wù)銷售方案
- 術(shù)后肺炎預(yù)防和控制專家共識(shí)解讀課件
- 二十屆三中全會(huì)精神學(xué)習(xí)試題及答案(100題)
- 中石化高級(jí)職稱英語考試
- 小學(xué)五年級(jí)英語閱讀理解(帶答案)
- 2024二十屆三中全會(huì)知識(shí)競賽題庫及答案
- 仁愛版初中英語單詞(按字母順序排版)
- 2024年全國統(tǒng)一考試高考新課標(biāo)Ⅱ卷語文+數(shù)學(xué)+英語試題(真題+答案)
- 2024年全國甲卷高考化學(xué)真題試題(原卷版+含解析)
- 小學(xué)一年級(jí)拼音天天練
評論
0/150
提交評論