- Perl в хэке и хэки в Perl

Презентация "Perl в хэке и хэки в Perl" – проект, доклад

Слайд 1
Слайд 2
Слайд 3
Слайд 4
Слайд 5
Слайд 6
Слайд 7
Слайд 8
Слайд 9
Слайд 10
Слайд 11
Слайд 12
Слайд 13
Слайд 14
Слайд 15
Слайд 16
Слайд 17

Презентацию на тему "Perl в хэке и хэки в Perl" можно скачать абсолютно бесплатно на нашем сайте. Предмет проекта: Разные. Красочные слайды и иллюстрации помогут вам заинтересовать своих одноклассников или аудиторию. Для просмотра содержимого воспользуйтесь плеером, или если вы хотите скачать доклад - нажмите на соответствующий текст под плеером. Презентация содержит 17 слайд(ов).

Слайды презентации

YAPC::Russia 2009. Докладчик: Илья Зеленчук, Perlсlub УрГУ (г. Екатеринбург). Perl в хэке и хэки в Perl
Слайд 1

YAPC::Russia 2009

Докладчик: Илья Зеленчук, Perlсlub УрГУ (г. Екатеринбург)

Perl в хэке и хэки в Perl

Игры. CTF (Capture the Flag) ICFP EACP (Extremely Advanced Computer Programming)
Слайд 2

Игры

CTF (Capture the Flag) ICFP EACP (Extremely Advanced Computer Programming)

Perl в хэке. Простоя работа с сетью; Удобен при написании PoC; Обфускация кода; Генерация сложночитаемого С кода; Затрудненный reverse.
Слайд 3

Perl в хэке

Простоя работа с сетью; Удобен при написании PoC; Обфускация кода; Генерация сложночитаемого С кода; Затрудненный reverse.

Пример игрового сервиса
Слайд 4

Пример игрового сервиса

Простой веб клиент. ;
Слайд 5

Простой веб клиент

;

Perl2C. ... (3474 строки) xpv_list[79].xpv_pv = savepvn("Hello, MayPerl\n", 15); { SV **svp; AV *av = (AV*)&sv_list[279]; av_extend(av, 2); svp = AvARRAY(av); *svp++ = (SV*)&PL_sv_undef; *svp++ = (SV*)&PL_sv_undef; *svp++ = (SV*)&sv_list[280]; AvFILLp(av) = 2; } PL_curpad =
Слайд 6

Perl2C

... (3474 строки) xpv_list[79].xpv_pv = savepvn("Hello, MayPerl\n", 15); { SV **svp; AV *av = (AV*)&sv_list[279]; av_extend(av, 2); svp = AvARRAY(av); *svp++ = (SV*)&PL_sv_undef; *svp++ = (SV*)&PL_sv_undef; *svp++ = (SV*)&sv_list[280]; AvFILLp(av) = 2; } PL_curpad = AvARRAY((AV*)&sv_list[279]); GvHV(PL_incgv) = (HV*)&sv_list[53]; ... (150 строк)

Perl2bin
Слайд 7

Perl2bin

Хэки в Perl. Простой сокет в Perl’e; Sniffer под UNIX без использования libpcap; Прием/отправка пакетов и использованием raw socket; Неблокирующие сокеты.
Слайд 8

Хэки в Perl

Простой сокет в Perl’e; Sniffer под UNIX без использования libpcap; Прием/отправка пакетов и использованием raw socket; Неблокирующие сокеты.

Perl sockets. #!/usr/bin/perl use Socket; socket $S, PF_INET, SOCK_STREAM, getprotobyname('tcp‘); my $addr=sockaddr_in(80, inet_aton($ip)); connect $S, $addr or die "Can't open connection: $!\n"; send $S, "GET / HTTP/1.0\r\n\r\n", 0; print ; close $S;
Слайд 9

Perl sockets

#!/usr/bin/perl use Socket; socket $S, PF_INET, SOCK_STREAM, getprotobyname('tcp‘); my $addr=sockaddr_in(80, inet_aton($ip)); connect $S, $addr or die "Can't open connection: $!\n"; send $S, "GET / HTTP/1.0\r\n\r\n", 0; print ; close $S;

Sniffer под Unix без использования libpcap. #!/usr/bin/perl #use Socket; use constant PF_PACKET => 17; use constant SOCK_PACKET => 10; use constant ETH_P_ALL => 0x0003; socket (SOCKET, PF_PACKET, SOCK_PACKET, ETH_P_ALL) or die “Socket error: $!\n"; while (){ recv (SOCKET, $buf, 1514, 0
Слайд 10

Sniffer под Unix без использования libpcap

#!/usr/bin/perl #use Socket; use constant PF_PACKET => 17; use constant SOCK_PACKET => 10; use constant ETH_P_ALL => 0x0003; socket (SOCKET, PF_PACKET, SOCK_PACKET, ETH_P_ALL) or die “Socket error: $!\n"; while (){ recv (SOCKET, $buf, 1514, 0); # читаем пакет print unpack ("H*", $buf), "\n\n"; # выводим его в формате hex }

Отправка UDP пакета через raw socket. #!/usr/local/bin/perl use Socket; use constant IPPROTO_RAW => 255; $iaddr = inet_aton ('192.168.139.1'); $paddr = sockaddr_in (80, $iaddr); #80 - порт назначения socket(SOCKET, PF_INET, SOCK_RAW, IPPROTO_RAW) or die “Socket error: $!\n"; …
Слайд 11

Отправка UDP пакета через raw socket

