Bài giảng Web Application Attack & Defense - Võ Đỗ Thắng
Web
Application
Defense
Trình bày : Võ Đỗ Thắng
Giám đốc Trung tâm an ninh mạng
Athena.
A. Web app, Webserver: Các khái
niệm và mô hình
B. Giới thiệu một số phương pháp
attack cơ bản nhắm vào web
app/webserver
C. Phát hiện và phòng chống
ATHENA
A. Web app, Webserver:
Các khái niệm và mô hình
Web application là gì?
Web app hay web service là một phần
mềm ứng dụng chạy phía server (thuộc
layer 7 trong mô hình OSI)
User có thể truy xuất web app bằng các
trình duyệt (web browser, telnet) hay
bằng các giao thức HTTP(s)
2001(c)WhiteHat Security, Inc.
ATHENA
A. Web app, Webserver: Các khái niệm
và mô hình
•
Một số trình duyệt thông dụng:
IE (internet explorer)
FF( Mozilla Firefox)
Opera
•
Một số webserver thông dụng
IIS : www.microsoft.com
Tomcat jakarta.apache.org
Iplanet webserver
Cold Fusion Webserver
2001(c)WhiteHat Security, Inc.
ATHENA
Mô hình chuẩn Web App
SQL
Databas
e
HTTP
request
(cleartext
or SSL)
Firewall
Web app
Web app
Web app
Web app
DB
DB
Client
Server
HTTP
reply
(HTML,
Javascript,
VBscript,
etc)
•Apache
•IIS
•Netscape •C/C++
etc… •JSP, etc
Plugins:
•Perl
Database
connection:
•ADO,
•ODBC,
etc.
ATHENA
FIREWALL
ATHENA
SSL
ATHENA
ATHENA
B. Giới thiệu một số phương pháp attack cơ bản
nhắm vào web app/webserver
1. Google attack
2. SQL injection
3. Cross site scripting
4. Hidden form vulnerability
6. Flood database/Flood form
7. Local Attack
8. Path disclosure/Parsing exploit
9. Dictionary Traversal
10. Remote include file
11. Secured webserver
ATHENA
2001(c)WhiteHat Security, Inc.
Demo:
Website viện kinh tế thành phố Hồ Chí Minh bị tấn
công, chiếm quyền kiểm soát
ATHENA
Google Attack
Sử dụng google để hack là một trong
những phương pháp phổ biến của hacker
nhằm tìm được những thông tin nhạy
cảm từ victim
Phương pháp Google attack giúp cho
hacker có thể tìm ra thông tin những
victim đã định trước (mục tiêu đã xác
định) hay hack hàng lọat những victim có
lỗi tương tự (mục tiêu chưa xác định)
ATHENA
Google attack (cont)
Một số keyword hay được sử dụng:
1. Directory listing:
Intitle:index.of/admin
2. CGI scanning:
inurl://iisadmpwd/achg.htr
inurl://iisadmpwd/aexp.htr
inurl://iisadmpwd/aexp2.htr
inurl://iisadmpwd/aexp2b.htr
3. Port Scanning:
"VNC Desktop" inurl:5800
Inurl:webmin inurl:10000
ATHENA
Google attack (cont)
Tìm link login:
Inurl:/admin/login.asp
Inurl:/administrator/login.asp
Inurl:/admin/admin_login.asp
…
Tìm thông tin chứa user/password:
"Index of" htpasswd / passwd
filetype:xls username password email
"WS_FTP.LOG"
"config.php"
allinurl: admin mdb
service filetype:pwd (FrontPage)
Inurl:/admin.mdb
Filetype:mdb user password
ATHENA
SQL injection
Lỗi này thường xảy ra trên các ứng dụng
web có csdl được quản lý bằng các hệ cơ
sở dữ liệu như SQL Server, Mysql,
Oracle, DB2, Sysbase, MsAccess…
Mỗi hệ quản trị csdl có một số điểm
giống và khác nhau giữa các phương
pháp injection
Trong bài báo cáo này xin trình bày
phương pháp injection trong hệ quản trị
csdl phổ biến nhất thế giới: MSSQL
ATHENA
2001(c)WhiteHat Security, Inc.
Các dạng tấn công SQL injection
SQL bypass:
Login.htm
<form action="ExecLogin.asp" method="post">
Username: <input type="text"
name="fUSRNAME"><br>
Password: <input type="password"
name="fPASSWORD"><br>
<input type="submit">
</form>
ATHENA
2001(c)WhiteHat Security, Inc.
SQL Bypass
execlogin.asp
<%
Dim vUsrName, vPassword, objRS, strSQL
vUsrName = Request.Form("fUSRNAME")
vPassword = Request.Form("fPASSWORD")
strSQL = "SELECT * FROM T_USERS " & _
" ' and USR_PASSWORD=' " & vPassword & " ' "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..."
If (objRS.EOF) Then
Response.Write "Invalid login."
Else
Response.Write "You are logged in as " & objRS("USR_NAME")
End If
Set objRS = Nothing
%>
ATHENA
2001(c)WhiteHat Security, Inc.
SQL bypass
- Khi hacker nhập vào:
‘ or ‘’=‘
Câu truy vấn sẽ trở thành
SELECT * FROM T_USERS WHERE USR_NAME =''
OR ''='' and USR_PASSWORD= '' OR ''='‘
- Câu truy vấn
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ệ.
Tuy nhiên thực tế từng trường hợp cụ thể sẽ có các cách
bypass khác nhau, ko có công thức chung.
(Xem video demo SQL bypass vienkinhte.gov.vn)
ATHENA
2001(c)WhiteHat Security, Inc.
SQL injection (cont)
Ngoài ra còn một số kĩ thuật nâng cao khác sử dụng
SQL injection như:
Union/Convert magic (khai thác dữ liệu)
- Blind SQL injection
- Tạo script Ddos sever
- Sử dụng openrowset
- Store procedure injection, kĩ thuật nâng quyền
user,giới thiệu về kĩ thuật runtime patching
- Upload backdoor
(phần này khá dài,demo hòan tòan bằng Video)
(xem video sql_ij_basic, sql_ij_admin)
ATHENA
2001(c)WhiteHat Security, Inc.
Cross site scripting
Cross site scripting là gì?
- Cross site scripting viết tắt là XSS (để tránh nhầm
lẫn với CSS) là một dạng tấn công hướng về phía
User (Client) mà ko tác động trực tiếp đến
- Hacker thường lợi dụng XSS để đánh cắp cookie
của user, phising etc…
- Tuy nhiên vẫn có trường hợp ngọai lệ Hacker vẫn
có thể xử dụng XSS để get root server (xem
Iplanet server attack)
ATHENA
2001(c)WhiteHat Security, Inc.
Cross site scripting
- Phương pháp test:
+ inject đọan script
+ <script>alert(‘test’)</script> vào bất cứ
Feedback, Form, Search, cookie…etc)
+ Nếu thấy xuất hiện ra một pop-up ‘test’
thì có nghĩa là website đã bị dính XSS
+ Đọan code trên không phải là cách test
chung, nhiều trường hợp phải view
source hoặc mã hóa để vượt qua filter.
ATHENA
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Web Application Attack & Defense - Võ Đỗ Thắng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- bai_giang_web_application_attack_defense_vo_do_thang.pdf