Khai thác và phòng chống file upload trong PHP Web Appl
Khai thác và phòng chống file upload trong PHP Web Appl
I. GIỚI THIỆU Ứng dụng Web hỗ
trợ cho phép người sử dụng thực hiện upload file lên server hiện tại có
rất nhiều. Ví dụ như upload image(*.gif, *.jpg), *.pdf, *.doc, ... Trong bài này
seamoun sẽ trình bày một số lỗi khi lập trình file upload mà kẻ xấu có
thể lợi dụng để upload những mã độc lên server. Những phương thức khai
thác mà seamoun trình bày chỉ mang tính tham khảo không ủng hộ các bạn
khai thác đối với những server bị mắc lỗi. II. KHAI THÁC LỖI UPLOAD FILE 1) Trường hợp sử dụng JavaScript để kiểm tra file upload Giả sử ta có kịch bản gồm 2 file như sau: Code:
<?php$uploaddir = 'uploads/';$uploadfile = $uploaddir .
basename($_FILES['userfile']['name']);if
(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File was successfully uploaded.\n";} else { echo "File
uploading failed.\n";}?>
Ví dụ trên cho
thấy người lập trình kiểm tra phần mở rộng file cho phép file upload
bằng cách sử dụng một đoạn mã Javascript trong file upload1.html. Chỉ
chấp nhận những file có phần mở rộng là *.gif thì mới được phép upload,
cách này một kẻ tấn công dễ dàng vượt qua bằng cách sử dụng một
intercepting proxy hoặc có thể viết một đoạn mã bằng Perl, Python,... mà
đệ trình trực tiếp đến file upload1.php với những tham số cần thiết.
Trong demo sau seamoun sử dụng Burp Suite là một tool rất mạnh khi thực hiện Web Application. Có thể download tại :http://portswigger.net/
Blog được xây dựng nhằm cung cấp, sưu tầm nguồn hướng dẫn cho các newbie học tập về hacking website, chứ không mang tính chất vẽ đường cho ai đó đi phá hoại(deface) nhằm gây tổn hại cho website hay sever nào đó. Mong you hãy coi đây như là cuốn ebook hay và bổ ích, cần là giở để xem. và hãy tận dụng nó đúng mục đích ! thanks !
0 nhận xét:
Đăng nhận xét