Hacker vào trang của bạn luôn có lý do, và khai thác bất cứ lỗi nào bạn có ...

Nếu tôi vào được cơ sở dữ liệu của bạn

Buồn cười thật, hôm nay trên blog của bạn bè có một cái comment gây sốc: “cái gì ? WordPress mà lỗi cơ sở dữ liệu á ? Chém gió thôi”. Ý của bạn này là WordPress mà cũng bị cái lỗi SQL Injection này á ? XIn lỗi bạn, không một CMS nào có thể tránh khỏi việc bị hack và nếu là một Project lớn thì cần phải có đội ngũ bảo mật riêng nhé !

Hacker vào trang của bạn luôn có lý do, và khai thác bất cứ lỗi nào bạn có ...
Hacker vào trang của bạn luôn có lý do, và khai thác bất cứ lỗi nào bạn có …

Nguyên văn như sau:

Phán như thánh. WordPress đời nào lỗi SQL ? mà nếu khai thác được qua SQL thì cũng chỉ biết được user admin, Nhưng không biết path login là gì thì cũng bó tay.

Cần gì phải path login hả bạn ? tiện đây tôi cũng xin trình bày một vài cái ví dụ để bạn đấy có thể hiểu được cái lý do vì sao mà vào được cơ sở dữ liệu lại có thể làm được mọi thứ nhé !

SQL là cái gì ?

SQL hay đầy đủ là Structured Query Language – ngôn ngữ truy vấn mang tính cấu trúc, là hệ quản trị và lưu trữ nội dung nếu nói cho Việt một chút là thế. Vậy thì ta có thể gọi thế này: các code để cho một website gọi là xương, server là thịt, còn SQL chính là bộ não, vì tất cả các thông tin đều được chứa tại đây.

Nếu mất quyền kiểm soát SQL đồng nghĩa với việc mất luôn bộ não, chả cần tới password của User làm gì, cũng chả cần path để login, ta đã nằm trong não của người rồi …

Mục đích của cuộc thâm nhập

Có nhiều mục đích cho việc thâm nhập vào cơ sở dữ liệu, có thể là đánh sập hệ thống, xóa trắng dữ liệu hoặc đơn giản là chèn vài cái backlink kiếm tí … mọi hành động thâm nhập đều có lý do chứ không bao giờ một hacker làm để “chơi” cả.

Ta thử lấy ví dụ nhé:

Tôi thâm nhập được vào admin của thachpham.com chỉ để đặt vài cái backlink vào trong bài viết chẳng hạn, vậy tôi khỏi cần vào admin làm gì cho nhọc, ta hãy thử thực thi một vài lệnh như sau:

SELECT * FROM wp_posts WHERE post_title LIKE '%làm seo%' LIMIT 10

OKey ! nếu trả về kết quả, ta thử lệnh này:

UPDATE `wp_posts`.`post_content` SET post_content = REPLACE(post_content, "làm seo", "<a href=...>");

Vậy là bất kể từ làm seo nào cũng link về trang đích tôi muốn …

Vậy tôi hỏi bạn cần gì phải “vào được admin ?”

Hoặc bạn muốn xóa trắng dữ liệu à ? Ôi dễ lắm:

DELETE FROM wp_posts WHERE 1=1
HOẶC
DROP TABLE LIKE 'wp_%'

Hoặc bạn muốn lấy toàn bộ dữ liệu ? THử lệnh này:

SELECT * FROM wp_posts INTO OUTFILE '/tmp/posts.sql'

Vậy mục đích cần “phải” vào được admin của WordPress làm cái gì ?

Đến đoạn này thì bạn hiểu được vì sao vào được cơ sở dữ liệu rồi nhé !

Tổng kết

Không biết thì dựa cột mà nghe, đừng cãi hoặc đừng chém kiểu: “đê mờ dọa, chém vãi loz, vào được thì ông làm gì ?”…

Cảm ơn bạn đã làm hứng cho mình viết bài viết này ! Nhớ học thêm nhiều vào, non thì đừng vào chém với các chuyên gia, chém thì chém ngoan tí nhé !

 

TÁC GIẢ:

Tôi là Jam, thâm niên 7 năm thiết kế website và làm SEO. Hãy theo dõi blog của tôi để nhận được nhiều chia sẻ thú vị xung quanh chủ đề công nghệ.

Có 6 bình luận !

  1. Hơi khó hiểu là tại sao bạn kia có thể nói WP không bị SQL Injection. Bản thân WordPress lúc mới cài còn nguyên sơ cũng có thể drop off vào dữ liệu của nó được chỉ với một vài command của SQL.
    Hơn nữa, chưa kể việc cài các plugin cũng tăng nguy cơ bị SQL Injection như cách đây hơn 1 năm W3 Total Cache bị đó. 😀

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *