Base64 encode

I. Giới thiệu:

Từ khi được giới thiệu, Base64 hiện là một giải thuật mã hóa được ứng dụng rộng rãi. Bên cạnh ứng dụng chính là encode dữ liệu truyền trong các ứng dụng mail (Multipurpose Internet Mail Extensions – MIME) base64 còn dùng trong một số lĩnh vực khác nhau.

Ý nghĩa của giải thuật này là chuyển đổi các dữ liệu binary (như file đính kèm) sang dạng plain text để có thể truyền với giao thức mail.

Cách hiện thực base64 đơn giản là dùng bảng mã 6 bit (chỉ bao gồm các ký tự a-z,A-Z,0-9) thay cho bảng mã 8 bit thông dụng.

Các bước Base64 thực hiện như sau:
1. Chuyển đổi các dữ liệu truyền sang nhị phân. Vd: với 3 ký tự ASCII 8 bit ta sẽ có dãy gồm 24 bit.
2. Tách thành các nhóm 6 bit để xử lý
3. Ánh xạ nhóm 6 bit trong bảng mã Base64 để tìm ký tự tương ứng

Hãy xét một ví dụ sau:
Dữ liệu cần chuyển đổi Base64: Man
Bước 1:
M = 77 (ASCII) = 0100.1101
a = 97 (ASCII) = 0110.0001
n = 110 (ASCII) = 0110.1110
Man = 0100.1101.0110.0001.0110.1110
Bước 2: Tách nhóm 6 bit
Man = 010011.010110.000101.101110
Bước 3: Ánh xạ trong bảng mã 64 sau:

Dữ liệu Base64: TWFu

Việc chuyển đổi từ Base64 ra dữ liệu gốc đơn giản có thể làm ngược lại.

Ngoài việc dùng chuyển đổi dữ liệu dùng truyền mail, Base64 còn dùng trong HTTP Basic Authenticate với Web Server. Username và password được truyền đến server bằng Base64 trong HTTP Header. Xem hình sau:


II. Dùng Base64 mã hóa Webshell để Bypass Antivirus:

1. Có 1 Webshell vd: r57.php. Shell này khi upload lên server cài đặt Antivirus sẽ dễ dàng detect được.
2. Dùng Base64 encode. Có thể dùng một số trang web encode online. Vd:http://www.motobit.com/util/base64-decoder-encoder.asp
3. Tạo file Newshell.php dán nội dung encode vào hàm base64_decode
<?php
eval (base64_decode(‘abc’));
?>
Với abc là nội dung shell đã encode.

Advertisements

About Argron Nguyen's Blog

Vietnamese. Photographer. Writer. Illustrator. IT-er. All to some extent.

Posted on 14.08.2012, in Crypto. Bookmark the permalink. Bạn nghĩ gì về bài viết này?.

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s

%d bloggers like this: