Người hướng dẫn: Trong
bài giảng này, tôi muốn chỉ cho bạn cách chúng ta có thể sử
dụng SQL injection để đọc bất kỳ tệp nào trong
máy chủ, vì vậy ngay cả khi tệp tồn tại bên ngoài thư mục gốc
www, chúng ta vẫn có thể đọc nó chính
xác như một bản tiết lộ tệp. lỗ hổng bảo mật và
chúng tôi cũng sẽ xem cách chúng tôi có
thể sử dụng nó để ghi tệp và tải chúng lên hệ thống giống
như lỗ hổng tải tệp lên.
Vì vậy, điều đầu tiên chúng ta
sẽ xem xét là đọc tệp.
Và tôi sẽ đặt mọi thứ thành vô hiệu ở đây.
Vì vậy, tôi có tuyên bố của
mình ở đây và tôi sẽ chọn một, và
tôi sẽ để lại số hai
vì tôi sẽ làm mọi thứ về điều đó.
Và chúng ta sẽ làm thêm ba lần nữa ở đây.
Vì vậy, null,
null, null.
Vì vậy, chúng tôi đã chọn null một cái gì đó null, null, null.
Vì vậy, năm vì chúng tôi có năm bản ghi khi chúng
tôi thực hiện đơn đặt hàng trước.
Và thay vì chọn một cái gì đó, hãy nhớ rằng,
trong video thứ ba, chúng
tôi đã chọn cơ sở dữ liệu chẳng hạn, và nó hiển thị cho chúng
ta cơ sở dữ liệu hiện tại.
Điều tôi muốn làm bây
giờ là tôi muốn làm một chức năng khác và chức
năng đó được gọi là load_file.
Và ở đây, tôi sẽ đặt tệp mà tôi muốn
tải và tôi sẽ sử dụng cùng một tệp
mà chúng tôi
đã xem xét lỗ hổng bao gồm tệp
và nó là etc / passwd.
Vì vậy, chúng tôi đang cố gắng
đọc tệp đó và câu lệnh của chúng tôi là union hãy chọn tệp đó và thế là xong.
Vì vậy, tôi sẽ sao chép điều này.
Và tôi sẽ đưa nó vào
đây và tôi sẽ thêm% 23 của tôi,
đó là lệnh của tôi.
Và như bạn có thể thấy,
chúng tôi đã quản lý để đọc tất cả thông tin,
tất cả nội dung của etc / passwd mặc dù nó không có trong
thư mục gốc của web.
Vì vậy, nó được lưu trữ trong etc / passwd.
Vì vậy, chúng tôi có thể đọc bất cứ thứ gì trong máy
chủ từ các trang web khác,
từ các tệp khác ở bất kỳ đâu trong máy chủ, chúng
tôi có thể đọc nó bằng
cách chỉ định đường dẫn đầy đủ của tệp đó.
Điều tiếp theo tôi muốn
cho bạn thấy là ghi vào máy chủ.
Vì vậy, chúng tôi thực sự sẽ ghi
nội dung vào máy chủ và điều
này rất hữu ích vì bạn có thể viết bất kỳ mã nào bạn muốn,
vì vậy, ví dụ: bạn có thể viết mã cho một tập lệnh PHP,
bạn có thể viết mã trình bao, vi rút hoặc mã PHP để nhận
các kết nối khác với bạn.
Vì vậy, về cơ bản nó sẽ hoạt
động giống như một lỗ hổng tải lên tệp.
Và để làm điều
đó, tôi sẽ viết mã mà tôi muốn
làm ở đây và tôi sẽ gọi
nó, ví dụ, ví dụ chỉ là ví dụ.
Và chúng ta sẽ sử dụng một hàm có tên là outfile, vì vậy chúng ta sẽ
thực hiện với outfile và sau
đó chúng ta sẽ chỉ định nơi
chúng ta muốn lưu trữ tệp đó.
Bây giờ, trong các tình huống tốt
nhất, bạn có thể ghi vào gốc web của mình và điều
đó có nghĩa là bạn có thể truy cập tệp thông
qua trình duyệt và thực thi nó, vì
vậy bạn có thể tải lên tệp Weevely rồi kết nối với
tệp đó và thực hiện
mọi việc. như thế.
Vì vậy, chúng ta hãy cố gắng làm điều đó trước.
Vì vậy, chúng tôi sẽ làm điều đó trong var / www và đó là gốc web
của chúng tôi để chúng tôi có thể truy
cập mọi thứ thông qua
nó hoặc bạn có thể đặt nó thậm chí var / www và sau đó đặt
mutillidae sau nó để lưu
trữ ở đó.
Vì vậy, lệnh rất đơn giản.
Một lần nữa chọn công đoàn.
Đảm bảo rằng bạn đặt mọi
thứ thành null để không có gì được ghi vào
tệp ngoại trừ những gì
bạn đưa vào đây và tôi đặt ví dụ ví
dụ và nó sẽ được lưu trữ vào tệp của chúng
tôi trong var / www / mutillidae và nhớ
lại ví dụ đó. txt.
Hãy thử chạy nó và xem nó có hoạt động không.
Bây giờ, điều này đã không hoạt động.
Và nếu bạn xuống
đây, bạn sẽ thấy SQL hoặc MySQL không được phép
tạo hoặc ghi vào thư mục này.
Vì vậy, vấn đề không phải là chúng
tôi, các quyền mà chúng tôi
có không cho phép chúng tôi ghi vào vị trí cụ thể này.
Vì vậy, chỉ để kiểm tra cách khai
thác này, tôi sẽ thay đổi vị trí này thành tmp, đó là tạm thời và bạn
sẽ thấy rằng bạn thực
sự có thể viết vào tạm thời như vậy trong cuộc sống thực
trong các tình huống, điều đó tùy thuộc,
bạn có thể thử nó và xem nếu bạn có thể viết những
thứ hay không.
Trong điều này, chúng tôi đang cố gắng
viết cho tạm thời và
nếu chúng tôi đọc tạm
thời, nếu chúng tôi xóa điều đó và sau đó ls và / tmp, bạn sẽ thấy
rằng chúng tôi có một cái gì đó được
gọi là ví dụ và nếu bạn cố gắng đọc
nó, bạn sẽ thấy rằng nó có chứa, rõ ràng là nó chứa nội dung
của những gì chúng tôi đã làm trước đó
là lựa chọn bình thường mà bạn sẽ thấy.
Vì vậy, những gì bạn thấy khi đặt nội dung cho quản trị viên và sau
đó nó cho chúng tôi thấy những gì trong
đó là ví dụ mẫu đó là những gì
chúng tôi muốn ghi vào tệp.
Bây giờ bạn rõ ràng có thể loại
bỏ quản trị viên và những
thứ vượt qua quản trị viên chỉ
bằng cách đặt sai tên người dùng và
không có gì sẽ được hiển thị ở đây vì vậy điều
duy nhất mà bạn sẽ thấy là đầu ra là ví dụ.
Nhưng một lần nữa, điều này chỉ hữu ích
nếu bạn có thể ghi vào máy chủ web của mình, vì vậy bạn
có thể truy cập nó và sau đó sử
dụng trình bao của mình
hoặc sử dụng tải trọng của bạn và khai thác thêm hệ thống.