第1章 PHP網頁的安全性
1.1 什么是安全性
1.1.1 黑客攻擊的方式
1.1.2 PHP網頁的安全性問題
1.2 Register Globals
1.3 安全模式
1.3.1 限制文件的存取
1.3.2 限制環境變量的存取
1.3.3 限制外部程序的執行
1.4 Magic Quotes
1.4.1 使用Magic Quotes的好處
1.4.2 使用Magic Quotes的壞處
1.4.3 取消Magic Quotes功能
1.5 修改PHP的設定值
1.5.1 在php.ini文件中修改設定值
1.5.2 在httpd.conf文件中修改設定值
1.5.3 在.htaccess文件中修改設定值
1.5.4 在程序中修改設定值
第2章 Command Injection -命令注入攻擊
2.1 PHP的命令執行函數
2.1.1 System函數
2.1.2 Exec函數
2.1.3 passthru函數
2.1.4 shell_exec 函數
2.1.5 運算符
2.2 命令注入攻擊
2.2.1 攻擊實例一
2.2.2 攻擊實例二
2.2.3 攻擊實例三
2.2.4 命令注入的方式
2.3 eval注入攻擊
2.3.1 攻擊沒有作用
2.3.2 可變變量
2.3.3 pre_replace函數
2.3.4 ace函數
2.3.5 動態函數
2.3.6 call_user_func函數
2.4 防范的方法
2.4.1 使用escapeshellarg函數來處理命令的參數
2.4.2 使用safe_mode_exec_dir指定的可執行文件的路徑
第3章 Script Insertion -客戶端腳本植入攻擊
3.1 客戶端腳本植入攻擊
3.2 攻擊實例:在留言板中插入腳本
3.2.1 開始攻擊:顯示簡單的對話框
3.2.2 沒有顯示對話框
3.2.3 打開Internet Explorer的活動腳本功能
3.2.4 關閉PHP的magic_quotes_gpc
3.2.5 利用數據庫來攻擊
3.2.6 本章的數據庫
3.2.7 瀏覽植入腳本的留言
3.2.8 破壞性的攻擊手法:顯示無窮盡的新窗口
3.2.9 引誘性的攻擊手法:跳轉網址
3.3 防范的方法
3.3.1 HTML輸出過濾
3.3.2 使用strip_tags函數來進行HTML輸出過濾
3.3.3 strip_tags函數的缺點
3.3.4 使用htmlspecialchars函數來進行HTML輸出過濾
第4章 XSS -跨網站腳本攻擊
4.1 什么是“跨網站腳本攻擊”
4.2 跨網站腳本攻擊
4.2.1 本章的數據庫
4.2.2 登錄首頁
4.2.3 如何攻擊
4.2.4 開始攻擊
4.2.5 沒有顯示對話框
4.2.6 如何取得目標用戶的cookie內容
4.2.7 服務器的記錄文件
4.3 防范的方法
4.4 隱藏在$_SERVER[“PHP_SELF”]變量內的腳本
4.4.1 實際范例
4.4.2 拆解標簽的內容
4.4.3 避免$_SERVER[“PHP_SELF”]被篡改
第5章 SQL Injection -SQL注入攻擊
第6章 CSRF -跨網站請求偽造攻擊
第7章 Session Hijacking -會話劫持攻擊
第8章 HTTP Response Splitting -HTTP響應拆分攻擊
第9章 File Upload Attack -文件上傳攻擊
第10章 目錄/文件攻擊
第11章 其他的攻擊