代碼審計:企業級web代碼安全架構 I
前言 IV
導讀 VI
緻謝和感言 IX
目錄 XI
第1章 代碼審計環境搭建
1.1 wamp/wnmp環境搭建
1.2 lamp/lnmp環境搭建
1.3 PHP核心配置詳解
第2章 審計輔助與漏洞驗證工具
2.1 代碼編輯器
2.1.1 notepad++
2.1.2 UltraEdit
2.1.3 Zend Studio
2.2 代碼審計工具
2.2.1 Seay源碼審計係統
2.2.2 Fortify SCA
2.2.3 RIPS
2.3 漏洞驗證輔助
2.3.1 burp suite
2.3.2 瀏覽器擴展
2.3.3 編碼轉換及加解密工具
2.3.4 正則調試工具
2.3.5 SQL執行監控工具
第3章 通用代碼審計思路
3.1 敏感函數迴溯參數過程
3.1.1 espcms注入挖掘案例
3.2 通讀全文代碼
3.2.1 騎士cms通讀審計案例
3.2.1.1 查看應用文件結構
3.2.1.2 查看關鍵文件代碼
3.2.1.3 查看配置文件
3.2.1.4 跟讀首頁文件
3.3 根據功能點定嚮審計
3.3.1 Bugfree重裝漏洞案例
第4章 漏洞挖掘與防範(基礎篇)
4.1 SQL注入漏洞
4.1.1 挖掘經驗
4.1.1.1 普通注入
4.1.1.2 編碼注入
4.1.1.2.1 寬字節注入
4.1.1.2.2 二次urldecode注入
4.1.1.3 espcms搜索注入分析
4.1.2 漏洞防範
4.1.2.1 gpc/rutime魔術引號
4.1.2.2 過濾函數和類
4.1.2.2.1 addslashes函數
4.1.2.2.2 mysql_[real_]escape_string函數
4.1.2.2.3 intval等字符轉換
4.1.2.3 PDO prepare預編譯
4.2 XSS漏洞
4.2.1 挖掘經驗
4.2.1.1 反射型XSS
4.2.1.2 存儲型XSS
4.2.1.3 騎士CMS 存儲型XSS分析
4.2.2 漏洞防範
4.2.2.1 特殊字符HTML實體轉碼
4.2.2.2 標簽事件屬性黑白名單
4.3 CSRF漏洞
4.3.1 挖掘經驗
4.3.1.1 Discuz csrf備份拖庫分析
4.3.2 漏洞防範
4.3.2.1 Token驗證
4.3.2.2 驗證碼驗證
第5章 漏洞挖掘與防範(進階篇)
5.1 文件操作漏洞
5.1.1 文件包含漏洞
5.1.1.1 挖掘經驗
5.1.1.2 本地文件包含
5.1.1.2.1 遠程文件包含
5.1.1.2.2 文件包含截斷
5.1.1.2.3 Metinfo文件包含漏洞分析
5.1.2 文件讀取(下載)漏洞
5.1.2.1 挖掘經驗
5.1.2.1.1 phpcms任意文件讀取分析
5.1.3 文件上傳漏洞
5.1.3.1 挖掘經驗
5.1.3.1.1 未過濾或本地過濾
5.1.3.1.2 黑名單擴展名過濾
5.1.3.1.3 文件頭、content-type驗證繞過
5.1.3.1.4 phpcms任意文件上傳分析
5.1.4 文件刪除漏洞
5.1.4.1 挖掘經驗
5.1.4.1.1 Metinfo任意文件刪除分析
5.1.5 文件操作漏洞防範
5.1.5.1 通用文件操作防禦
5.1.5.2 文件上傳漏洞防範
5.2 代碼執行漏洞
5.2.1 挖掘經驗
5.2.1.1 代碼執行函數
5.2.1.1.1 eval和assert函數
5.2.1.1.2 preg_replace函數
5.2.1.1.3 調用函數過濾不嚴
5.2.1.2 動態函數執行
5.2.1.3 Thinkphp代碼執行漏洞分析
5.2.2 漏洞防範
5.3 命令執行漏洞
5.3.1 挖掘經驗
5.3.1.1 命令執行函數
5.3.1.2 反引號命令執行
5.3.1.3 億郵命令執行漏洞分析
5.3.2 漏洞防範
5.3.2.1 命令防注入函數
5.3.2.2 參數白名單
第6章 漏洞挖掘與防範(深入篇)
6.1 變量覆蓋漏洞
6.1.1 挖掘經驗
6.1.1.1 函數使用不當
6.1.1.1.1 extract函數
6.1.1.1.2 parse_str函數
6.1.1.1.3 import_request_variables函數
6.1.1.2 $$變量覆蓋
6.1.1.3 Metinfo變量覆蓋漏洞分析
6.1.2 漏洞防範
6.1.2.1 使用原始變量
6.1.2.2 驗證變量存在
6.2 邏輯處理漏洞
6.2.1 挖掘經驗
6.2.1.1 等於與存在判斷繞過
6.2.1.1.1 in_array函數
6.2.1.1.2 is_numeric函數
6.2.1.1.3 雙等於和三等於
6.2.1.2 賬戶體係中的越權漏洞
6.2.1.3 未exit或return引發的安全問題
6.2.1.4 常見支付漏洞
6.2.1.5 Ecshop邏輯錯誤注入分析
6.2.2 漏洞防範
6.3 會話認證漏洞
6.3.1 挖掘經驗
6.3.1.1 Cookie認證安全
6.3.1.2 Espcms任意用戶登錄分析
6.3.2 漏洞防範
第7章 二次漏洞審計
7.1 什麼是二次漏洞
7.2 二次漏洞審計技巧
7.3 dedecms二次注入漏洞分析
第8章 代碼審計小技巧
8.1 鑽GPC等轉義的空子
8.1.1 不受GPC保護的全局變量
8.1.2 編碼轉換問題
8.2 神奇的字符串
8.2.1 字符處理函數報錯信息泄露
8.2.2 字符串截斷
8.2.2.1 %00空字符截斷
8.2.2.2 iconv函數字符編碼轉換截斷
8.3 php:// 輸入輸齣流
8.4 PHP代碼解析標簽
8.5 FUZZ漏洞發現
8.6 不嚴謹的正則錶達式
8.7 十餘種MySQL報錯注入
8.8 Windows FindFirstFile利用
8.9 PHP可變變量
第9章 參數的安全過濾
9.1 第三方過濾函數與類
9.1.1 discuz SQL安全過濾類分析
9.1.2 discuz xss標簽過濾函數分析
9.2 內置過濾函數
第10章 使用安全的加密算法
10.1 對稱加密
10.1.1 3DES加密
10.1.2 AES加密
10.2 非對稱加密
10.2.1 RSA加密
10.3 單嚮加密
10.3.1 md5/sha1加密
第11章 業務功能安全設計
11.1 驗證碼
11.1.1 驗證碼繞過
11.1.2 驗證碼資源濫用
11.2 用戶登錄
11.2.1 撞庫漏洞
11.2.2 API登錄
11.3 用戶注冊
11.4 密碼找迴
11.5 資料查看與修改
11.6 投票/積分/抽奬
11.7 充值支付
11.8 私信及反饋
11.9 遠程地址訪問
11.10 文件管理
11.11 數據庫管理
11.12 命令/代碼執行
11.13 文件/數據庫備份
11.14 API接口
第12章 應用安全體係建設
12.1 用戶密碼安全策略
12.2 前後颱用戶分錶
12.3 後颱地址隱藏
12.4 密碼加密存儲方式
12.5 登入限製
12.6 API站庫分離
12.7 慎用第三方服務
12.8 嚴格的權限控製
12.9 敏感操作多因素驗證
12.10 應用自身的安全中心
附錄
網站推薦
· · · · · · (
收起)