← ClaudeAtlas

yii1-security-auditlisted

Yii 1.1 框架安全審計工具(PHP 5.6)。針對 CAccessControlFilter / accessRules()、Yii::app()->user->checkAccess() 鑑權、CHtml::encode() 輸出編碼、CSRF 設定、CDbCommand / CDbCriteria SQL 注入、CUploadedFile 上傳驗證、Session cookie 安全等進行白盒靜態審計,映射到通用漏洞類型體系(AUTH/CSRF/XSS/SQL/CFG/LOGIC/FILE)。使用時機:用戶要對 Yii 1.1 專案執行安全審計、查找漏洞、驗證安全設定、或進行框架安全複查時,即使用戶沒有明確說「audit」也應觸發,例如「幫我檢查這個 Controller 有沒有安全問題」「這個專案的 CSRF 設定對嗎」「幫我找 SQL injection」。
hmj1026/dhpk · ★ 1 · Data & Documents · score 77
Install: claude install-skill hmj1026/dhpk
# Yii 1.1 框架安全審計(yii1-security-audit) 分析 Yii 1.1 專案的框架機制與配置踩坑,重點覆蓋: - 訪問控制:`filters()` / `accessRules()` / `CAccessControlFilter` 規則與覆���範圍 - RBAC:`Yii::app()->user->checkAccess()` / `getLevel()` 鑑權完整性與物件歸屬 - CSRF:`protected/config/main.php` 的 `request` 元件設定 - 輸出編碼:views 是否使用 `CHtml::encode()`;危險原樣輸出 - SQL 注入:`createCommand("....$var")` 字串拼接;`CDbCriteria` 未綁定參數 - Mass Assignment:`$model->attributes = $_POST[...]` 配合 `rules()` / scenario 安全邊界 - 上傳安全:`CUploadedFile` 的副檔名白名單、MIME 檢查、儲存位置 - Session 安全:`cookieParams` httponly / secure 設定 ## 輸入 用戶提供: - `source_path`:Yii 1.1 專案根目錄 可選: - `output_path`:輸出目錄(預設 `{source_path}_audit`) ## 輸出目錄 ``` {output_path}/framework_audit/ yii1_{timestamp}.md ``` ## 框架識別(必做) 必須給出 Yii 1.1 識別證據點(不允許空口斷言): | 證據類型 | 查找目標 | |---------|---------| | 入口腳本 | `protected/yiic.php` 或根目錄 `index.php` 含 `Yii::createWebApplication` | | 保護目錄 | `protected/controllers/`、`protected/models/`、`protected/views/` 均存在 | | 框架類別 | 繼承 `CController`、`CActiveRecord`、`CFormModel` | | 設定檔 | `protected/config/main.php` 包含 `components` 陣列 | | 非 Yii2 確認 | 沒有 `composer.json` 的 `yiisoft/yii2`、沒有 `web/index.php` | **若無法找到以上至少 3 項證據,停止審計並說明原因。** ## 風險類型映射(必做) 每條發現都必須寫明: - 通用類型碼:`AUTH` / `CSRF` / `XSS` / `SQL` / `CFG` / `LOGIC` / `FILE` - 映射原因(一句話) ## 必審清單(必做:逐項檢查並輸出結果) ### 1) AccessControl 鑑權規則正確性(AUTH) **搜尋目標:** - `protected/components/Controller.php` 的 `filters()` / `filterCheckPermission()` / `filterAccessControl()` - 各 Controller 的 `filters()` 與 `accessRules()` 是否存在及覆