15
PHP LFI RFI PHP LFI RFI 掃盲大補帖 掃盲大補帖 hack-stuff.com 2012/11/3 1

Php lfi rfi掃盲大補帖

Embed Size (px)

Citation preview

Page 1: Php lfi rfi掃盲大補帖

PHP LFI RFIPHP LFI RFI 掃盲大補帖掃盲大補帖hack-stuff.com

2012/11/3

1

Page 2: Php lfi rfi掃盲大補帖

PHP fuzzingPHP fuzzing

PHP fuzzing 兩大 getshell 的方法(SQL injection 會受限於資料庫,略過 ~~)◦ Execution : Eval 、 system command eval 、 assert 、 shell_exec 、 system

◦ File Inclusion : LFI 、 RFIinclude 、 include_once 、require 、 require_once 、 fopen 、 readfile

◦ 這次講題 focus 在 File Inclusion 這個部分

2

Page 3: Php lfi rfi掃盲大補帖

大綱大綱

1. LFI 成因與限制2. RFI 成因與限制3. PHP 的截斷與 Directory Traversal4. LFI get shell5. Demo

3

Page 4: Php lfi rfi掃盲大補帖

LFILFI 成因與限制成因與限制

Include or Require

4

Page 5: Php lfi rfi掃盲大補帖

LFILFI 成因與限制成因與限制

LFI & 跳脫字元

5

Page 6: Php lfi rfi掃盲大補帖

RFIRFI 成因與限制 強大但 肋雞成因與限制 強大但 肋雞

php.ini◦ allow_url_include =ON ( 但預設都是關掉的 囧 )

開了就從 LFI 升級成 RFI

6

Page 7: Php lfi rfi掃盲大補帖

RFIRFI 成因與限制 強大但 肋雞成因與限制 強大但 肋雞

另外的方法 ( 若檢查 file 存在 ) : php 5.0 以上Using php://input wrapper

7

Page 8: Php lfi rfi掃盲大補帖

RFIRFI 成因與限制 最近漏洞應用成因與限制 最近漏洞應用

最近的 php-cgi 漏洞應用 (2012/5/6)

8

Page 9: Php lfi rfi掃盲大補帖

PHPPHP 的截斷與的截斷與 Directory Directory TraversalTraversal

%00 截斷 (php 5.3.2 修復 )

9

Page 10: Php lfi rfi掃盲大補帖

PHPPHP 的截斷與的截斷與 Directory Directory TraversalTraversal

//////// or /././././././◦ Win : 256 , linux : 4096 ◦ 缺點 : 不能 traversal ../../../../ 了,只能該目錄

及子目錄的東西◦ 優點: no any patch!!

10

Page 11: Php lfi rfi掃盲大補帖

LFILFI 利用方式大集合利用方式大集合

1. 讀取系統資訊◦ Linux OS : /etc/issue◦ Linux Kernel : /proc/version

11

Page 12: Php lfi rfi掃盲大補帖

LFILFI 利用方式大集合利用方式大集合

2. 讀 /proc/self/environ GetShell( 強大但不常見 )

Page 13: Php lfi rfi掃盲大補帖

LFILFI 利用方式大集合利用方式大集合

2. 讀 /proc/self/environ GetShell( 強大但不常見 )

Page 14: Php lfi rfi掃盲大補帖

LFILFI 利用方式大集合利用方式大集合

3. 包含 error_log ( 大部分不行 )4. PHP session 包含與上傳 案檔 php 的 session 存在 裡,怎麼包含哪 呢 ?

/var/lib/php/session/sess_26 位亂碼26 位亂碼 就在你的 cookie 的到查 ~

14

Page 15: Php lfi rfi掃盲大補帖

DemoDemo

Zero day Demo

15