Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Absturz bei "strcat"

Mitglied: kunert0345

kunert0345 (Level 1) - Jetzt verbinden

30.07.2015, aktualisiert 16:10 Uhr, 1303 Aufrufe, 5 Kommentare, 1 Danke

Seit dem ich die Codezeile "strcat( string1, tmp1);" in meinem Queltext habe stürzt das Programm immer ab.
Hat einer eine Idee warum das so ist?
Bin schon langsam am verzweifeln

01.
#include <stdio.h>
02.
#include <stdlib.h>
03.
#include <string.h>
04.

05.
int main (void) {
06.

07.
    FILE *fp;
08.
    char tmp1;
09.
    char switch1 = '0';
10.
    char string1[255];
11.

12.
    fp = fopen ("config.conf", "r");
13.

14.
    if(fp == NULL) {
15.
        puts("ERROR: Konfiguration konnte nicht eingelesen werden, ueberpruefen Sie die config.conf Datei");
16.
        return 1;
17.
    }
18.
    else {
19.
        //List Buchstabenweise die config datei
20.
        while((tmp1 = fgetc(fp)) !=EOF) {
21.
            //Die Leerzeichen löschung wird mit " an oder abgeschaltet
22.
            if('"' == tmp1) {
23.
                if(switch1 == '0'){
24.
                    switch1 = '1';
25.
                }
26.
                else {
27.
                    switch1 = '0';
28.
                }
29.
            }
30.
            //Leerzeichen löschung auser wenn " switch1 an ist und " zeichen löschen
31.
            if (!((tmp1==' ' || tmp1=='\t') && (switch1=='0') || (tmp1=='"'))){
32.
                printf("%c", tmp1);
33.

34.
                //variablen name einlesen
35.

36.
                strcat( string1, tmp1);
37.
            }
38.
        }
39.
        printf("\n%s", string1);
40.

41.
        fclose (fp);
42.
        return 0;
43.
    }
44.
}
Mitglied: Lochkartenstanzer
LÖSUNG 30.07.2015, aktualisiert um 16:10 Uhr
Moin

strcat erwartet pointer auf Null-terminierte Strings. Dein tmp1 ist aber nur ein char..

das sind so die typischen fehler, um erfolgreich exploits anzubringen.

Also öfter mal in des Reference-manual schauen.

lks
Bitte warten ..
Mitglied: kunert0345
30.07.2015 um 16:12 Uhr
Ah verstehe, da kann er ja lange warten *~*

Hast Du eine Idee wie ich den char in den string schreiben kann?
Bitte warten ..
Mitglied: Lochkartenstanzer
LÖSUNG 30.07.2015, aktualisiert um 16:19 Uhr
Nachtrag:;

Bei stract solltest Du sicherstellen, daß dein Ziel-Array genug platz hat. Also vorher die strinlänge im Ziel und an der quelle überprüfen udn sofern dies mehr als die reservierte Arraylänge beträgt vom aufruf von strcat absehen!

lks
Bitte warten ..
Mitglied: Lochkartenstanzer
LÖSUNG 30.07.2015, aktualisiert um 16:19 Uhr
Zitat von kunert0345:

Ah verstehe, da kann er ja lange warten *~*

Hast Du eine Idee wie ich den char in den string schreiben kann?

Länge des Strings in string1 feststellen, string1[länge] dann auf den char setzen und dann noch eine null in länge+1 schreiben. Alelrdings soltlest Du sicherstellen, daß Du nicht üebr die Array-grenzen hinausschreibst.

lks
Bitte warten ..
Mitglied: kunert0345
30.07.2015 um 16:19 Uhr
DANKE!!! )
Bitte warten ..
Ähnliche Inhalte
Netzwerkgrundlagen
Netzwerkaussetzer- Switch Absturz
Frage von GrEEnbYteNetzwerkgrundlagen21 Kommentare

Hallo ich habe in einem Netzwerk, insbesondere an einem PC, seltsame Aussetzer. D.h. der PC friert kurz ein um ...

Vmware
Absturz ESXI 5.1
gelöst Frage von zeroblue2005Vmware7 Kommentare

Hallo Zusammen, heute Nacht ist mir wohl ca. um 5-6 Uhr mein ESXI abgestürzt! Ich dachte erst, dass es ...

Windows 7
Absturz bei Netzwerkzugriff
gelöst Frage von hotrockinWindows 71 Kommentar

Hallo, ich habe mit einem neu installiertem Windows7-64 PC folgendes Phänomen (erstmals, ich habe davor schon viele Systeme eingerichtet, ...

CPU, RAM, Mainboards
Plötzlicher Absturz des Rechners
gelöst Frage von aif-getCPU, RAM, Mainboards5 Kommentare

Hallo, mein Rechner hat zwar schon ein paar Tage auf dem Buckel, aber seit kutzem passiert komsiches. Ich arbeite ...

Neue Wissensbeiträge
Internet
Big Brother is Watching You
Information von transocean vor 2 StundenInternet

Moin, die Datenkrake Google fischt Informationen über Einkäufe ab, die GMail Nutzer im Netz tätigen. Gruß Uwe

Datenschutz
TeamViewer gehackt !
Information von aqui vor 4 StundenDatenschutz1 Kommentar

Hat schon einen Grund warum verantwortungsvolle Admins diese Software nicht einsetzen und sie in den meisten größeren Firmen aus ...

Netzwerke

Cisco Security Warnung für SoHo Switches der SG Serie

Information von aqui vor 1 TagNetzwerke3 Kommentare

Update auf eine aktuelle Version wäre also eine gute Idee ! ;-)

Sicherheit

Der TeamViewer-Entwickler war 2016 Opfer eines Cyber-Angriffs

Information von kgborn vor 1 TagSicherheit1 Kommentar

Ich denke, nur wenige dürften die kleine Firma TeamViewer aus Göppingen kennen - und einsetzen wird die Produkte von ...

Heiß diskutierte Inhalte
Router & Routing
Reverse Proxy - Anfängerfragen
Frage von NixVerstehenRouter & Routing15 Kommentare

Servus zusammen, endlich Freitag und ich darf wieder meine Anfängerfragen stellen :-) Ich bereite gerade einen Testaufbau für ein ...

Verschlüsselung & Zertifikate
Verschlüsselungsmethoden für Netzwerkdateien im Firmennetzwerk
Frage von kafipauseVerschlüsselung & Zertifikate7 Kommentare

Hallo, ich suche für meine Firma eine Verschlüsselungssoftware, um einige Ordner auf einem Fileserver zu verschlüsseln und verschiedenen Gruppen ...

Windows Netzwerk
Clients finden Domäne nicht mehr (Server 2008 R2)
Frage von bitshopWindows Netzwerk6 Kommentare

Hallo, habe das Problem, dass sich kein PC mehr an der Domäne anmelden lässt. Vor kurzer Zeit ist das ...

Festplatten, SSD, Raid
Intel C612 AHCI SATA Raid ohne Warnungen?
gelöst Frage von NordicMikeFestplatten, SSD, Raid6 Kommentare

Moin zusammen, ich suche mir gerade einen Wolf. Ich habe einen Server 2016 core auf ein Supermicro X10DRi mit ...