Search
Latest topics
Một cách đơn giản để loại bỏ các kí tự meta
Page 1 of 1
Một cách đơn giản để loại bỏ các kí tự meta
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.
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.
Similar topics
» Cách lấy pass yahoo và cách chống!
» Các loại mã bảo vệ máy ĐTDĐ
» Các loại Virus
» Phân loại tình yêu!
» Hacker - Phân Loại
» Các loại mã bảo vệ máy ĐTDĐ
» Các loại Virus
» Phân loại tình yêu!
» Hacker - Phân Loại
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum
Thu Aug 23, 2012 5:38 am by Admin
» Tuyệt kỹ cua giai
Thu Aug 23, 2012 5:36 am by Admin
» NETCAT.........
Mon Aug 13, 2012 6:35 am by Admin
» Bảo mật CSDL bằng phương pháp mã hóa.
Tue Apr 17, 2012 10:04 pm by Admin
» Hàm mã hóa MD5 bằng JavaScript
Tue Apr 17, 2012 10:03 pm by Admin
» Giá của món quà
Fri Apr 13, 2012 6:01 am by Admin
» Sẽ chỉ yêu ai?
Fri Apr 13, 2012 6:01 am by Admin
» Cách đọc bảng chữ cái!
Thu Apr 12, 2012 10:37 pm by Admin
» Gắn trojan, keylog, virus vào website, forum
Tue Apr 10, 2012 1:14 am by Admin