View
2.543
Download
5
Category
Preview:
Citation preview
Security ChecklistPHP
Yuya Takeyama
2010/05/21 (Fri)
Web
PHP
PHP
PHP Application Security Checklist
Web
SQL
PHPphp.ini
5c
CrossSiteScripting
CrossSiteScripting
CrossSiteScripting
CrossSiteScripting
CSS
Cascading Style Sheet
XSS
(DVDCSS)
Input from $_GET, $_POST, $_COOKIE and $_REQUEST is considered tainted.
$_GET$_POST$_COOKIE $_REQUEST
Understood that only some values in $_SERVER and $_ENV are untainted.
$_SERVER $_ENV
SQLInjection
MySQL
SELECT * FROM users WHEREuser = 'yuya' AND pass = 'doom'
(=)
SELECT * FROM users WHEREuser = 'yuya' OR 1 #' AND pass = 'doom'
SELECT * FROM users WHEREuser = '';TRUNCATE users #' AND pass = 'doom'
PHPmysql_query ;()
SQL
SELECT * FROM users WHEREuser = 'yuya\' OR 1 #' AND pass = 'doom'
SQL
SQLPHP
Web
(CSRF)
php.ini
PHP ApplicationSecurity Checklist
register_globalsisdisabled.
register_globals
http://example.net/?debug=on
on$debug
Off
php.iniOn
addslashes()
magic_quotes_gpcOn
addslashes()isnot used.
Magic quotesisdisabled.
PHP ApplicationSecurity Checklist
magic_quotes_gpc
addslashes()
()
addslashes()DB(SQLite)
PHP6
5c
addslashes()SQL
mysql_real_escape_string()
mysql_client_encoding()latin1
SET NAMES
SET NAMESmysql_client_encoding()
mysql_set_charset()
()
mysql_set_charset()PHP 5.23
my.cnf
$sql = "INSERT INTO artists (id, name) VALUES (?, ?)";$stmt = $db->prepare($sql);
$data = array(1, '');$db->execute($stmt, $data);
PHP
Pear
DBMSAPI
PHPShitft_JIS
magic_quotes_gpc, addslashes()
SET NAMES
mysql_set_charset()
mbstring.internal_encodingUTF-8
PHP Application Security Checklisthttp://www.sk89q.com/content/2010/04/phpsec_cheatsheet.pdf
Chris Shiflett PHP
Muokkaa otsikon tekstimuotoa napsauttamalla
Muokkaa jsennyksen tekstimuotoa napsauttamallaToinen jsennystasoKolmas jsennystasoNeljs jsennystasoViides jsennystasoKuudes jsennystasoSeitsems jsennystasoKahdeksas jsennystasoYhdekss jsennystaso
Recommended