All pastes #937601 Raw Edit

Unnamed

public text v1 · immutable
·published 2008-03-11 01:54 UTC
rendered paste body
#include <stdio.h>
#include <string.h>
 
int main(int argc, char *argv[]) {
 
  int i;
  char  buffer[32];
//char  *key1 = "/";
  char  *p1, *p2, *p3, *p4, *p5;
  char  key2[2], key3[2], key4[2], key5[2];
 
//  if(argc != 2)
//    return -1;
 
  for(i = 1; i < argc; i++) {
        memset(argv[i], 0, strlen(argv[i]));
  }
  sprintf(key2, "%c", 0x90); // nop
  sprintf(key3, "%c", 0xeb); // jmp
  sprintf(key4, "%c", 0xcd); // int
  sprintf(key5, "%c", 0xff); // still easy
 
//p1 = strstr(argv[0], key1);
  p2 = strstr(argv[0], key2);
  p3 = strstr(argv[0], key3);
  p4 = strstr(argv[0], key4);
  p5 = strstr(argv[0], key5);
 
  if (p2 != NULL || p3 != NULL || p4 != NULL || p5 != NULL) {
    printf("Access denied.\n");
    return -1;
  }
  else {
    printf("Access granted.\n");
  }
 
  strcpy(buffer, argv[0]);
 
  return 0;
}