#!/usr/local/bin/perl use Socket; use constant IPPROTO_RAW => 255; $iaddr = inet_aton ('192.168.139.1'); $paddr = sockaddr_in (80, $iaddr); #80 - порт назначения socket(SOCKET, PF_INET, SOCK_RAW, IPPROTO_RAW) or die “Socket error: $!\n"; …

$packet .= pack("C", 69); $packet .= pack ("H2", '00'); $packet .= pack ("n", 28); $packet .= pack ("n", 0); $packet .= pack ("H4", '4000'); $packet .= pack ("C", 64); $packet .= pack ("C", getprotobyname('udp')); $packet .= pack
Слайд 12

$packet .= pack("C", 69); $packet .= pack ("H2", '00'); $packet .= pack ("n", 28); $packet .= pack ("n", 0); $packet .= pack ("H4", '4000'); $packet .= pack ("C", 64); $packet .= pack ("C", getprotobyname('udp')); $packet .= pack ("n", 0); $source_ip = '207.46.197.32'; $result_source_ip .= pack ("C", $_) for (split('\.', $source_ip)); $packet .= $result_source_ip; $destination_ip = '192.168.139.1'; $result_destination_ip .= pack ("C", $_) for (split('\.', $destination_ip)); $packet .= $result_destination_ip; $packet .= pack ("n", 25); $packet .= pack ("n", 80); $packet .= pack ("n", 8); $packet .= pack ("H4", '0000');

Отправка пакетов через packet socket. С какого интерфейса происходит отправка пакета: struct sockaddr { sa_family_t sa_family; //семейство протоколов char sa_data[14]; //14 байтов на описание этого семейства... };
Слайд 13

Отправка пакетов через packet socket

С какого интерфейса происходит отправка пакета: struct sockaddr { sa_family_t sa_family; //семейство протоколов char sa_data[14]; //14 байтов на описание этого семейства... };

Пример заполнения структуры и отправки пакета: $addr = PF_PACKET; #семейство $iface = "eth0"; #используемое устройство $socket = pack ('Sa14', $addr, $iface); #упаковываем все это в структуру send(SOCKET, $packet, 0, $socket) or die "Can't send packet:$!\n";
Слайд 14

Пример заполнения структуры и отправки пакета: $addr = PF_PACKET; #семейство $iface = "eth0"; #используемое устройство $socket = pack ('Sa14', $addr, $iface); #упаковываем все это в структуру send(SOCKET, $packet, 0, $socket) or die "Can't send packet:$!\n";

Неблокирующий сокет на Perl (Windows). … my ($win, $ein); my $addr=sockaddr_in(86, inet_aton("10.0.0.253")); socket SOCK, PF_INET, SOCK_STREAM, 0 or die "Socket: $!\n"; ioctl(SOCK, 0x8004667e, pack("I", 1)); connect SOCK, $addr; vec ($win = '',fileno(SOCK),1)=1; $ein=$w
Слайд 15

Неблокирующий сокет на Perl (Windows)

… my ($win, $ein); my $addr=sockaddr_in(86, inet_aton("10.0.0.253")); socket SOCK, PF_INET, SOCK_STREAM, 0 or die "Socket: $!\n"; ioctl(SOCK, 0x8004667e, pack("I", 1)); connect SOCK, $addr; vec ($win = '',fileno(SOCK),1)=1; $ein=$win; my $nfound = select (undef, $win, $ein, 1); …

СПАСИБО ЗА ВНИМАНИЕ! Илья Зеленчук (ilya@hackerdom.ru)
Слайд 16

СПАСИБО ЗА ВНИМАНИЕ!

Илья Зеленчук (ilya@hackerdom.ru)

Запустить netcat, повесить bash, cat’нуть файл, grep’нуть по регвыру... Или лучше установить Perl? K.I.S.S.
Слайд 17

Запустить netcat, повесить bash, cat’нуть файл, grep’нуть по регвыру...

Или лучше установить Perl?

K.I.S.S.

Советы как сделать хороший доклад презентации или проекта

  1. Постарайтесь вовлечь аудиторию в рассказ, настройте взаимодействие с аудиторией с помощью наводящих вопросов, игровой части, не бойтесь пошутить и искренне улыбнуться (где это уместно).
  2. Старайтесь объяснять слайд своими словами, добавлять дополнительные интересные факты, не нужно просто читать информацию со слайдов, ее аудитория может прочитать и сама.
  3. Не нужно перегружать слайды Вашего проекта текстовыми блоками, больше иллюстраций и минимум текста позволят лучше донести информацию и привлечь внимание. На слайде должна быть только ключевая информация, остальное лучше рассказать слушателям устно.
  4. Текст должен быть хорошо читаемым, иначе аудитория не сможет увидеть подаваемую информацию, будет сильно отвлекаться от рассказа, пытаясь хоть что-то разобрать, или вовсе утратит весь интерес. Для этого нужно правильно подобрать шрифт, учитывая, где и как будет происходить трансляция презентации, а также правильно подобрать сочетание фона и текста.
  5. Важно провести репетицию Вашего доклада, продумать, как Вы поздороваетесь с аудиторией, что скажете первым, как закончите презентацию. Все приходит с опытом.
  6. Правильно подберите наряд, т.к. одежда докладчика также играет большую роль в восприятии его выступления.
  7. Старайтесь говорить уверенно, плавно и связно.
  8. Старайтесь получить удовольствие от выступления, тогда Вы сможете быть более непринужденным и будете меньше волноваться.

Информация о презентации

Ваша оценка: Оцените презентацию по шкале от 1 до 5 баллов
Дата добавления:14 апреля 2018
Категория:Разные
Содержит:17 слайд(ов)
Поделись с друзьями:
Скачать презентацию
Смотреть советы по подготовке презентации