iT邦幫忙

DAY 1
0

駭客手法解析~你不能不知的資安問題!!系列 第 1

輸入處理及安全性〈一〉

  • 分享至 

  • xImage
  •  

WEB的輸入到底在做什麼?

一般web會因應各式處理需求而有不同的輸入,來源有常見的GET、POST、Cookie等,而該怎麼處理使用者可控的變數就是一門很深的學問。

一般會對輸入值做以下處理:

1.驗證字元編碼

2.編碼轉換處理

3.參數的格式驗證

驗證字元編碼

在常見的PHP可以用mb_check_encoding進行編碼的驗證:

bool mb_check_encoding ([ string $var = NULL [, string $encoding = mb_internal_encoding() ]] )

$var是檢查對象,$encoding是字元編碼(預設是PHP自己內部的編碼),符合返回True,反之則False。

字元編碼的轉換

在PHP中使用mb_convert_encoding:

string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] )

$str是轉換前字串,$to_encoding是之前的編碼,$from_encoding是要轉換的編碼,返回值string是轉換後得字串。

結論

PHP本身在ini設定檔也有自動轉換的功能,開啟自動轉換其實省去手動檢查的麻煩,而且對於安全性也是有所提升的,其會將無法正確處理的字元編碼轉換或是刪除,但同時也是這個功能的缺點,其壞處是不會驗證變成亂碼的字串而仍然將它丟去處理

碎碎念

這兩三天會將關於輸入處理的背景知識先講清楚,接著再從沒有處理好輸入處理的危害開始講解攻擊手法,並適時搭配練習。


下一篇
輸入處理及安全性〈二〉
系列文
駭客手法解析~你不能不知的資安問題!!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言