Search
 
 

Display results as :
 


Rechercher Advanced Search

Latest topics
» Bảo mật CSDL bằng phương pháp mã hóa.
Wed Apr 18, 2012 4:04 am by Admin

» Hàm mã hóa MD5 bằng JavaScript
Wed Apr 18, 2012 4:03 am by Admin

» Giá của món quà
Fri Apr 13, 2012 12:01 pm by Admin

» Sẽ chỉ yêu ai?
Fri Apr 13, 2012 12:01 pm by Admin

» Cách đọc bảng chữ cái!
Fri Apr 13, 2012 4:37 am by Admin

» Gắn trojan, keylog, virus vào website, forum
Tue Apr 10, 2012 7:14 am by Admin

» PictureBox Class
Tue Apr 10, 2012 7:10 am by Admin

» TỔNG QUAN VÈ HỆ THỐNG IDS
Tue Apr 10, 2012 7:08 am by Admin

» SỬ DỤNG ISA SERVER 2006 HẠN CHẾ TẤN CÔNG SQL INJECTION
Tue Apr 10, 2012 7:05 am by Admin

Shopmotion


Affiliates
free forum


Một cách đơn giản để loại bỏ các kí tự meta

View previous topic View next topic Go down

Một cách đơn giản để loại bỏ các kí tự meta

Post  Admin on Mon Dec 19, 2011 1:49 pm

Loại bỏ các kí tự meta như ../, |, &, ... là điều làm đau đầu những người mới bắt đầu vào nghề viết ứng dụng web nhằm ngăn chặn tấn công phê chuẩn đầu vào của hacker. Trong Perl, =~s chưa chắc đã lọc được hết các kí tự này bởi bạn có thể bị hacker chưa khâm. Một ví dụ khá điển hình là trường hợp của fileseek.cgi đã được thông báo trên bugtrap trước đây. Fileseek.cgi cố gắng lọc bỏ tất cả các kí tự '../' nhưng nó sẽ thất bại nếu hacker dùng '....//'. Fileseek.cgi làm việc như một cái máy, nó loại bỏ '../' trong '....//', kết quả trả về là '../' và hacker sẽ ung dung làm thêm vài cái '....//' để leo lên thư mục root '....//....//....//....//..../' sau đó cat file /etc/passwd.

Một cách đơn giản để loại bỏ các kí tự meta là bạn chỉ chấp nhận các kí tự thường, không cần quan tâm đến các kí tự meta.

#!/usr/local/bin/perl
$_ = $user_data = $ENV{'QUERY_STRING'}; # nhận dữ liệu từ phía người dùng
print "$user_data\n";
$OK_CHARS='-a-zA-Z0-9_.@'; # tập kí tự được cho phép

s/[^$OK_CHARS]/_/go; # gỡ bỏ các kí tự không nằm trong tập kí tự trên
$user_data = $_;
print "$user_data\n";
exit(0)
Rất đơn giản như vô cùng hiệu quả, chúng ta không cần phải quan tâm đến các kí tự ../, |, ...

* Bạn tham khảo thêm Perl CGI problems (phrack 55/9 - http://www.phrack.org/) để biết rõ về các lỗi liên quan đến các script viết bằng Perl/CGI.

Admin
Admin

Tổng số bài gửi: 779
Join date: 2009-08-15

View user profile http://hackis.forumotion.com

Back to top Go down

View previous topic View next topic Back to top

- Similar topics

Permissions in this forum:
You cannot reply to topics in this forum