Danh sách các mã PHP dễ bị khai thác

Thảo luận trong 'ACM/Programming' bắt đầu bởi DDos, 12/07/20, 05:07 PM.

  1. DDos

    DDos Administrators Thành viên BQT

    Tham gia: 22/10/13, 08:10 PM
    Bài viết: 1,813
    Đã được thích: 439
    Điểm thành tích:
    83
    Trong ứng dụng web, các lỗ hổng bắt nguồn từ việc người dùng có thể kiểm soát dữ liệu đầu vào của ứng dụng. Dữ liệu đầu vào này, sau đó được đưa vào các hàm để xử lý. Nếu người lập trình không có các cơ chế kiểm soát hoặc lọc dữ liệu đầu vào hợp lý, lỗ hổng có thể tồn tại trên ứng dụng web. Hầu hết các công cụ phân tích lỗ hổng trong ứng dụng web đều hoạt động dựa trên nguyên tắc tìm các hàm mà nhận dữ liệu đầu vào của người dùng sau đó phân tích xa hơn các cơ chế mà người viết ứng dụng kiểm soát các hàm này.

    Trong topic này, mình sẽ liệt kê các hàm trong PHP mà nhận dữ liệu đầu vào của người dùng, nếu không có sự kiểm soát chặt chẽ sẽ dẫn đến lỗ hổng trong ứng dụng web. Khi bạn dùng các hàm này, hãy có cơ chế phù hợp để ngăn chặn các lỗ hổng có thể có của việc dùng hàm không đúng cách.

    phpbugs.png

    Command Execution
    • exec
    • passthru
    • system
    • shell_exec
    • `` (backticks)
    • popen
    • proc_open
    • pcntl_exec
    PHP Code Execution
    Ngoài hàm eval còn có các cách khác để thực thi mã PHP: các hàm như include() hoặc require() có thể được sử dụng để thực thi mã từ xa dưới dạng các lỗ hổng Local File Include và Remote File Include
    • eval()
    • assert()
    • preg_replace('/.*/e',...)
    • create_function()
    • include()
    • include_once()
    • require()
    • require_once()
    • $_GET['func_name']($_GET['argument']);
    • $func = new ReflectionFunction($_GET['func_name']); $func->invoke(); or $func->invokeArgs(array());
    Information Disclosure
    • phpinfo
    • posix_mkfifo
    • posix_getlogin
    • posix_ttyname
    • getenv
    • get_current_user
    • proc_get_status
    • get_cfg_var
    • disk_free_space
    • disk_total_space
    • diskfreespace
    • getcwd
    • getlastmo
    • getmygid
    • getmyinode
    • getmypid
    • getmyuid

    Chi tiết hơn bạn có thể xem danh sách các hàm PHP có thể bị khai thác ở đây.
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    Mr.Tux thích bài này.