LỜI MỞ ĐẦU
Cùng với sự phát triển của công nghệ thông tin, công nghệ mạng máy tính và sự
phát triển của mạng internet ngày càng phát triển đa dạng và phong phú. Các dịch vụ trên
mạng đã thâm nhập vào hầu hết các lĩnh vực trong đời sống xã hội. Các thông tin trên
Internet cũng đa dạng về nội dung và hình thức, trong đó có rất nhiều thông tin cần được
bảo mật cao hơn bởi tính kinh tế, tính chính xác và tính tin cậy của nó.
Bên cạnh đó, các hình thức phá hoại mạng cũng trở nên tinh vi và phức tạp hơn.
Do đó đối với mỗi hệ thống, nhiệm vụ bảo mật được đặt ra cho người quản trị mạng là
hết sức quan trọng và cần thiết. Xuất phát từ những thực tế đó, chúng ta sẽ tìm hiểu về
các cách tấn công phổ biến nhất hiện nay và các phòng chống các loại tấn công này.
Chính vì vậy, thông qua việc nghiên cứu một số phương pháp tấn công và cách
bảo mật các loại tấn công này, mình mong muốn góp một phần nhỏ vào việc nghiên cứu
và tìm hiểu về các vấn đề an ninh mạng giúp cho việc học tập và nghiên cứu.
1. Lý do chọn đề tài
Trong những năm gần đây, Việt Nam ngày càng phát triển và nhất là về mặt công
nghệ thông tin. Đặc biệt là về ứng dụng web, hầu như mọi người ai cũng từng nghe và
làm việc trên ứng dụng web. Website trở nên phổ biến và trở thành một phần quan trọng
của mọi người và nhất là các doanh nghiệp, công ty. Bên cạnh đó lý do an toàn bảo mật
cho ứng dụng web luôn là vấn đề nan giải của mọi người.Vì vậy chúng ta sẽ đi tìm hiểu
ứng dụng web và cách thức tấn công và bảo mật web.
2. Mục tiêu
Giúp chúng ta có thể hiểu hơn về các ứng dụng website, các mối đe dọa về vấn
đề an toàn thông tin khi chúng ta làm việc trên ứng dụng web hàng ngày, hiểu rõ hơn về
các kỹ thuật tấn công và bảo mật web.
3. Phạm vi
Tìm hiểu các kỹ thuật tấn công phổ biến nhất hiện nay như SQL Injection,
Denial Of Service, Local Attack,…Cách bảo mật, phòng thủ các loại tấn công phổ biến
trên một cách tổng quan nhất.
Mục lục
CHƯƠNG 1 4
Website là một “trang web” trên mạng Internet, đây là nơi giới thiệu những thông
tin, hình ảnh về doanh nghiệp và sản phẩm, dịch vụ của doanh nghiệp (hay giới thiệu bất
cứ thông tin gì) để khách hàng có thể truy cập ở bất kỳ nơi đâu, bất cứ lúc nào.
Website là tập hợp nhiều trang [web page]. Khi doanh nghiệp xây dựng website
nghĩa là đang xây dựng nhiều trang thông tin, catalog sản phẩm, dịch vụ Để tạo nên
một website cần phải có 3 yếu tố cơ bản:
Cần phải có tên miền (domain).
Nơi lưu trữ website (hosting).
Nội dung các trang thông tin [web page].
Một số thuật ngữ cơ bản:
Website động (Dynamic website) là website có cơ sở dữ liệu, được cung cấp công
cụ quản lý website (Admin Tool). Đặc điểm của website động là tính linh hoạt và có thể
cập nhật thông tin thường xuyên, quản lý các thành phần trên website dễ dàng. Loại
website này thường được viết bằng các ngôn ngữ lập trình như PHP, Asp.net, JSP,
Perl, , quản trị Cơ sở dữ liệu bằng SQL hoặc MySQL
Website tĩnh do lập trình bằng ngôn ngữ HTML theo từng trang như brochure,
không có cơ sở dữ liệu và không có công cụ quản lý thông tin trên website. Thông
thường website tĩnh được thiết kế bằng các phần mềm như FrontPage, Dreamwaver,
Đặc điểm của website tĩnh là ít thay đổi nội dung, sự thay đổi nội dung này thường liên
quan đến sự thay đổi các văn bản đi kèm thể hiện nội dung trên đó.
Hiện nay, hầu hết các doanh nghiệp đều sử dụng website động, thế hệ công nghệ
website được mọi người biết đến là web 2.0.
- Tên miền (domain): Tên miền chính là địa chỉ website, trên internet chỉ tồn tại
duy nhất một địa chỉ (tức là tồn tại duy nhất một tên miền). Có 2 loại tên miền:
- Tên miền Quốc tế: là tên miền có dạng .com; .net; .org; .biz; .name
- Tên miền Việt Nam: là tên miền có dạng .vn; .com.vn; .net.vn; org.vn; .gov.vn;
- Lưu trữ website: Dữ liệu thông tin của website phải được lưu trữ trên một máy
tính (máy chủ - server) luôn hoạt động và kết nối với mạng Internet. Một server có thể
lưu trữ nhiều website, nếu server này bị sự cố chẳng hạn tắt trong một thời điểm nào đó
thì không ai có thể truy cập được những website lưu trữ trên server tại thời điểm bị sự cố.
CHƯƠNG 2
CÁC LOẠI TẤN CÔNG VÀ BẢO MẬT ỨNG DỤNG WEB PHỔ BIẾN
I. Footprinting
Để bắt đầu tấn công hệ thống, bạn cần thực hiện 3 bước: In dấu chân, Quét, Liệt
kê. Trước khi đi vào trò đùa thật sự, bạn hãy hiểu sơ lược các công việc này. Cụ thể bây
giờ chúng ta sẽ tìm hiểu về kỹ thuật in dấu chân (footprint).
Ví dụ một tên cướp muốn đánh cướp ngân hàng, chúng không thể bước vào và đòi
tiền, mà chúng sẽ dốc sức thăm do các thông tin từ ngân hàng đó. Thông tin mà hắn thu
thập có thể là tuyền đường mà xe bọc thép đi qua, giờ phân phát, số thủ quỹ, và những
thông tin khác giúp phi vụ thành công.
Yêu cầu trên cũng áp dụng cho một kẽ tấn công trên mạng. Chúng phải ra sức thu
thập càng nhiều thông tin càng tốt về mọi góc cạnh bảo mật của tổ chức. Kết quả thu
được sẽ giúp cuộc tấn công trót lọt hơn. Bằng cách dò theo dấu chân, những bộ lưu trữ
trên internet, truy cập từ xa, cùngvới sự hiện diện của internet kẽ tấn công có thể góp nhặt
một cách có hệ thống các thông tin từ nhiều nguồn khác nhau về một tổ chức nào
đó.FootPrinting là gì ?
Footprinting là một phần của giai đoạn tấn công có chuẩn bị trước và bao gồm
việc tích lũy dữ liệu về môi trường của một mục tiêu và kiến trúc, thông thường với mục
đích tìm cách để xâm nhập vào môi trường đó.Footprinting có thể tiết lộ các lỗ hổng hệ
thống và xác định dễ dàng mà chúng có thể được khai thác. Đây là cách dễ nhất cho các
hacker để thu thập thông tin về những hệ thống máy tính và các công ty mà họ thuộc
về. Mục đích của giai đoạn chuẩn bị này là để tìm hiểu càng nhiều càng tốt như bạn có
thể về một hệ thống, khả năng truy cập từ xa của nó, port và dịch vụ của mình, và bất
kỳ khía cạnh cụ thể về bảo mật của nó.
1. Phạm trù của Footprinting
Footprinting được định nghĩa như những quá trình tạo ra một kế hoạch chi
tiết hoặc bản đồ về hệ thống mạng của một tổ chức nào đó. Thu thập thông tin được biết
đến như là footprinting một tổ chức. Footprinting bắt đầu bằng cách xác định mục tiêu hệ
Hình 2.1: B
Trước khi chúng ta thả
o lu
mở có thể mang lại sự
giàu có c
thoại và địa chỉ. Thực hiện nh
ữ
Name System (DNS). Hầu hế
t thông tin này là d
Chi tiết về cách hoạt đ
ộ
cuốn sách này và sẽ không đư
ợ
quan cụ thể tới thông tin đượ
c n
ứng cử viên CEH có một sự
hi
Hacking tool
Sam Spade (
http://www.samspade.org
những công cụ
như Whois, nslookup, và traceroute. B
trên 1 website, những công cụ
cấp thông tin về 1 mục tiêu tổ
3. Phương pháp cạ
nh tranh thông minh
Cạ
nh tranh thông minh có ngh
c thảo luận chi tiết. Duy nhất chi tiế
t quan trong nh
c n
ằm trong cuốn sách này. Đó là khuyế
n cáo r
hi
ểu biết về DNS và cách phân tên công việ
c trên Internet.
http://www.samspade.org
) là một website có chứa mộ
t b
như Whois, nslookup, và traceroute. B
ởi vì chúng đượ
c xác đ
làm việc cho vài hệ điề
u hành này và là đơn v
chức.
nh tranh thông minh
nh tranh thông minh có ngh
ĩa là thu thập thông tin về sản phẩ
m c
ng công ngh
ệ. Hầu hết các cuộc cạ
nh tranh thông minh là không
n công ty đang đư
ợc điều tra và đang được bắt đầu trong tự
nhiên, nó đư
c xác đ
ịnh vị trí
u hành này và là đơn v
ị trí để cung
m c
ủa người cạnh
nh tranh thông minh là không
nhiên, nó đư
ợc
t marketing đ
ể hiểu rõ hơn
ụ
của họ. Một
thông minh và có th
ể
n nào đó.
4. Phương pháp liệ
t kê DNS
NSlookup, DNSstuff, the American Registry for Internet Number (ARIN), và
Whois có thể được sử dụng tấ
t c
hiện DNS enumeration.
Nslookup and DNSstuff
Một công cụ mạnh mẽ
b
truy vấn những DNS server đ
ể
đều hành Window. Công cụ
hack Sam Spade bao g
t kê DNS
NSlookup, DNSstuff, the American Registry for Internet Number (ARIN), và
t c
ả để đạt được thông tin mà kế đó được sử
Nslookup and DNSstuff
b
ạ
n nên làm quen là nslookup (xem hình 2.2). Công c
ể
tìm thông tin. Nó được cài đặ
t trong Unix, Linux, và h
hack Sam Spade bao g
ồm những công cụ
nslookup.
Hình 2.2 Nslookup
c tìm thông tin t
ổng hợp từ Whois, bạn có thể sử dụ
ng nslookup đ
ng máy ch
ủ và những host khác. Sử dụ
ng tên máy ch
(AUTH1.NS.NYI.NET), b
ạn cần nhận ra địa ch
ỉ
ử
dụng thành thạo các công cụ đ
ã làm quá trình hack th
t trong Unix, Linux, và h
ệ
nslookup.ng nslookup đ
ể tìm
ng tên máy ch
ủ có thẩm
ỉ
IP của mail
ã làm quá trình hack th
ật sự
t công cụ khác
i nh
ững thiết bị
ầ
n truy cập
t DNS record search
online, hình
s
ử
m chí có th
ể khám phá
c th
ảo luận
Hình 2.3 Bả
ng gh
6.
Whois và ARIN Lookups
Hình 2.4 cho thấy mộ
t ARIN Whois tìm ki
những địa chỉ, những e-m
ail, và thông tin liên h
Whois này. Thông tin này có th
trách nhiệm cho một địa chỉ
IP nh
hoặc có thể được sử dụng bở
i m
ng gh
i DNS tìm kiếm về địa chỉ
http://www.eccouncil.org
Whois và ARIN Lookups
h
ệ điều hành Unix, nhưng nó bây giờ có thể
u hành khác như trong hacking toolkits và trên Internet. Ngư
ên mi
ền sử dụng cho email hoặc website.
Uniform Resource
www.Microsoft.com
, chứa tên miền
(Microsoft.com)
ternet Corporation for Asigned Names and Numbers (ICANN)
yêu c
có một công ty duy nhất sử dụng tên miền c
Whois này. Thông tin này có th
ể được sử dụng bởi một hacker đạo đứ
c, tìm ra ng
IP nh
ất định và những tổ chức sở hữu mụ
c tiêu h
i m
ột hacker độc hại, thực hiên một cuộc tấ
n công k
http://www.eccouncil.orgđược tìm thấy
ên Internet. Ngư
ời xác định
Uniform Resource
(Microsoft.com)
và 1 tên host
yêu c
ầu đăng ký
ụ
thể đó. Công
cá nhân ho
ặc tổ
ạ
n tìm tất cả
t nư
ớc, gồm có
tr
dụ
www.networksolutions.com
kiếm Whois cho site
www.eccouncil.org
Domain ID:D81180127
Domain Name:ECCOUNCIL.ORG
Created On:14-Dec-
2001 10:13:06 UTC
Last Updated On:19-
Aug
n n
ữa. Bạn cần được nhận thức về
thông tin có s
u ARIN và đ
ảm bảo một hacker độc hại không thể s
ử
n công m
ạng.
Hình 2.4 ARIN k
ết quả ra cho
http://www.yahoo.com
a Whois
ng đ
ể chạy chương trình Whois là kết nối tớ
i website (ví
www.networksolutions.com
) và tiến hành tìm kiế
m Whois. Sau đây là k
www.eccouncil.org
Registrant Postal Code:10005-3198
Registrant Country:US
Registrant Phone:+1.2127098253
Registrant Phone Ext.:
Registrant FAX:+1.2129432300
Registrant FAX Ext.:
Registrant Email:[email protected]
Admin ID:tus9DYvpp5mrbLNd
Admin Name: Susan Johnson
Admin Organization:International Council of E-Commerce Consultants
Admin Street1:67 Wall Street, 22nd Floor
Admin Street2:
Admin Street3:
Admin City:New York
Admin State/Province:NY
Admin Postal Code:10005-3198
Admin Country:US
Admin Phone:+1.2127098253
Admin Phone Ext.:
Admin FAX:+1.2129432300
Admin FAX Ext.:
Admin Email:[email protected]
Tech ID:tuE1cgAfi1VnFkpu
Tech Name:Jacob Eckel
Tech Organization:International Council of E-Commerce Consultants
Tech Street1:67 Wall Street, 22nd Floor
Tech Street2:
Tech Street3:
Tech City:New York
Tech State/Province:NY
sẽ giúp chúng ta phân biệt rõ server mà chúng ta đang tìm có chức năng gì.
· A (address): Ánh xạ hostname thành địa chỉ IP.
·SOA (Start of Authoriy): Xác định bảng ghi thông tin của DNS Server.
· CNAME (canonical name): Cung cấp những tên biệt danh (alias) cho tên miền
đang có.
·MX (mail exchange): Xác định mail server cho domain
·SRV (service): Xác định những dịch vụ như những directory service
·PTR (pointer): Ánh xạ địa chỉ ip thành hostname
·NS (name server): Xác định Name Server khác cho domain
9. Sử dụng traceroute trong kỹ thuật FootPrinting
Traceroute là gói công cụ được cài đặt sẵn trong hầu hết các hệ điều hành. Chức
năng của nó là gửi một gói tin ICME Echo đến mỗi hop (router hoặc gateway), cho đến
khi đến được đích. Khi gói tin ICMP gửi qua mỗi router, trường thời gian sống (Time To
Live – TTL) được trừ đi xuống một mức. Chúng ta có thể đếm được có bao nhiêu Hop
mà gói tin này đã đi qua, tức là để đến được đích phải qua bao nhiêu router. Ngoài ra,
chúng ta sẽ thu được kết qua là những router mà gói tin đã đi qua.
Một vấn đề lớn khi sử dụng Traceroute là hết thời gian đợi (time out), khi gói tin
đi qua tường lửa hoặc router có chức năng lọc gói tin. Mặc dù tường lửa sẽ chặn đứng
việc gói tin ICMP đi qua, nhưng nó vẫn gửi cho hacker một thông báo cho biết sự hiện
diện này, kế đến vài kỹ thuật vượt tường lửa có thể được sử dụng.
Note: những phương pháp kỹ thuật này là phần của tấn công hệ thống, chúng ta sẽ
được thảo luận trong chương 4: “System hacking”.
Sam Spade và nhiều công cụ hack khác bao gồm 1 phiên bản của traceroute.
Những hệ điều hành Window sử dụng cú pháp tracert hostname để xác định một
traceroute. Hình 2.5 là một ví dụ về traceroute hiển thị việc theo dõi theowww.yahoo.com
Chú ý trong hình 2.5, đầu tiên sẽ có một quá trình phân giải tên miền để tìm kiếm
địa chỉ cho Yahoo Web Server, và địa chỉ ip của server được tìm thấy là 68.142.226.42.
Biết địa chỉ IP này cho phép hacker thực hiện quá trình quét toàn bộ hệ thống phục vụ
cho công việc tấn công. Chúng ta sẽ tìm hiểu về các công nghệ quét (Scan) trong chương
tiếp theo.
u đư
những thông báo này mộ
t cách t
11. Thu thậ
p thông tin qua Web (Web Spiders)
Web Spoder là công ngh
là spammerhoặc bấ
t ai quan tâm đ
dụng. Web Spider sử dụng nh
ữ
email hay, kế đế
n sao chép chúng vào cơ s
phục vụ cho một mụ
c đích khác. Hacker có th
Hình 2.5 K
ết quả của Traceroute cho
www.yahoo.com
Neo trace, Visualroute, và VisualLookout là nh
ững công cụ
có giao di
năng Traceroute. S
ử dụng công cụ này chúng ta có thể
xác đ
ng khác. Ngoài ra, nó còn xác
định nhiề
u thông tin t
t giao di
ện trực quan cho kết quả.
mail Tracking)
ự động.
p thông tin qua Web (Web Spiders)
Web Spoder là công ngh
ệ thu thập những thông tin từ
internet. Đây là cách
t ai quan tâm đ
ến email dùng để thu thậ
p danh sách ema
ữ
ng cứu pháp, ví dụ như biểu tượng @, để
xác đ
n sao chép chúng vào cơ s
ở dữ liệu. Dữ liệu này đượ
c thu th
c đích khác. Hacker có th
ể sử dụng Web Spider để tổ
ng h
www.yahoo.com
có giao di
ện đồ họa
xác đ
ịnh vị trí của
u thông tin t
ổng hợp
ng vi
ệc đã làm
t các chương tr
II. Các dạng tấn công
2.1. Tấn công SQL injection
2. 1.1. SQL Injection là gì?
Khi triển khai các ứng dụng web trên Internet, nhiều người vẫn nghĩ rằng việc đảm
bảo an toàn, bảo mật nhằm giảm thiểu tối đa khả năng bị tấn công từ các tin tặc chỉ đơn
thuần tập trung vào các vấn đề như chọn hệ điều hành, hệ quản trị cơ sở dữ liệu,
webserver sẽ chạy ứng dụng, mà quên mất ằng ngay cả bản thân ứng dụng chạy trên đó
cũng tiềm ẩn một lỗ hổng bảo mật rất lớn. Một trong số các lỗ hổng này đó là SQL
injection. Tại Việt Nam, đã qua thời kì các quản trị website lơ là việc quét virus, cập nhật
các bản vá lỗi từ các phần mềm hệ thống, nhưng việc chăm sóc các lỗi của các ứng dụng
lại rất ít được quan tâm. Đó là lí do tại sao trong thời gian vừa qua, không ít website tại
Việt Nam bị tấn công và đa số đều là lỗi SQL injection. Vậy SQL injection là gì ?
- SQL injection là một kĩ thuật cho phép những kẻ 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 ứ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" (inject) và thi hành các câu lệnh SQL bất hợp pháp
(không được người phát triển ứng dụng lường trước). 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 chỉnh, … 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 chạy. 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 như SQL Server, MySQL, Oracle, DB2, Sysbase.
2. 1.2. Các Dạng Tấn Công SQL Injection
- Có bốn dạng thông thường bao gồm: 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.
- Để biết các website bán hàng sử dụng CSDL SQL ta sử dụng các soft hoặc các
công cụ tìm lỗi.Hoặc các công cụ tìm kiếm như Google.Và dùng các Dork tìm kiếm như :
inurl : product.php?id=
Hình 11. Một tools tìm site lỗi Online
If (objRS.EOF) Then
Response.Write "Invalid login."
Else
Response.Write "You are logged in as " & objRS("USR_NAME")
End If
Set objRS = Nothing
%>
- Thoạt nhìn, đoạn mã trong trang execlogin.asp dường như không chứa bất cứ
một lỗ hổng về an toàn nào. Người dùng không thể đăng nhập mà không có tên đăng
nhập và mật khẩu hợp lệ. Tuy nhiên, đoạn mã này thực sự không an toàn và là tiền đề cho
một lỗi SQL injection. Đặc biệt, chỗ sơ hở nằm ở chỗ dữ liệu nhập vào từ người dùng
được dùng để xây dựng trực tiếp câu lệnh SQL. Chính điều này cho phép những kẻ tấn
công có thể điều khiển câu truy vấn sẽ được thực hiện. Ví dụ, nếu người dùng nhập chuỗi
sau vào trong cả 2 ô nhập liệu username/password của trang login.htm là: ' OR ' ' = ' '.
Lúc này, câu truy vấn sẽ được gọi thực hiện là:
SELECT * FROM T_USERS WHERE USR_NAME ='' OR ''='' and
USR_PASSWORD= '' OR ''=''
- Câu truy vấn này là hợp lệ và sẽ trả về tất cả các bản ghi của T_USERS và
đoạn mã tiếp theo xử lí người dùng đăng nhập bất hợp pháp này như là người dùng đăng
nhập hợp lệ.
ii. Dạng tấn công sử dụng câu lệnh SELECT
- Dạng tấn công này phức tạp hơn. Để thực hiện được kiểu tấn công này, kẻ tấn
công phải có khả năng hiểu và lợi dụng các sơ hở trong các thông báo lỗi từ hệ thống để
dò tìm các điểm yếu khởi đầu cho việc tấn công. Xét một ví dụ rất thường gặp trong các
website về tin tức. Thông thường, sẽ có một trang nhận ID của tin cần hiển thị rồi sau
đó truy vấn nội dung của tin có ID này.
Ví dụ: http://www.doanchuyennganh.com/product.asp?ID=123 . Mã nguồn cho
chức năng này thường được viết khá đơn giản theo dạng
<%
Dim vNewsID, objRS, strSQL
- Lúc này, ngoài câu truy vấn đầu không thành công, chương trình sẽ thực hiện
thêm lệnh tiếp theo sau từ khóa UNION nữa.
- Tất nhiên các ví dụ nói trên, dường như không có gì nguy hiểm, nhưng hãy thử
tưởng tượng kẻ tấn công có thể xóa toàn bộ cơ sở dữ liệu bằng cách chèn vào các đoạn
lệnh nguy hiểm như lệnh DROP TABLE.
Ví dụ như: ' DROP TABLE T_AUTHORS
- Chắc các bạn sẽ thắc mắc là làm sao biết được ứng dụng web bị lỗi dạng này
được. Rất đơn giản, hãy nhập vào chuỗi (*) như trên, nếu hệ thống báo lỗi về cú pháp
dạng: Invalid object name “OtherTable”; ta có thể biết chắc là hệ thống đã thực hiện câu
SELECT sau từ khóa UNION, vì như vậy mới có thể trả về lỗi mà ta đã cố tình tạo ra
trong câu lệnh SELECT.
- Cũng sẽ có thắc mắc là làm thế nào có thể biết được tên của các bảng dữ liệu
mà thực hiện các thao tác phá hoại khi ứng dụng web bị lỗi SQL injection. Cũng rất đơn
giản, bởi vì trong SQL Server, có hai đối tượng là sysobjects và syscolumns cho phép liệt
kê tất cả các tên bảng và cột có trong hệ thống. Ta chỉ cần chỉnh lại câu lệnh SELECT, ví
dụ như:
' UNION SELECT name FROM sysobjects WHERE xtype = 'U' là có thể liệt kê
được tên tất cả các bảng dữ liệu.
iii. Dạng tấn công sử dụng câu lệnh INSERT
- Thông thường các ứng dụng web cho phép người dùng đăng kí một tài khoản
để tham gia. Chức năng không thể thiếu là sau khi đăng kí thành công, người dùng có thể
xem và hiệu chỉnh thông tin của mình. SQL injection có thể được dùng khi hệ thống
không kiểm tra tính hợp lệ của thông tin nhập vào.
Ví dụ, một câu lệnh INSERT có thể có cú pháp dạng:
INSERT INTO TableName VALUES('Value One','Value Two', 'Value Three').
Nếu đoạn mã xây dựng câu lệnh SQL có dạng :
<%
strSQL = "INSERT INTO TableName VALUES(' " & strValueOne & " ', ' " _
& strValueTwo & " ', ' " & strValueThree & " ') "
Set objRS = Server.CreateObject("ADODB.Recordset")
+char(0x72) +char(0x69) +char(0x73),0xffff)
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 (hay bất
cứ tập tin nào mà server có thể truy xuất
Xp_ntsec_enumdomain: liệt kê những domain mà server có thể truy vấn.
Xp_terminate_process: chấm dứt một tiến trình với tham số PID của nó.
iiiii. Tấn công SQL Injection nâng cao.
• Chuỗi kí tự không có dấu nháy đơn:
- Những nhà lập trình có thể bảo vệ ứng dụng của họ bằng cách loại bỏ tất cả
dấu nháy, thông thường loại bỏ dấu nháy bằng cách thay một dấu nháy thành 2 dấu nháy.
Ví dụ a.1 : Rõ ràng là, nó ngăn chặn được tất cả những kiểu tấn công trên. Tuy nhiên nếu
muốn tạo ra một chuỗi giá trị mà không dùng các dấu nháy, có thể dùng hàm “char()”
như ví dụ sau:
Ví dụ a.2: