Enviar pesquisa
Carregar
PHP 防駭 - 基礎觀念篇
•
10 gostaram
•
6,556 visualizações
Jace Ju
Seguir
哇寶內部教育訓練用教材
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 23
Baixar agora
Baixar para ler offline
Recomendados
Web Refactoring
Web Refactoring
Jace Ju
PHP 物件導向 - 基礎觀念篇
PHP 物件導向 - 基礎觀念篇
Jace Ju
CSS 排版 - 基礎觀念篇
CSS 排版 - 基礎觀念篇
Jace Ju
20080706_ecogeek_lt
20080706_ecogeek_lt
id774
Web Accessibility
Web Accessibility
chihchia
変わる時代、変わらぬ思い
変わる時代、変わらぬ思い
Hiromu Shioya
通用 web 开发技术体系介绍
通用 web 开发技术体系介绍
zhyq0826
WebアプリケーションフレームワークMojoの紹介
WebアプリケーションフレームワークMojoの紹介
Yuki Kimoto
Recomendados
Web Refactoring
Web Refactoring
Jace Ju
PHP 物件導向 - 基礎觀念篇
PHP 物件導向 - 基礎觀念篇
Jace Ju
CSS 排版 - 基礎觀念篇
CSS 排版 - 基礎觀念篇
Jace Ju
20080706_ecogeek_lt
20080706_ecogeek_lt
id774
Web Accessibility
Web Accessibility
chihchia
変わる時代、変わらぬ思い
変わる時代、変わらぬ思い
Hiromu Shioya
通用 web 开发技术体系介绍
通用 web 开发技术体系介绍
zhyq0826
WebアプリケーションフレームワークMojoの紹介
WebアプリケーションフレームワークMojoの紹介
Yuki Kimoto
Drupal - 教育網路中心課程
Drupal - 教育網路中心課程
Charles Chuang
ªãºAãäëèéí ñàíã çîõèîí áàéãóóëàõ
ªãºAãäëèéí ñàíã çîõèîí áàéãóóëàõ
Namkhainyambuu Gan-Erdene
Web技術勉強会10回目(Slideshare用)
Web技術勉強会10回目(Slideshare用)
龍一 田中
Webpeckerv7 Datasheet
Webpeckerv7 Datasheet
port80
just a test
just a test
miaoguoping
Life In Whatever 2.0
Life In Whatever 2.0
Charles (XXC) Chen
MSICC
MSICC
Masaki Komagata
361 Ch
361 Ch
anjaan
Pseudo Perl
Pseudo Perl
Masahiko Sakamoto
用Pootle翻譯OLPC專案
用Pootle翻譯OLPC專案
Bob Chao
Ag Portal Gioi Thieu Quy Trinh
Ag Portal Gioi Thieu Quy Trinh
Pham Ngoc Quang
Bai Giang 5
Bai Giang 5
nbb3i
Kiepvesau loi nguyenngocthien
Kiepvesau loi nguyenngocthien
Cherry Yêu Quái
碳酸会 图片列表讨论
碳酸会 图片列表讨论
碳酸饮料会
期貨籌碼表0512
期貨籌碼表0512
guesta0da80
第2回PHP懇親会発表資料
第2回PHP懇親会発表資料
Masahiko Sakamoto
lectureinfo site for xmu
lectureinfo site for xmu
The Mind Academy
Code Refactoring Javaeye Rails1.X 2.X
Code Refactoring Javaeye Rails1.X 2.X
wear
376 Ch
376 Ch
anjaan
Mac玩家特區X目錄
Mac玩家特區X目錄
MengSheng Huang
What happens in laravel 4 bootstraping
What happens in laravel 4 bootstraping
Jace Ju
PHPUnit 入門介紹
PHPUnit 入門介紹
Jace Ju
Mais conteúdo relacionado
Mais procurados
Drupal - 教育網路中心課程
Drupal - 教育網路中心課程
Charles Chuang
ªãºAãäëèéí ñàíã çîõèîí áàéãóóëàõ
ªãºAãäëèéí ñàíã çîõèîí áàéãóóëàõ
Namkhainyambuu Gan-Erdene
Web技術勉強会10回目(Slideshare用)
Web技術勉強会10回目(Slideshare用)
龍一 田中
Webpeckerv7 Datasheet
Webpeckerv7 Datasheet
port80
just a test
just a test
miaoguoping
Life In Whatever 2.0
Life In Whatever 2.0
Charles (XXC) Chen
MSICC
MSICC
Masaki Komagata
361 Ch
361 Ch
anjaan
Pseudo Perl
Pseudo Perl
Masahiko Sakamoto
用Pootle翻譯OLPC專案
用Pootle翻譯OLPC專案
Bob Chao
Ag Portal Gioi Thieu Quy Trinh
Ag Portal Gioi Thieu Quy Trinh
Pham Ngoc Quang
Bai Giang 5
Bai Giang 5
nbb3i
Kiepvesau loi nguyenngocthien
Kiepvesau loi nguyenngocthien
Cherry Yêu Quái
碳酸会 图片列表讨论
碳酸会 图片列表讨论
碳酸饮料会
期貨籌碼表0512
期貨籌碼表0512
guesta0da80
第2回PHP懇親会発表資料
第2回PHP懇親会発表資料
Masahiko Sakamoto
lectureinfo site for xmu
lectureinfo site for xmu
The Mind Academy
Code Refactoring Javaeye Rails1.X 2.X
Code Refactoring Javaeye Rails1.X 2.X
wear
376 Ch
376 Ch
anjaan
Mac玩家特區X目錄
Mac玩家特區X目錄
MengSheng Huang
Mais procurados
(20)
Drupal - 教育網路中心課程
Drupal - 教育網路中心課程
ªãºAãäëèéí ñàíã çîõèîí áàéãóóëàõ
ªãºAãäëèéí ñàíã çîõèîí áàéãóóëàõ
Web技術勉強会10回目(Slideshare用)
Web技術勉強会10回目(Slideshare用)
Webpeckerv7 Datasheet
Webpeckerv7 Datasheet
just a test
just a test
Life In Whatever 2.0
Life In Whatever 2.0
MSICC
MSICC
361 Ch
361 Ch
Pseudo Perl
Pseudo Perl
用Pootle翻譯OLPC專案
用Pootle翻譯OLPC專案
Ag Portal Gioi Thieu Quy Trinh
Ag Portal Gioi Thieu Quy Trinh
Bai Giang 5
Bai Giang 5
Kiepvesau loi nguyenngocthien
Kiepvesau loi nguyenngocthien
碳酸会 图片列表讨论
碳酸会 图片列表讨论
期貨籌碼表0512
期貨籌碼表0512
第2回PHP懇親会発表資料
第2回PHP懇親会発表資料
lectureinfo site for xmu
lectureinfo site for xmu
Code Refactoring Javaeye Rails1.X 2.X
Code Refactoring Javaeye Rails1.X 2.X
376 Ch
376 Ch
Mac玩家特區X目錄
Mac玩家特區X目錄
Destaque
What happens in laravel 4 bootstraping
What happens in laravel 4 bootstraping
Jace Ju
PHPUnit 入門介紹
PHPUnit 入門介紹
Jace Ju
jQuery 實戰經驗講座
jQuery 實戰經驗講座
Jace Ju
PHP 語法基礎與物件導向
PHP 語法基礎與物件導向
Shengyou Fan
购物车图例:例子和最佳实践
购物车图例:例子和最佳实践
大璋 王
Refactoring with Patterns in PHP
Refactoring with Patterns in PHP
Jace Ju
Beginning PHPUnit
Beginning PHPUnit
Jace Ju
Advanced php testing in action
Advanced php testing in action
Jace Ju
購物車程式架構簡介
購物車程式架構簡介
Jace Ju
如何選擇合適的網站製作平台
如何選擇合適的網站製作平台
Hui Chieh Chiu
Composer 套件管理
Composer 套件管理
Shengyou Fan
開發環境建置
開發環境建置
Shengyou Fan
Destaque
(12)
What happens in laravel 4 bootstraping
What happens in laravel 4 bootstraping
PHPUnit 入門介紹
PHPUnit 入門介紹
jQuery 實戰經驗講座
jQuery 實戰經驗講座
PHP 語法基礎與物件導向
PHP 語法基礎與物件導向
购物车图例:例子和最佳实践
购物车图例:例子和最佳实践
Refactoring with Patterns in PHP
Refactoring with Patterns in PHP
Beginning PHPUnit
Beginning PHPUnit
Advanced php testing in action
Advanced php testing in action
購物車程式架構簡介
購物車程式架構簡介
如何選擇合適的網站製作平台
如何選擇合適的網站製作平台
Composer 套件管理
Composer 套件管理
開發環境建置
開發環境建置
Mais de Jace Ju
深入淺出 MVC
深入淺出 MVC
Jace Ju
如何打造 WebMVC Framework - 基礎概念篇
如何打造 WebMVC Framework - 基礎概念篇
Jace Ju
Patterns in Library Design (套件設計裡的模式)
Patterns in Library Design (套件設計裡的模式)
Jace Ju
Patterns in Zend Framework
Patterns in Zend Framework
Jace Ju
Head First Zend Framework - Part 1 Project & Application
Head First Zend Framework - Part 1 Project & Application
Jace Ju
常見設計模式介紹
常見設計模式介紹
Jace Ju
Mais de Jace Ju
(6)
深入淺出 MVC
深入淺出 MVC
如何打造 WebMVC Framework - 基礎概念篇
如何打造 WebMVC Framework - 基礎概念篇
Patterns in Library Design (套件設計裡的模式)
Patterns in Library Design (套件設計裡的模式)
Patterns in Zend Framework
Patterns in Zend Framework
Head First Zend Framework - Part 1 Project & Application
Head First Zend Framework - Part 1 Project & Application
常見設計模式介紹
常見設計模式介紹
PHP 防駭 - 基礎觀念篇
1.
PHP 防駭 -
基礎觀念篇 如何寫出安全的 PHP 網站
2.
常見的威脅
上線環境的錯誤訊息中出現相關系統資訊 • 透過網址就能進入管理頁面 • 資料庫中的資料無端地被全部刪除 • 頁面被植入不明連結 • 程式中多出不明的 PHP 檔案 •
3.
開發環境的設定
4.
error_reporting = E_ALL •
嚴格是安全的根本 • http://localhost/hack/notice.php
5.
register_globals = Off •
想偷懶想節省打字字數 • http://localhost/hack/admin/index.php • http://localhost/hack/admin/index.php?isLogin=1
6.
上線環境的設定
7.
display_errors = Off •
錯誤洩漏系統環境 • http://localhost/hack/notice.php
8.
log_errors = On •
將錯誤記到 log 檔中 • error_log = filename
9.
Safe mode • 通常是共享主機才有必要打開 •
官方建議不應該在 PHP 層級裡使用 • PHP6 已不再內建
10.
SQL Injection
11.
資料型態的重要性 • 過份相信外部資料 • http://localhost/hack/user.php?id=1 •
http://localhost/hack/user.php?id=' or 1=1; /* • POST 表單也有同樣的問題,而且更危險
12.
更可怕的指令 • http://localhost/hack/user.php?id=';delete from
users; /* • 其實只要權限夠,什麼指令都能執行。
13.
善用 Library 提供的函式
Zend Framework: Zend_Db_Adapter_Abstract::quoteInto() • MySQL Library: addslashes(), mysql_real_escape_string() • MySQLi Library: mysqli::real_escape_string() • ADOdb: ADOConnection::Quote() •
14.
將資料編碼 • 敏感資料用可逆的加密演算法加密 –
優點:駭客不容易解讀 – 缺點:一定要用程式解讀,而且還是有可能被 破解 • 敏感資料用不可逆的加密演算法加密 – 優點:如果夠嚴密的話,駭客完全無法解讀 – 缺點:無法還原為原來密碼
15.
Script Injection
16.
讓瀏覽者踩到地雷 • <?php echo
$content ?> • http://localhost/hack/post.php – <script src=quot;http://example.com/hack.jsquot;></script> – <iframe src=quot;http://example.com/hack.phpquot; height=quot;0quot;></iframe>
17.
去除HTML的影響 • <?php echo
htmlspecialchars($content); ?> – 缺點:沒辦法顯示 HTML • <?php echo strip_tags($content, '<p>'); ?> – 缺點:有可能無法避掉 onxxxx 的 JS • BBCode, Wiki, PEAR::HTML_Safe, …
18.
木馬
19.
上傳後門檔案 • 沒有檢查型態
– mime-type 還是副檔名? – 白名單檢查 • 用 SQL Injection
20.
一支 PHP 程式就能看透你的網站 •
http://localhost/hack/c99shell.php • http://localhost/hack/phpspy2008.php
21.
討論
22.
如何建立良好的程式開發習慣? •
MIS能為你做些什麼? • 用套件?還是自己來? • 哪些網站提供相關資訊? •
23.
謝謝
Baixar agora