# 2019/10/22
* 解釋 Proxy
Proxy:代理之意,這字最早應是出現在網路的Firewall功能中。
防火牆:用來保護網路的安全,在你的內部網路與外部網路之間建立一道像牆般的保護,使內外有所區隔,所有的進出動作都需要經過這道牆。
因此對外面網路世界中的機器來說,它們只看的到這道牆,而看不到這牆內的機器,而牆內的機器也必需透過這道牆才能出去,因此這道做為牆的機器我們就可以稱它為一 Proxy Server『代理主機』。而相對的因為要記錄著進出資料的內容及來源目的,做這道牆的機器就需要有極大的硬碟空間來儲存進出資料的內容及來源目的。
* 分別解釋 chmod +x、chmod 666、chmod 777的功用
chmod +r:給定讀取權(read)
chmod +w:給定寫入權 (write)
chmod +x:給定執行權(execute)

每一組的三個位置, 由左至右為: 讀取,寫入,執行的權限, 若該位置只有一條線, 則表示不具有該權限.
我們也用數字來代表不同的權限:
讀取: 4
寫入: 2
執行: 1
**chmod 權限 檔案/目錄**
chmod 666 myfile:
給予myfile擁有人讀取及寫入權限,同組人讀取及寫入權限,其他人讀取及寫入權限
chmod 777 myfile:
給予myfile擁有人讀取、寫入、執行權限,同組人讀取、寫入、執行權限,其他人讀取、寫入、執行權限
* 完成 php_extract,附上截圖並說明其解題細節


此表單會把資料傳送到index.php這支程式,第二個部分就是最重要的method="GET",此處是宣告資料傳遞採用GET方式傳送

**extract — 從陣列中將變量導入到當前的符號表**
**hash - 生成一個雜湊值**
```php=
hash ($algo,$string,$getRawOutput)
$algo:一個hash演算法的字符串,如“sha1”, “sha256”, “md5”, “haval160, 4”
$string:要被hash的字串
$getRawOutput:選一個布林值:
True=>outputs raw binary data
False=>outputs lowercase hexits
```
URL通過GET的方式傳遞參數,傳輸的數據以數組的形式被封装在$_GET中,extract()函数從數组中將變量導入到當前的符號表,該函数使用數组鍵名作為變量名,使用數组鑑值作為變量值。
解法:
pass=password的hash值,再由URL傳遞=>
http://140.134.25.138:10016/index.php?password=(某字串)&pass=(某字串sha1的hash值)
{"metaMigratedAt":"2023-06-15T01:08:00.461Z","metaMigratedFrom":"Content","title":"2019/10/22","breaks":true,"contributors":"[{\"id\":\"e45f69c7-b953-472a-9061-6451face59d6\",\"add\":1372,\"del\":50}]"}