Với một số kiến thức cơ bản về SQL ở trên bạn có thể làm gì nào?. Bây giờ ta sẽ thử xét với phương diện của người lập trình web : Tạo 1 database tên hacker với các trường như sau : Tríc
Trang 1Với một số kiến thức cơ bản về SQL ở trên bạn có thể làm gì nào ?
Bây giờ ta sẽ thử xét với phương diện của người lập trình web :
Tạo 1 database tên hacker với các trường như sau :
Trích:
create database hacker
use hacker
Create table admin(
[id] numeric not null,
username nvarchar(10) not null,
[password] nvarchar(10) not null,
address nvarchar(30),
phone numeric(10)
)
select * from admin
Insert vào một số data :
Trích:
insert into admin ([id],username,[password],address,phone)
values (1,'admin',12345,'Ha Noi',048324245)
go
insert into admin ([id],username,[password],address,phone)
values (2,'Neo',12345,'Ha Noi',048324245)
Rồi okie ta thấy table admin như sau :
Giờ muốn select những username trong table admin mà có address tại Hà Nội thì câu query sẽ như sau : (tất cả những giá trị là character thì phải được bao trong dấu quote ')
Trang 2select us
Vậy nếu
Trích:
select us
Kết quả
Như trên
bằng 'or
sau nó là
Mà giá t
thực thi
đằng sau
truy vấn
admin ,
Còn về
Như đã b
đó phải l
Ví dụ :
Trích:
select us
UNION
select [p
Câu lệnh
Khi tạo t
bằng UN
:
Câu truy
sername fro
u ta viết thế
sername fro
cũng show
n ta thấy đá
1=1 thì d
à or 1=1 , n
trị đằng trướ
lệnh này m
u thành chú
n hoàn toàn
đến đây chắ
câu lệnh U
biết câu lện
là tương ứn
sername fro
password] fr
h trên sẽ sho
table bạn đ
NION , dòn
y vấn :
om admin w
này thì sẽ c
om admin w
w ra như trên
áng lẽ ra add dấu quote đằ như ta đã biế
ớc là rỗng n
mà or 1=1
ú thích (tron hợp lệ và k
ắc bạn đã h
UNION :
nh UNION
ng
om admin rom admin
ow cho ta th
ể ý thấy use
ng thứ 2 bạn
where addre
có chuyện g where addre
n
dress mang ằng trước sẽ
ết or là câu nên SQL sẽ , 1=1 thì luô
ng SQL quy
ko có lỗi gì hiểu rồi chứ
dùng để gộ
hấy các use ername ta g
n thay [pass
ss='Ha Noi
gì xảy ra nh ss=''or
1=1-giá trị là H
ẽ là 2 dấu '' lệnh điều k
ẽ chạy tiếp t
ôn đúng , c
y định sau d
cả và nó sẽ
p chuỗi lại
ername và p gán thuộc tín word] thành
i'
hỉ '
Ha Noi nhưn
có nghĩa g kiện và ở đâ theo gặp điề
òn dấu sẽ dấu là câu show cho t
với nhau và
password tr
nh là nvarc
h số bất kì (
ng nếu ta th
iá trị trong
ây có nghĩa
ều kiện or th
ẽ biến tất cả
u chú thích)
ta toàn bộ u
à các giá trị
ong table ad har , vậy nế (ví dụ 1) th
hay giá trị đó
đó rỗng V
là hoặc
hì tất nhiên
ả những thứ Như vậy c username củ
ị trong 2 ch
dmin
ếu khi truy
hì sẽ báo lỗi
ó
Và
n sẽ
ứ câu
ủa
huỗi
vấn sau
Trang 3select us
UNION
select 1
Error :
Trích:
Syntax e
Hô hô er
được vì
ra cái tab
có tồn tạ
Đây chỉ
cho các
Mà còn
Hàm này
bắt nhữn
Còn các
dondoc
sername fro
from admin
error conver
rror báo sai
dòng thứ 2
ble admin
ại
là một số v
bạn !
cách fix thì
y có tính nă
ng lỗi trên h
h viết thế n
(vniss)
om admin
n
rting the nv
i cú pháp ,k
ta thay thế Còn khi áp
ví dụ để các
ì sao nhỉ , tr ăng tương tự hoặc có thể nào thì phải
varchar valu
ko thể chuyể giá trị là ki
p dụng trên
c bạn có thể
rong SQL c
ự như hàm viết = chín nhờ anh Da
ue 'admin' to
ển từ kiểu d iểu int > k web thì đây hiểu về SQ
có một thứ g bắt sự kiện
nh ngôn ngữ arkHawk cá
o a column
dữ liệu nvar
ko cùng loạ
y là dấu hiệ
QL injection
gọi là trigge
n trong Java
ữ lập trình w
ái nhẩy C
of data typ
rchar (chuỗi
ại dữ liệu
-ệu cho thấy
n ,mong giú
er aScript , ta s web
huyên gia
pe int
i) sang int ( ->error và s table admin
úp được gì đ
sẽ viết 1 hàm
(số) show
n là
đó
m để