Любой способ обойти проверку пароля здесь? - PullRequest
0 голосов
/ 19 сентября 2019
static int checkPassword(char* user_pw) {

  char dummy[128];
  int accept = 0;
  char pw[8];
  char len;
  char* correct_pw = "xf35+";
  memset(pw, 0, sizeof(pw));
  memset(dummy, 0, sizeof(dummy));

  len = strlen(user_pw);
  if (len < 8) {
    strcpy(pw, user_pw);
  }
  if (strcmp(pw, correct_pw) == 0) {
    accept = 1;
  }
  return accept;
}


int main(int argc, char* argv[]) {
  // Where argv[3] should be password
  // ...
  if (strlen(argv[3]) > 128) {
    fprintf(stderr, "Password is too long!\n");
    return 1;
  }

  if (checkPassword(argv[3]) == 0) {
    fprintf(stderr, "Password is incorrect!\n");
    return 1;
  }
  // ...
}

Пароль здесь жестко запрограммирован, но есть ли способ обойти проверку пароля?Я заметил, что "len" объявлен как char, но до сих пор точно не знаю, как решить эту проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...