※ 引述《buganini (霸格尼尼)》之銘言:
: http://140.122.126.12/~buganini/dev/session.php
: 使用方法很簡單
: 把session_start()換成include上面這個檔案即可
請參考「3957 8/20 DarkKiller R: [分享] 顯示ISP名稱 (不安全)」這一篇
你應該要告訴使用者把你的程式碼複製下來另存新檔,而不是丟一句
「換成include上面這個檔案即可」
另外,若是使用者的 register_globals=On,我相信那些 notice 是有很大運作的空
間
要嘛做成 function/class,不然就避免使用未初始化的變數
: FEATURE:
: 1. 每次連線同步更新token
: 提昇抵抗hijack的能力
: 相當於TCP每次seq number的更新
: (one time password)
: 2. 比TCP更好的抵抗能力
: TCP在被hijack之後 基本上只能hijack回去
: 否則就束手無策了
: 這個script在被hijack之後
: hijacker更新了server端的token
: victim如果再連線 因為持有舊的token
: 所以整個session會被毀掉
: victim需要重新建立session
: 而這個hijack就失效了
: 其實TCP應該也可以關閉連線
: 可是因為TCP的fixed token(ip-port pair)
: 是有規則的 所以容易被DOS
: NOTICE:
: 如果一頁有多個frame裡面連到的頁面都有include
: 這個script的時候
: 或著快速refresh
: 或browser有開pipelining
: 會發生餅乾賽跑...
: 這些request會拿著同一個token去連線
: 但經過一個連線之後token就會換掉
: 然後session就炸了...
: 適度提高$tolerance可以減少這個問題
: 但設太高會失去抵抗hijack的能力
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.158.15