�����������

�ִ��������פϤɤ��Ǥ�ɬ�ס��������˸��򤫤���Ȥ����ߥ������ɱҹ��ۤȤ���������
�־���פϥͥåȥ����ȯã�ˤ�ꡢ��ñ�ˡִ����פ���äƤ��롣

�ֻ���פȡ��к���


���׻���������󤵤���
���㡧 (1) �ץ������򲿸� fork() �Ǥ��뤫��Ƹ�����
(2) ���꡼��ɤ���� malloc() �Ǥ��뤫��Ƹ�����
�к��� �����ԤΥ�������Ȥ���å���줿��

�������ʷ׻����񸻤�����
���㡧 �᡼�륵���Ф��絬�Ϥʷ׻���ԤäƤ�����
�к��� �桼���ץ�������ƻ롣nice ��Ȥ��褦�˶��顣
���㡧 �ǥ����������̤˾���(�ե꡼���եȤΥ���ѥ��롦���󥹥ȡ���)
�к��� �ǥ��������������� (quota) ��Ȥ������¡�ɬ�פʥ��եȤϴ����Ԥ����󥹥ȡ��롣

���᡼�����Ŭ�ڤ�����
���㡧 ź�ե᡼��򥯥饹�����ˤФ黵����
�к��� ���̤��礭��������(1MB)
���㡧 �����륹�դ��᡼�뤬��롣
�к��� �������˥�����󤷤Ƴ�Υ����(procmail)�������ѤȤ��ư���ź�ե᡼�뤬�����Ǥ��ʤ���
�㡧��������᡼�롦�ͥ��߹֡��ǥ޾���
�������

����������ץ饤�Х�������

���ѥݥꥷ��

����������
����������
���ȿ��Υͥåȥ���λ�Ū����
�������С����ߤβ���
Web�ڡ������о�
��˥С����륢���������Хꥢ�ե꡼
�ۤʤ���ʹ�
��ͳ�ʾ���ȯ��

���ѵ��󡦴����ȿ�

���ѵ���(���ѥݥꥷ������ʸ��)

�����ƥ�����ȿ�(�ݥꥷ����¸�����ͤ���)
������Ū�ʤ��ȡ�ˡΧŪ�ʤ��ȡ��б�Ū�ʤ���

����Ū�ʤ���(�ƻ��ޤ�)�ȿʹֶ��������

�������������ȥ������ƥ�

ǧ��(�ѥ����)
���ѥ���ɤδ���(�Ŀ͡������ƥ������)
���ѥ����ǧ�ڤλ��Ȥ�
UNIX �Υѥ���ɥե�����
��/etc/passwd /etc/shadow
tkikuchi@nws% /www/bin/htpasswd -c passwd tokio
New password: �� �����ʤ� hogehoge ������
Re-type new password: �� Ʊ����
Adding password for user tokio
tkikuchi@nws% cat passwd
tokio:WI/U/s091SyLs
tkikuchi@nws% cat pass.c
#include <stdio.h>
#include <crypt.h>
main() {
    char *salt = "WI";
    char *passwd;
    char *plain = "hogehoge";
    passwd = crypt(plain, salt); # �Ź沽
    printf("%s\n", passwd);
}
tkikuchi@nws% gcc -o pass pass.c
tkikuchi@nws% ./pass
WI/U/s091SyLs
��crack �Ȥ����ץ������ -- ���Ƥ��äݤ��Υѥ���ɲ��ɥץ������ (��������򷫤��֤���������ޤ��Τǡ��ѥ���ɥե������������� ��ʬ�Υޥ���Ǽ¹Ԥ���)
���ѥ���ɤϲ��̤ꡩ
����A-Za-z0-9(62ʸ��)/Ĺ��8ʸ�� ... 218,340,105,584,896�̤�
����a-z0-9(36ʸ��)/Ĺ��6ʸ�� ...... 2,176,782,336�̤�
1�̤���Τ� 1���äȤ���������ΤˤɤΤ��餤���֤����������������

�ȿ��������ȳ�����ʬ����

1. �����إ��������Ǥ���ۥ��ȡ�PC
2. �������饢�������Ǥ��륵����
Proxy(����)�����Ф����Ѥȴ���

�����ƥ࿯���μ��

1. �����Ф��ȼ���(vulnerability)���ͤ�
2. ΢���򳫤���
3a. �ѥ���ɥե��������
3b. �ѥ��åȥ��˥åե�(packet sniffer)��ųݤ���
4. �����桼���ˤʤꤹ�ޤ�

�����Ф��ȼ����Ȥϡ� ... �Хåե��������Хե���(buffer overflow)
���Хåե��������Хե�������ץ���������
#include 

main() {
    char buf[4];

    gets(buf);
    puts(buf);
}
sscanf() �Ǥʤ� fgets() + sscanf() ��Ȥ�.
printf() �Ǥʤ� snprintf() ��Ȥ�.
(man ... ���ɤ�)

���ȼ�������

ƿ̾���ΰ���

��Web �Ǽ���
��Proxy
���ե꡼�᡼��

�Żҥ᡼��ˤ�빭��(SPAM)

���᡼���������� ������ʬ��(�ѥ����󡢳�Ψ)

�Ź