Thứ Hai, 26 tháng 6, 2017

File upload - MIME type

Bài này thì không có gì phức tạp, tìm kiếm một lúc thì ra cả đống bài về dạng này !!!
Khi vào chall ta thấy có phần upload, click chuột vào đó thì nó cho ta một form để upload file

 
Nó chỉ cho phép upload các file có định dạng là gif, jpeg, png nói chung là file ảnh :))
Vậy giờ thử upload một file .php xem sao :D




 
Vậy là nó đã check file trước khi lưu file, dùng BurpSuite để check request:

 

Để upload được file php thì ta cần sửa trường Content-Type trong request thành : Content-Type : image/jpeg (cái này sửa thế nào cũng được, miễn sao cứ có phần mở rộng là file ảnh)
Upload lại php file và sửa trường Content-type:

 

 

Oke ta đã upload thành công php file lên server (có thể upload shell)




Sau đó click chuột vào mục upload thì ta có như hình dưới :





Click tiếp vào mshell, thì server nó sẽ thực thi file php này.
Vậy là lấy được password



Chall này đơn giản là khi ta upload file thì ở phía server chỉ có check MIME type(google for details) tức là ở đây nó chỉ kiểm tra trường Content-Type vì thế dễ dàng có thể bypass, lỗi này thường là do người lập trình không kiểm tra kỹ phần mở rộng của file trước khi lưu trên server.





Không có nhận xét nào:

Đăng nhận xét