Người hướng dẫn: Được rồi, bây giờ chúng
ta biết rằng chúng ta có thể đặt bất kỳ mã nào
chúng ta muốn vào đây và nó sẽ được thực thi trên hệ thống.
Vì vậy, bây giờ chúng ta hãy có một cái nhìn khác về tuyên bố.
Vì vậy, câu lệnh nói, hãy chọn * từ các tài khoản, trong
đó tên người dùng bằng tên người dùng mà chúng ta đặt ở
đây và mật khẩu bằng mật khẩu mà chúng ta đặt ở đó.
Hãy xem liệu chúng ta có thể sử dụng nó để đăng nhập mà không cần sử dụng mật khẩu,
thậm chí không cần biết mật khẩu hay không.
Và tôi sẽ làm điều đó với quản trị viên.
Vì vậy, quản trị viên, tên người dùng sẽ là quản trị viên.
Và tôi không biết mật khẩu của admin là gì.
Vì vậy, những gì tôi sẽ làm, tôi sẽ chỉ đặt
bất cứ thứ gì, vì vậy không có gì thực sự, bất kỳ mật khẩu
ngẫu nhiên nào, Và, trong mã, tôi nên chạy ở đây.
Tôi đã làm như vậy, và 1 = 1 và hoặc nhiều thứ khác,
Vì vậy, những gì tôi sẽ làm là, tôi sẽ làm
hoặc, thay vì và.
Và tôi sẽ nói 1 = 1.
Vì vậy, mã của chúng ta sẽ như thế nào, một khi tôi chạy
cái này, một khi tôi tiêm
cái này, cái này sẽ đi vào đây, giống như chúng ta đang làm
trước đây.
Vì vậy, mã của chúng ta sẽ trông như thế này, vì
vậy nó sẽ như vậy.
Chọn * từ các tài khoản, nơi tên người
dùng của chúng tôi bằng với quản trị viên.
Và mật khẩu bằng AAA.
Bây giờ điều này là sai.
Hoặc, 1 = 1,
đúng.
Vì vậy, bất cứ lúc nào bạn có hoặc, nếu điều kiện hoặc là đúng,
thì mọi thứ đều đúng.
Đó là cách hoặc tuyên bố hoạt động.
Vì vậy, hãy chọn * từ các tài khoản.
Chúng ta là người dùng bình đẳng với quản trị viên,
được rồi, tên người dùng bình đẳng với quản trị viên.
Và mật khẩu bằng AAA, điều đó sai.
Hoặc 1 = 1, được rồi, tôi sẽ chấp nhận điều đó.
Và sau đó, nó thực sự sẽ thực thi và
cho phép chúng tôi đăng nhập vào quản trị viên mà không cần biết
mật khẩu của quản trị viên.
Vì vậy, chúng ta hãy thử tiêm cái này ngay bây giờ.
Và như bạn có thể thấy, tôi đã có thể đăng nhập, với tư cách là quản
trị viên, và khỉ là chữ ký của quản trị viên.
Bây giờ, bỏ qua và đăng nhập có thể được thực hiện theo nhiều cách,
tùy thuộc vào mã được viết trên trang.
Và tùy thuộc vào cách bạn muốn làm điều
đó và cách bạn hình dung mã.
Và rất nhiều trường hợp, khi bạn đặt câu trích dẫn đơn lẻ ở đây,
bạn sẽ không thấy thông báo này.
Đôi khi bạn nhìn thấy nó, điều
này làm cho công việc của bạn dễ dàng hơn rất nhiều.
Nếu không, bạn cần phải đoán xem
nó trông như thế nào.
Vì vậy, tôi sẽ chỉ cho bạn một ví dụ khác về bỏ qua.
Thay vì chèn mã như thế này, tham số quản
trị thực sự cũng có thể được đưa vào, như bạn đã thấy
khi tôi đặt câu trích dẫn duy nhất này, tham
số quản trị có thể tiêm, chính xác theo cùng một cách với
mật khẩu.
Vì vậy, chúng tôi cũng có thể chèn mã vào tên người dùng.
Và những gì tôi sẽ làm bây giờ, vì vậy chúng ta hãy xem
xét điều này, và tôi sẽ đặt lại nó về cách nó thường trông
như thế.
Vì vậy, chúng tôi sẽ có và tên người dùng và mật khẩu, ngoài các
trường mà bạn điền bất cứ thứ gì vào đây,
sẽ được thay thế bằng tên người dùng và mật khẩu.
Vì vậy, chúng ta hãy thử đưa một cái gì đó vào tên người
dùng, và những gì tôi sẽ nói là, tôi sẽ nói, tên
người dùng bằng với quản trị viên, và
sau đó tôi sẽ tự đóng báo giá, và sau đó tôi
sẽ thêm một bình luận.
Vì vậy, tuyên bố của tôi, khi tôi chạy báo cáo, nó
sẽ trông như thế này, và tôi thực sự
sẽ sao chép nó ở đây.
Và, khi tôi tiêm một cái, khi tôi đặt mã này vào đây, trong
tên của tôi.
Nó sẽ đưa điều đó vào đó, vì vậy đây
là mã sẽ trông như thế nào.
Nó sẽ chọn bắt đầu từ các tài khoản, trong
đó tên người dùng bằng với quản trị viên.
Tôi đã tự mình đóng phần trích dẫn ở đây, sử dụng cái này ngay tại đó.
Và, sau đó tôi thêm một nhận xét, vì vậy về cơ bản, tất
cả những điều này thậm chí sẽ không được thực thi,
vì vậy mã sẽ là thế này, nó sẽ được chọn * từ các tài
khoản, trong đó tên người dùng bằng
với quản trị viên.
Và nó sẽ cho phép tôi đăng nhập mà không cần
nhập bất cứ thứ gì vào mật khẩu, Vì
vậy, hãy làm điều này.
Tôi sẽ đặt tên người dùng của mình là quản trị viên, và tôi
đóng phần trích dẫn và thêm nhận xét.
Và sau đó bạn có thể đặt bất kỳ mật khẩu nào bạn muốn.
Tôi chỉ đặt # 1, sau đó tôi
sẽ đăng nhập.
Và như bạn có thể thấy, tôi đã quản lý để đăng nhập với tư cách là quản trị viên.
Vì vậy, một lần nữa, đây là thử nghiệm hộp
đen, vì vậy bạn không thực sự thấy mã.
Trong nhiều trường hợp, bạn muốn chơi với nó và
xem nó hoạt động như thế nào với bạn.
Tuy nhiên, điều chính là bạn muốn kiểm tra xem SQL injection có tồn
tại hay không và bạn sẽ sử dụng nó bằng phương pháp mà chúng tôi
đã chỉ cho bạn trong video trước.
Vì vậy, hãy thử một câu trích dẫn đơn lẻ, thử
câu lệnh and, thử câu lệnh true và câu lệnh, vì vậy
1 = 1, sau đó là câu lệnh false và câu lệnh, vì vậy
1 = 0 hoặc 2 = 0 và nếu chúng hoạt động như mong đợi, thì bạn đang nhắm mục
tiêu có một SQL injection và bạn có thể
bắt đầu thử với nó.