• Tidak ada hasil yang ditemukan

網站應用程式弱點掃描 修復學校網頁模組經驗分享 - Index of /

N/A
N/A
Protected

Academic year: 2023

Membagikan "網站應用程式弱點掃描 修復學校網頁模組經驗分享 - Index of /"

Copied!
34
0
0

Teks penuh

(1)

網站應用程式弱點掃描─

修復學校網頁模組經驗分享

南投縣國姓國中 劉俊廷

Email : [email protected]

(2)

有哪些修復方式

?

2

(3)

彙整各種修復方式

(4)

彙整各種修復方式

4

(5)

有沒有簡單通用的方式

?

(6)

如何開發夠安全的

PHP

網頁?

- IT

邦幫

::IT

知識分享社群

f我們建議採用資料庫提供的過濾函式,譬如

MySQL

可以使用

mysql_real_escape_string()

除跳脫字元,也免除了針對每個輸入都加上過 濾函式的繁瑣工作。

引用網址:http://ithelp.ithome.com.tw/question/10000013 6

(7)

SQL INJECTION

修復實例

(8)

步驟一:查看弱點報告

8

(9)

步驟一:查看弱點報告

(10)

步驟一:查看弱點報告

f

判斷弱點畫面

10

(11)

步驟一:查看弱點報告

f

複製弱點網址

(12)

步驟一:查看弱點報告

f

閱讀修補建議

12

(13)

步驟一:查看弱點報告

f

修補建議

f字元型參數注入點分析

,

判斷是否存在

SQL

Injection

漏洞

,

直接從

IE

URL

網址列輸入資

,

如果加入

'and'5'='5

返回正常(就是和原來 沒有加

'and'5'='5

時頁面樣子的一樣

),

而加入

'and'5'='6

返回錯誤(和原來沒有加

'and'5'='6

時頁面的樣子不一樣)

,

就可以證明這個頁面 存在

SQL Injection

漏洞。

(14)

步驟二:開啟網頁測試

('AND'5'='5 )

f測試方式

f在網址變數後面加上'and'5'='5 f原始網址

fhttp://www.khjh.ntct.edu.tw/school/discuss/perbasic.

php?prgid=250 f加上測試網址

fhttp://www.khjh.ntct.edu.tw/school/discuss/perbasic.

php?prgid=250'and'5'='5 f加上測試網址

fhttp://www.khjh.ntct.edu.tw/school/discuss/perbasic.

php?prgid=250'and'5'=‘6

14

(15)

步驟三:下載要修復的網頁

f 3-1

根據弱點報告裡的弱點檔案路徑

(16)

步驟三:下載要修復的網頁

f 3-2

使用

WinSCP

軟體下載弱點網頁

16

(17)

步驟四:開啟要修復的網頁

f 4-1

使用

Notepad++

軟體開啟弱點網頁

(18)

步驟四:開啟要修復的網頁

f 4-2

根據弱點報告查看【弱點參數】

18

(19)

步驟四:開啟要修復的網頁

f 4-3

搜尋【弱點參數】

(20)

步驟四:開啟要修復的網頁

f 4-4

修補弱點並儲存

f加上

mysql_real_escape_string()

參數

20

(21)

步驟五:上傳修復好的網頁

f

使用

WinSCP

軟體上傳修復好的弱點網頁

(22)

步驟六:開啟網頁測試

('AND'5'='5 )

f測試方式

f在網址變數後面加上'and'5'='5 f原始網址

fhttp://www.khjh.ntct.edu.tw/school/discuss/perbasic.

php?prgid=250 f加上測試網址

fhttp://www.khjh.ntct.edu.tw/school/discuss/perbasic.

php?prgid=250'and'5'='5 f加上測試網址

fhttp://www.khjh.ntct.edu.tw/school/discuss/perbasic.

php?prgid=250'and'5'=‘6

22

(23)

目前為止

已經可以修復

SQL Injection

弱點

(24)

剩下的

20%

怎麼修復呢

?

24

(25)

如何修復剩下的

20%

f

設變數接受輸入

f不使用原始輸入資料

f輸入資料過濾檢查後再使用

f

限制輸入環境

f只能輸入英文、數字、男女等

f

修改程式

(26)

XSS

修復實例

26

(27)

修復工具

STRIP_TAG()

f

避免使用者的輸入中當有

<IFRAME>

<SCRIPT>

這些

HTML

標籤時會被瀏覽器 當成網頁內容而執行。

f

如果資料輸入時本就不允許輸入

HTML

籤,不如直接在輸入檢查時,以

strip_tag()

直接濾掉,免除後患。

(28)

修復範例

弱點類型:SQL Injection, XSS

弱點類型:parentid, level, selpage, prgid 弱點檔案:school=>files=>index.php

(1)8行,增加以下的紅色部分。

=====================================

7 //取得相關顏色資料 8 $prgid =

strip_tags(mysql_real_escape_string($_GET['prgid']));

9 if($prgid == "")

=====================================

28

(29)

修復結果

日期 搜尋

URL

總檢測

網頁

XSS

弱點數

SQL Injection 2013

08

02

1340 720 0 25

08

12

1347 249 1 11

08

21

1622 262 0 6

08

22

908 265 0 12

(30)

修復紀錄

f

短網址:

http://goo.gl/8uMJQO

f

原始網址:

https://sites.google.com/site/altohornubu ntu/home/02-wang-zhan-tao-jian

30

(31)

使用已修復檔案修復弱點

(32)

檔案說明

f

不包含《

data

》資料夾、《

config.inc.php

檔案。

f

data

》資料夾:裡面存的檔案是各校上傳的附 加檔案、相片、影片等,所以各校的內容均不 同。

f

config.inc.php

》檔案:是各校網頁的設定檔,

所以各校的內容均不同。

32

(33)

檔案說明

f已經包含了下面的程式功能修改

f 【行事曆】日期只到100年問題

f 【行事曆】新增行事曆時看見其他人已建立的活動

f 【最新公告】加上各處室名稱

f 【最新公告】加上[ 特急件][急件]標示

f 【最新公告】加上facebook的讚推文

f 【最新公告】加上Google + 1 的推文

f 【榮譽榜】加上得獎類別

f 【教職員工簡介】不顯示帳號

【密碼更新】增加密碼半年更新提醒密碼長度 字元以上

(34)

下載已修復檔案

f

短網址:

http://goo.gl/CfsoOR

f

原始網址:

https://sites.google.com/site/altohornubu ntu/home/02-wang-zhan-tao-

jian/cenglinfulaoshischoolmozuxiuzheng- shiyongyixiufudanganshengji

34

Referensi

Dokumen terkait

不受新增時間影響呈現順序 相異處 可選擇頁面是否呈現在網站上 不可分類... 會顯示如下圖。須輸入設定的密碼才能進入觀 看內容。

Hash 雜湊表 當我們儲存一個無法用正常的索引來表示的資料時,我們會給他一個編號 h,而那編號 對於這筆資料是唯一的。我們可以用動態記憶體把資料存在相鄰串列 data[h]裡。 就這樣說好了,假如我們有個資料庫要處理字串,如果每次作查詢需要 On 就太慢了, 那我們把字串分類好了,以字首前三個字來分類。可是像 con-, dis-字首的資料太多了,分