PHP初探

by Chess

是什麼?

  • 後端語言

  • 動態語言

  • 弱型別

PHP : Hypertext Preprocessor

FI系列

  • Perl 腳本

  • C語言版本

無後綴系列

  • 從3.0更新到至今

OR

跟C語言的不同

  • 變數

  • 陣列

  • 函式

全球首家線上PHP沙盒 上線啦

>變數

PHP C
整數 $a int a
字元 $b char b
  • php的變數一律用"$"開頭,且第一個不可為數字

Keywords

  • $_GET

  • $_POST

  • $_SERVER

  • $_FILE

  • $_COOKIE

  • $_SESSION

: http get var

: http post var

: server  information

: http file upload var

: http cookie var

: http session var

$_GET 可以直接從網址輸入值

>陣列

PHP C
一維 $arr arr[5]
二維 $arr arr[5][4]

陣列給初始值

印個一維陣列看看吧

>函式

PHP C
void function qq(){} void qq(){}
int function qq(){} int qq(){}

單引號 OR 雙引號 ???

"==" or "===" ???

大括號{ }

PHP 協議

file://

  • 可以存取所有路徑的檔案
  • 可以是 "相對路徑" or "絕對路徑"

php://

filter/參數

input

預設會去讀取POST Data的資料

 

  • resoure=    // 必須!!!

  • read=          // 以什麼方式讀取

php://filter/read=???/resource=

read可以選擇要讀取的編碼方式

  • convert.base64-<encode/decode>
  • string.rot13
  • string.toupper
  • string.tolower

衍生的問題

  • 函式比較繞過

  • 系統資訊洩漏

  • 檔案上傳漏洞

  • 文件包含漏洞

  • 反序列化

小練習

END

[20190328] NISRA - PHP初探

By Chess Kuo

[20190328] NISRA - PHP初探

  • 508