HACKIS - Hacking Internet Security
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Search
 
 

Display results as :
 


Rechercher Advanced Search

Latest topics
» Tuyệt Kỹ Đong Giai Chân Kinh (tuyệt Kỹ cua trai)
Một cách đơn giản để loại bỏ các kí tự meta  EmptyThu Aug 23, 2012 5:38 am by Admin

» Tuyệt kỹ cua giai
Một cách đơn giản để loại bỏ các kí tự meta  EmptyThu Aug 23, 2012 5:36 am by Admin

» NETCAT.........
Một cách đơn giản để loại bỏ các kí tự meta  EmptyMon Aug 13, 2012 6:35 am by Admin

» Bảo mật CSDL bằng phương pháp mã hóa.
Một cách đơn giản để loại bỏ các kí tự meta  EmptyTue Apr 17, 2012 10:04 pm by Admin

» Hàm mã hóa MD5 bằng JavaScript
Một cách đơn giản để loại bỏ các kí tự meta  EmptyTue Apr 17, 2012 10:03 pm by Admin

» Giá của món quà
Một cách đơn giản để loại bỏ các kí tự meta  EmptyFri Apr 13, 2012 6:01 am by Admin

» Sẽ chỉ yêu ai?
Một cách đơn giản để loại bỏ các kí tự meta  EmptyFri Apr 13, 2012 6:01 am by Admin

» Cách đọc bảng chữ cái!
Một cách đơn giản để loại bỏ các kí tự meta  EmptyThu Apr 12, 2012 10:37 pm by Admin

» Gắn trojan, keylog, virus vào website, forum
Một cách đơn giản để loại bỏ các kí tự meta  EmptyTue Apr 10, 2012 1:14 am by Admin

Affiliates
free forum


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

Go down

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

Post  Admin Mon Dec 19, 2011 6:49 am

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
Admin

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

https://hackis.forumvi.com

Back to top Go down

Back to top

- Similar topics

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