[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
因为大多数的批处理判断密码都是用IF
IF判断密码的 非常容易被破解
举个例子
就那6楼的代码来做示范
  1. @echo off&SetLocal EnableDelayEdexpansion&cd /d "%~dp0"
  2. rem 1、判断是否添加了注册表项,没有则添加。   
  3. REG QUERY hkcr\.### /v "mima" 1>nul 2>nul||reg add hkcr\.### /v "mima" /d "" /f >nul
  4. rem 2、查询注册表项,获取密码。
  5. for /f "tokens=1-3" %%a in ('REG QUERY  hkcr\.### /v "mima"') do (set "mima=%%c")
  6. if "!mima!"=="" ( echo 没有设置密码。 ) else (goto :2)
  7. rem 设置密码
  8. :1
  9. set /p "code=设置密码:"
  10. if "!code!"=="" echo 密码不能为空。& goto :1
  11. reg add hkcr\.### /v "mima" /d "!code!" /f
  12. pause & goto :3
  13. rem 验证密码
  14. :2
  15. echo 设置了密码。
  16. set /p "code=输入密码:"
  17. if "!code!"=="!mima!" (
  18.   echo;
  19.   echo 密码正确。。
  20.   pause
  21. ) else (
  22.   echo =============
  23.   echo 你妹,不对。
  24.   goto :2
  25. )
  26. rem 操作
  27. :3
  28. cls
  29. echo 1.修改密码。
  30. echo 2.删除密码。
  31. echo 3.退出。
  32. set /p "case=请选择:"
  33. if "!case!"=="1" goto :1
  34. if "!case!"=="2" reg delete  hkcr\.### /f & pause & goto :3
  35. if "!case!"=="3" exit
  36. echo 输入错误。& pause & goto :3
复制代码
注意
  1. if "!code!"=="!mima!"
复制代码
如果在要求书填入密码是输入:
  1. "=="" goto 3 & echo
复制代码
那就成功破解了
为什么呢?
现在
  1. if "!code!"=="!mima!"
复制代码
中的 !code! 是
  1. "=="" goto 3 & echo
复制代码
如果代入进去就会变成
  1. if ""=="" goto 3 & echo "=="!mima!"
复制代码
if ""=="" 这里条件始终是正确的
所以 goto 3就会跳转到
  1. :3
  2. cls
  3. echo 1.修改密码。
  4. echo 2.删除密码。
  5. echo 3.退出。
  6. set /p "case=请选择:"
  7. if "!case!"=="1" goto :1
  8. if "!case!"=="2" reg delete  hkcr\.### /f & pause & goto :3
  9. if "!case!"=="3" exit
  10. echo 输入错误。& pause & goto :3
复制代码
也就是密码输入正确的地方


但这技巧只是绕过了密码验证
没有真正的得到密码

TOP

返回列表