STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • 0
    • Sao chép

    Hướng Dẫn Trích Xuất Dữ Liệu Bằng ModSecurity

    Hướng dẫn trích xuất dữ liệu thông qua ModSecurity.
    31/03/2015
    29/09/2020
    2 phút đọc
    Hướng Dẫn Trích Xuất Dữ Liệu Bằng ModSecurity

    Kiểm tra ModSecurity trên hệ thống

    Để kiểm tra ModSecurity đã cài đặt thành công hay chưa, tạo một trang web (với phương thức GET) nhập input (là một đoạn text) sau đó gửi lên server một đoạn dữ liệu (thường là XSS hoặc SQL Injection). Ví dụ như nhập vào 1 đoạn SQL Injection:

    1' or '1' == '1'

    Khi nhấn submit gửi lên server, ModSecurity sẽ chặn lại và phân tích dữ liệu gửi lên. Do đoạn dữ liệu phía trên là một kiểu tấn công SQL Injection nên ModSecurity sẽ phát hiện và ngăn chặn. Phía bên màn hình của client sẽ xuất hiện thông báo request bị chặn lại (tùy vào rule của ModSecurity mà thông báo hiện lên sẽ khác nhau).

    Hướng dẫn cách trích xuất dữ liệu từ ModSecurity

    Lý do cài đặt ModSecurity từ source code tải về nhằm có thể chỉnh sửa mã nguồn của ModSecurity, qua đó có thể thêm các tính năng mong muốn ( như ở bài này là trích xuất dữ liệu khi client gửi lên server ) với phương thức GET.

    Trong file source code ModSecurity 2.8 tải về từ trang chủ, mở file mod_security2.c theo đường dẫn apache2/mod_security2.c. Sau đó tìm đến hàm create_tx_context. Đó là hàm xử lý request của client gửi lên server bằng phương thức GET. Trang web thử nghiệm ở đây rất đơn giản, bao gồm 2 input do client nhập vào và nút submit để gửi lên server:

    Khi client nhập vào đoạn dữ liệu và gửi lên server, dữ liệu (input user và pass) sẽ nằm trong một biến dữ liệu có tên là r->query_string. Ví dụ khi nhập vào user và pass lần lượt là haidang và 12345 thì biến r->query_string sẽ có giá trị là user=haidang&pass=12345&submit=Dang+nhap ,  ở  bài viết này sẽ lấy dữ liệu của input user gửi lên server và ghi thành file để lưu vào hệ thống.

    Đầu tiên, add 2 thư viện stdio.h và stdlib.h vào. Sau đó ở cuối hàm create_tx_context, thêm đoạn code sau để lấy dữ liệu input user từ client gửi lên server:

    FILE * pfile = fopen("/tmp/data_user.txt", "a");
    
    if(msr->query_string != NULL)
    {
    	int i = 5;
    	for(i; msr->query_string[i] != '&'; i++)
    	{
    		fputc(msr->query_string[i], pfile);
    	}
    	fputc('\n', pfile);
    }

    Ở đoạn code này, khi client gửi lên server, giá trị của input user sẽ được lưu lại ở file data_user.txt trong thư mục tmp nằm trong thư mục của hệ thống Ubuntu.

    0 Bình luận
    Cyber Security

    Đề xuất

    Phân Tích Dữ Liệu và Viết Rule cho Modsecurity
    Trích xuất và phân tích dữ liệu thông qua ModSecurity.
    Trích Xuất Dữ Liệu từ File Excel bằng Python - Phần 1: Đọc Dữ Liệu
    Hướng dẫn cách để trích xuất dữ liệu từ file excel bằng python.
    18/03/2015

    Khám phá

    Trích Xuất Dữ Liệu từ File Excel bằng Python - Phần 2: Ghi Dữ Liệu
    Hướng dẫn cách trích xuất dữ liệu từ file excel bằng Python.
    18/03/2015
    Import Dữ Liệu Từ File Excel vào MySQL Bằng Python
    Hướng dẫn import dữ liệu từ file excel vào MySQL bằng Python.
    20/12/2015
    ModSecurity - Cài Đặt ModSecurity từ Source Code
    Cài đặt và tích hợp ModSecurity cho Apache trên Ubuntu từ source code.
    Sử Dụng CSDL Hướng Đối Tượng DB4O với Android
    Hướng dẫn sử dụng thư viện cơ sở dữ liệu hướng đối tượng DB4O để phát ...
    Validate Form Bằng Thư Viện Knockout-Validation trong Dự Án Durandaljs
    Bài viết hướng dẫn sử dụng thư viện Knockout-Validation để kiểm tra dữ ...
    Xây Dựng Câu Truy Vấn trong Hibernate với HQL
    HQL (Hibernate Query Language) hỗ trợ thao tác với cơ sở dữ liệu theo ...
    21/09/2014
    Biến và Kiểu Dữ Liệu trong Lua
    Giới thiệu biến, kiểu dữ liệu và cách khai báo biến và kiểu dữ liệu ...
    24/09/2014
    Giới Thiệu Ứng Dụng Của Làm Mờ Ảnh (Lọc Nhiễu) Trong Bài Toán Nhận Dạng
    Việc chọn phương pháp lọc nhiễu phù hợp sẽ giữ được các đặc trưng quan ...
    26/04/2016
    Khi bạn nhấn vào liên kết sản phẩm do STDIO đề xuất và mua hàng, STDIO có thể nhận được hoa hồng. Điều này hỗ trợ STDIO tạo thêm nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020