2010-03-21 31 views
5

Tôi chưa bao giờ thấy lỗi tràn bộ đệm khai thác trong hành động trực tiếp. Giả sử tôi tìm thấy một máy chủ có vẻ có lỗ hổng. Tôi có thể lấy bằng chứng về mã khái niệm tốt nhất trong c/C++ để khai thác lỗ hổng này ở đâu? ví dụ: Tôi tìm thấy lỗ hổng nàycách khai thác lỗ hổng của php?

Multiple directory traversal vulnerabilities in 
    functions such as 'posix_access()', 'chdir()', 'ftok()' 
    may allow a remote attacker to bypass 'safe_mode' 
    restrictions. (CVE-2008-2665 and CVE-2008-2666). 

Làm thế nào tôi có thể nhận được giấy tờ chứng minh mã khái niệm cho các mục đích giáo dục

PS Tôi là sinh viên và mong muốn duy nhất của tôi là tìm hiểu

+6

Tôi ước mình đủ tuyệt vời để trả lời câu hỏi này. –

+0

Còn metasploit thì sao? – Sam152

+1

Giải thích metasploit phải làm gì với điều này ... –

Trả lời

9

Tôi tin rằng bạn có phần nào không hiểu được bản chất của lỗi tra cứu thư mục.

safe_mode trong PHP có nghĩa là chỉ các tệp địa phương được phép mở, thay vì cho phép bất kỳ giao thức nhận dạng nào như đường dẫn http: // ví dụ. Việc kiểm tra safe_mode kiểm tra đường dẫn là một file cục bộ có thể bị lừa để chấp nhận các URL HTTP (và các giao thức khác) hay không và xác định sai chúng như là các đường dẫn cục bộ, bằng cách cho phép một loạt các lỗ hổng bảo mật phụ thuộc vào việc thực thi chính xác bao gồm mã hoặc tấn công XSS là những gì xuất hiện trong đầu).

Nói chung, bạn sử dụng các tập lệnh PHP để khai thác các lỗi PHP, vì các lỗi này thực sự nằm trong trình thông dịch. Một tràn bộ đệm không thể thực sự xảy ra trong mã PHP của bạn, mà là trong một số hàm cụ thể của trình biên dịch PHP và khai thác nó, bạn cần tìm một kịch bản lệnh gọi hàm đó với đối số do người dùng cung cấp (tức là duyệt qua nguồn mở phổ biến phần mềm) hoặc đơn giản tạo tập lệnh khai thác có chủ ý của riêng bạn và tải lên vị trí bạn muốn khai thác, ví dụ như nhà cung cấp dịch vụ lưu trữ web của bạn.

Khi nói đến lỗi trong trình thông dịch PHP, chủ yếu là mô-đun webserver/PHP bạn đang khai thác thông qua các cuộc gọi hàm PHP, không thông qua khai thác bằng văn bản (trừ khi chúng đơn giản là các ứng dụng yêu cầu HTTP tới trang PHP).

+0

Bạn có nói rằng nếu máy chủ thiếu một tập lệnh dễ bị tấn công, nó không thể được khai thác ngay cả khi phiên bản PHP của nó đang chạy là dễ bị tấn công? –

+1

vâng, về cơ bản đó là sự thật. (tuy nhiên các lỗ hổng bảo mật khác có thể cho phép kẻ tấn công giới thiệu mã/vectơ mới và sau đó trong bước thứ hai sử dụng chúng để khai thác lỗ hổng bảo mật.) –

Các vấn đề liên quan