星期六, 1月 06, 2007

ajax安全性

1.跨網域限制

2.跨網站指令碼


3.SQL/OS 命令植入攻擊
$sql = "SELECT * From table where number = ".$_GET['id'].";";
利用 mysql_wscape_string()、splite_escape_string()

4.密碼檔案管理

資料庫

MySQL
PHP $A = mysql_escape_string($_GET['A']);
Perl $A =~ s/'/"/g; or $A =~ s/\\/\\\/g;

PGSQL
PHP $A = psgl_escape_string($_GET['A']);
Perl $A =~ s/'/"/g; orf $A =~ /\\/\\\/g;

SQLite $A = splite_escape_string($_GET['A']);

系統

Linux
PHP $A = escapeshellarg($A); system($A);
Perl $A =~ s/'/\\'/; system("echo '$A'");

跨網站指令碼

PHP $A = htmlspecialchars($data);
Perl $A =~ s/

沒有留言: