SQL INJECTION
SQL INJECTION
N i dung trình bày:
N i dung trình bày:
SQL Injection là gì?
SQL Injection là gì?
Các d ng t n công b ng SQL
Các d ng t n công b ng SQL
Injection
Injection
K Thu t t n công b ng sql injection
K Thu t t n công b ng sql injection
Cách phòng tránh
Cách phòng tránh
Demo
Demo
SQL Injection là gì?
SQL Injection là gì?
SQL injection là m t kĩ thu t t n công l i d ng l
SQL injection là m t kĩ thu t t n công l i d ng l
h ng trong vi c ki m tra d li u nh p trong các
h ng trong vi c ki m tra d li u nh p trong các
ng d ng web và các thông báo l i c a h qu n tr
ng d ng web và các thông báo l i c a h qu n tr
c s d li u đ "tiêm vào" (injectiơ
c s d li u đ "tiêm vào" (injectiơ on
on) và thi hành
) và thi hành
các câu l nh SQL b t h p pháp.
các câu l nh SQL b t h p pháp.
H u qu c a nó r t tai h i vì nó cho phép nh ng k
H u qu c a nó r t tai h i vì nó cho phép nh ng k
t n công có th th c hi n các thao tác xóa, hi u
t n công có th th c hi n các thao tác xóa, hi u
ch nh,
ch nh, do có toàn quy n trên c s d li u c a ơ
do có toàn quy n trên c s d li u c a ơ
ng d ng, th m chí là server mà ng d ng đó đang
ng d ng, th m chí là server mà ng d ng đó đang
ch y.
ch y.
L i này th ng x y ra trên các ng d ng web có d ườ
L i này th ng x y ra trên các ng d ng web có d ườ
li u đc qu n lí b ng các h qu n tr c s d ượ ơ
li u đc qu n lí b ng các h qu n tr c s d ượ ơ
li u nh SQL Server, MySQL, Oracle, DB2, ư
li u nh SQL Server, MySQL, Oracle, DB2, ư
Sysbase.
Sysbase.
Các d ng t n công b ng SQL Injection
Các d ng t n công b ng SQL Injection
Có b n d ng thông th ng bao g m: ườ
Có b n d ng thông th ng bao g m: ườ
V t qua ki m tra lúc đăng nh p (authorization ượ
V t qua ki m tra lúc đăng nh p (authorization ượ
bypass)
bypass)
S d ng câu l n SELECT
S d ng câu l n SELECT
S d ng câu l nh INSERT
S d ng câu l nh INSERT
S d ng các stored-procedures [2], [3]
S d ng các stored-procedures [2], [3]
D ng t n công v t qua ki m tra ượ
D ng t n công v t qua ki m tra ượ
đăng nh p
đăng nh p
Đăng nh p nh vào l i khi dùng các câu l nh
Đăng nh p nh vào l i khi dùng các câu l nh
SQL thao tác trên c s d li u c a ng ơ
SQL thao tác trên c s d li u c a ng ơ
d ng web.
d ng web.
Trong tr ng h p này, ng i ta có th dùng ườ ườ
Trong tr ng h p này, ng i ta có th dùng ườ ườ
hai trang, m t trang HTML đ hi n th form
hai trang, m t trang HTML đ hi n th form
nh p li u và m t trang ASP dùng đ x lí
nh p li u và m t trang ASP dùng đ x lí
thông tin nh p t phía ng i dùng. Ví d : ườ
thông tin nh p t phía ng i dùng. Ví d : ườ
login.htm
login.htm
<form action="ExecLogin.asp" method="post">
<form action="ExecLogin.asp" method="post">
Username: <input type="text"
Username: <input type="text"
name="fUSRNAME"><br>
name="fUSRNAME"><br>
Password: <input type="password"
Password: <input type="password"
name="fPASSWORD"><br>
name="fPASSWORD"><br>
<input type="submit">
<input type="submit">
</form>
</form>