第一回 社内勉強会 php application security checklist に学ぶ php セキュリティ...

Download 第一回 社内勉強会 PHP Application Security Checklist に学ぶ PHP セキュリティ (Excerpt)

If you can't read please download the document

Upload: yuya-takeyama

Post on 16-Apr-2017

2.543 views

Category:

Documents


5 download

TRANSCRIPT

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