绕过非安全密码

时间:2014-04-19 19:58:33

标签: batch-file password-protection

所以我制作了一个非常简单,非常安全的批处理程序,它将您输入的密码与程序中的密码进行比较。现在我想看看我是否可以以某种方式绕过它(我个人在思考类似于SQL注入的东西)。唯一的限制是您无法阅读源代码。那么,有什么建议吗?

@echo off
:A
echo enter password to activate the program
set/p "pass=>"
if NOT %pass% == l33t  goto :A
start program
cls
exit

这是

的批处理

if (password == "l33t") {start program}.

编辑:你也不能强迫它。

3 个答案:

答案 0 :(得分:2)

这里有一个批处理的bruteforcer 3分钟找到你的代码。 LOL

@echo off&cls
setlocal EnableDelayedExpansion

set $ListChar=a b c d e f g h i j k l m o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0

::For a code with 4 char (without special char)

echo %time%>Brutef.txt
for %%a in (%$Listchar%) do (
   for %%b in (%$Listchar%) do (
      for %%c in (%$Listchar%) do (
        for %%d in (%$Listchar%) do (
               set $CODE=%%a%%b%%c%%d
               if "!$CODE!"=="l33t" (echo !time!>>Brutef.txt
                                     echo CODE FOUND : !$Code!
                                     PAUSE
                                     start program)))))

您可以在Brutef.txt

中查看所需的时间

答案 1 :(得分:1)

我无法看到这个答案如何造成任何伤害,因为如果您知道批处理源代码,那么您可能知道如何启动程序。

所以让我们尝试输入:

EXIST blabla.txt

这应该抛出一个错误,但批处理继续,因此你绕过了if子句。

答案 2 :(得分:0)

在控制台中输入start program。这将绕过密码"保护"。

SCNR


无论如何,该代码中没有注入孔。