Chinaunix首页 | 论坛 | 博客
  • 博客访问: 131211
  • 博文数量: 42
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 448
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-07 12:02
文章分类
文章存档

2010年(42)

我的朋友

分类: WINDOWS

2010-09-07 11:51:25

前些天领导让我们在网站上投票提高他的排名,可是每人投一票才100多票。过了几天领导问我会不会做个刷票程序,提高排名,我说可以试试,研究了一天,终于做出来了,兴奋的我一晚上没睡着。现在拿出来分享一下。

      说白了我做的其实就是个批处理文件,批处理扩展名为.bat,其实那个投票页面只是用session去控制是否投票,众所周知,session变量在IE 关闭后就会自动消失,重新打开页面时又会创建一个新的连接,这就可以重复投了,这个页面是用的AJAX,我找到ajax所在的JS,把它的真正的投票页面 找出来,把ID通过页面传入,实现投票。目前要做的就是自动打开IE连接投票页,然后自动断开,自动再连,从而实现重复投票。

      这个投票网站有两个致命点,一是投票不进行IP控制而用session服务端控制 ,导致可以用一个IP重复投票,二是实际投票处理页面的参数是通过GET方式进行传输,这就会导致作弊的可能。

      通过利用以上两个漏洞,我做也了一个bat批处理,如下:

@echo off

echo 正在关闭冗余进程,请稍等......

taskkill /f /im iexplore.exe

echo -------------程序初始化完毕,请指示!----------

echo. & pause

    :openie
       
        echo 正在投票,请稍等......
        start ""  "C:\Program Files\Internet Explorer\iexplore.exe"
        echo IE打开完成!
       
        ping 127.0.0.1 -n 2
       
        taskkill /f /im iexplore.exe
       
        echo 延时2秒关闭投票完成!
   
    goto openie


echo. & pause

关键点解释

  1. taskkill /f /im iexplore.exe   强制关闭IE进程,当然也可以关闭其它进程,关于进程名,可以通过任务管理器查到。
  2. start ""  "C:\Program Files\Internet Explorer\iexplore.exe" 这个是打开一个windows程序,注意路径,注意 start 后边的 "" 一定不要丢掉。
  3. ping 127.0.0.1 -n 2 用这个是来延时的 ,大家都知道bat批处理的延时执行太麻烦,这样来的简洁一些,需要注意的是 一定要ping 本地 127.0.0.1 ,否则可能导致记时长度不同,-n 2 的意思是重复两次,太约为2秒,当然时长可调,只要调数字即可。
  4. 重点:bat批处理的无限循环。:openie 的意思是设置一个点,这个可以随意,任何字母组合都行,不要与关键词重复。 goto openie 的意思是返回 前边设置的那个点 openie ,设置的返回点前后一定要对应。


      现在你可以把以上代码复制到 一个文本文档中,一定要把扩展名改为.bat ,.bat 是批处理的标准扩展名。当然98的一个很经典的程序是autoexec.bat 相信很多过来人都听说过,感兴趣的可以百度一下。当然你也可以举一返三,来开启或结束其它程序的进程。

      有什么不会的可以Q本人,QQ号在页面底部右边,共同提高共同进步,呵呵

      以下这个程序是从网上找的,可以参拷,具体知道是干什么的,有些地方还没看明白,如果你的领悟能力高的话自己研究吧!

      提示:以下这个程序是监控一个进程是否存在,如果不存在则启动,如果进程丢失也启动,即让程序永远运行!

 

@echo off

set _task=notepad.exe
set _svr=c:\windows\notepad.exe
set _des=start.bat

:checkstart
for /f "tokens=5" %%n in ('qprocess.exe ^| find "%_task%" ') do (
 if %%n==%_task% (goto checkag) else goto startsvr
)

:startsvr
echo %time%
echo ********程序开始启动********
echo 程序重新启动于 %time% ,请检查系统日志 >> restart_service.txt
echo start %_svr% > %_des%
echo exit >> %_des%
start %_des%
set/p=.for /L %%i in (1 1 10) do set /p a=.nul
echo .
echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs
cscript //b //nologo %tmp%\delay.vbs 10000
del %_des% /Q
echo ********程序启动完成********
goto checkstart


:checkag
echo %time% 程序运行正常,10秒后继续检查..
echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs
cscript //b //nologo %tmp%\delay.vbs 10000
goto checkstart

阅读(2594) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-09-09 16:07:52

Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com