Your SlideShare is downloading. ×
  • Like
Hiiir 資安講座 VI 伺服器端攻擊與防禦III
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Hiiir 資安講座 VI 伺服器端攻擊與防禦III

  • 492 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
492
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
14
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Taien內部資安講座 VI伺服器端攻擊與防禦III2013.05.22 @ Hiiir Inc.Taien Wang<taien_wang@hiiir.com>英屬維京群島商時間軸科技股份有限公司新創事業部
  • 2. 伺服器端攻擊與防禦III - 大綱1. 目錄遊走(Directory Traversal)2. eval注入(Eval Injection)常用搭配函數1. 編碼2. 壓縮3. 雙引號的特性(Double Quotes)4. 參考資料
  • 3. 1.目錄遊走Directory Traversal
  • 4. 1. 目錄遊走(Directory Traversal) – 簡介(1/3)• 基本上同伺服器端攻擊與防禦II > 3. 檔案或資源匯入安全 > 攻擊技巧• 攻擊手法– ..• 一些變形編碼 等同%2e%2e%2f ../%2e%2e/ ../..%2f ../%2e%2e%5c ..%2e%2e ....%5c ..%252e%252e%255c ....%255c ..
  • 5. 1. 目錄遊走(Directory Traversal) – 真實案例(2/3)
  • 6. 1. 目錄遊走(Directory Traversal) – 解決方案(3/3)• 需要注意的地方– include, include_once, require, require_once…– fopen(), file(), copy(), unlink(), system(), exec(), passthru()…• 解決方案– 白名單– 黑名單• 過濾跳脫• basename()• escapeshellarg()– php.ini• open_basedir– Windows 多目錄設定”分號”– Linux 多目錄設定”冒號”(僅供參考,不同環境有不同選擇)
  • 7. 2. Eval注入Eval Injection/搭配函數
  • 8. 2. eval 注入 – 簡介(1/4)• eval 內可用來執行一些動態 PHP 程式碼• PHP 官方說明– eval()使用上非常危險, 他允許執行任意PHP程式碼– 因此它的使用是不鼓勵的, 除非沒有其他選擇– 輸入的資料請驗證過• 實際上– 惡意程式很常使用它– 也有少部分機會有注入機會(未實驗成功, 煩請有經驗的指導)
  • 9. 2. eval 注入 – 常見搭配手法(2/4)• show_source()• 編碼– Base64: base64_encode(), base64_decode()– Base32• 壓縮– ZIP: ZipArchive– GZ: gzcompress(), gzuncompress()
  • 10. 2. eval 注入 – 實際案例(3/4)• 編碼後• 解碼後
  • 11. 2. eval 注入 – 解決方案(4/4)• 解決方案– 白名單• 限制於雙引號內的字元為常見字元– 黑名單• 嚴格過濾預期外的程式碼– PHP 禁用函式(僅供參考,不同環境有不同選擇)
  • 12. 3.雙引號的特性Double Quotes
  • 13. 3.雙引號的特性 – 簡介(1/4)• 雙引號怎麼使用函數• 具有攻擊性的範例
  • 14. 3.雙引號的特性 – 真實案例(2/4)
  • 15. 3.雙引號的特性 – 真實案例(3/4)• ThinkPHP Framework 任意程式碼執行漏洞
  • 16. 3.雙引號的特性 – 解決方案(4/4)• 常見情境– 產生檔案(如: Cache, 樣板, 或是設定檔等)• 解決方案– 白名單• 限制於雙引號內的字元為常見字元– 黑名單• 過濾${@等非法字元– PHP 禁用函式(僅供參考,不同環境有不同選擇)
  • 17. 參考資料• 柯志杰譯, 網頁程式駭客攻防實戰以PHP為例, 2007• OWASP, Direct Dynamic Code Evaluation (Eval Injection)• WooYun(白帽子技術社群), ThinkPHP framework 任意代码执行漏洞预警, 2012• PHP, eval – Manual, 2013