Có nên để router 24/7 k nhỉ ?

Thảo luận trong 'Phần cứng chung - General Hardware' bắt đầu bởi Tesla, 17/10/05.

  1. cricketman

    cricketman take a rest

    Bài viết:
    3,175
    Nơi ở:
    somewhere btw hell and heaven
    đó là bug của MS .. update security patch hoặc install latest SP để nó fix . tui cũng bị hoài à ..

    mấy con spywares đó khi nào cha vô porn site hoặc warez site mới có.
    dân hay dùng internet thì 3 cái này bắt buộc phải có

    1) firewall
    2) spyware scanner
    3) virus scanner (có hay không không quan trọng. tui chưa bao giờ bị virus nhưng cũng dùng để ngừa)
     
  2. nguoisaigon

    nguoisaigon Massage ******

    Bài viết:
    1,238
    Nơi ở:
    PC Salon
    phải tản nhiệt nhe, nóng lắm à. Cứ để cây wạt thổi hay hút ngay chỗ cái modem là okie
     
  3. dualathlon

    dualathlon Amaze Member

    Bài viết:
    102
    Từ ngày gắn kotex xì tin trong ................................ line adsl, cái zyxel + cái comp của tui chưa hề tắt + chưa hề restart bao giờ :D
    Cái máy của bạn gì đó không gắn modem thì làm sao nó dial quốc tế được :sun:


    Còn về buffer overflow, bạn biết lập trình thì bạn sẽ hiểu.
    Giả sử có đoạn code ngôn ngữ C sau:

    If (getNetworkData(buffer))
    DoSomething();

    Hàm getNetworkData(buffer)
    {
    char my_buffer[256];
    read(my_buffer);
    copy(buffer, my_buffer);
    return true;
    }

    Dịch ra hợp ngữ đoạn code IF

    L1 lea eax, buffer ; lấy địa chỉ của buffer đưa vào thanh ghi eax
    L2 push eax ; truyền địa chỉ buffer vào hàm getNetworkData
    L3 call getNetworkData ; gọi hàm
    L4 add esp, 4 ; phục hồi stack sau khi hàm trở về
    L5 cmp eax, 0 ; so sánh kết quả trả về: 1 là true, 0 là false
    L6 ...

    Đoạn code hàm getNetworkData
    L10 sub esp, 256 ; lấy 256 bytes trong stack
    L11 push esp ; truyền địa chỉ my_buffer vào hàm read
    L12 call read ; gọi hàm đọc nội dung mà phía kia gởi cho mình
    L13 mov eax, esp ; gán my_buffer vào buffer
    L14 add esp, 256 ; trả 256 byte như cũ
    L15 ret

    Quá trình thực thi các chỉ thị: L1 L2 L3 L10 L11 L12 L13 L14 L15 L4 L5 L6 ...

    Sơ đồ các giá trị trong vùng nhớ stack ngay sau khi thực thi dòng lệnh - chưa thực thi dòng kế tiếp (ai hổng biết stack dùng làm gì thì khỏi đọc nữa, đọc chẳng hiểu đâu :sun: )

    L1 : giả sử chỉ chứa giá trị X
    L2 : địa chỉ của buffer | X
    L3 : địa chỉ của lệnh L4 | địa chỉ của buffer | X
    L10: 256 bytes cho my_buffer | địa chỉ L4 | địa chỉ của buffer | X
    L11: địa chỉ my_buffer | 256 bytes | L4 | địa chỉ buffer | X
    L12: ...
    ...
    L14: L4 | địa chỉ buffer | X
    L15: địa chỉ buffer | X
    L4 : X

    Chỗ tô màu đỏ và xanh, nếu đầu kia gởi cho chương trình nhiều hơn 256 bytes => phần dư ra sẽ đè lên L4. Như vậy, dòng L15 sẽ không trở về được L4 nữa mà sẽ nhảy đi đâu đó do cái giá trị ghi đè quyết định, thông thường sẽ jump trở lại cái vùng 256 byte kia để thực thi code của hacker.

    Bà con ráng đọc, đã cố gắng đơn giản hết sức rồi. :sun:

    Còn CPU có NX bit, các vùng nhớ không phải code chương trình sẽ được gán bit NoExcute, nghĩa là nếu jump về vùng nhớ stack hay bất cứ vùng nhớ nào đó không phải code chương trình, CPU sẽ báo cho OS biết, OS sẽ terminate chương trình đó ngay lập tức.
     

Chia sẻ trang này