52AV手機A片王|52AV.ONE

標題: 遊客站內搜尋的錯誤 [打印本頁]

作者: IT_man    時間: 2015-3-23 16:24
標題: 遊客站內搜尋的錯誤
本帖最後由 IT_man 於 2015-3-23 16:27 編輯 ! w% V9 v  r: R* ^" i+ j, I
3 N, P9 I# |* \% W2 |5 Y7 N
遊客站內搜尋時出現 error message :
' v& c+ C# ]% j8 s8 c/ k8 n2 ~) I. l
. q) s8 a1 X3 Q6 `; X7 l

6 L- ], `! C: E3 m5 z- b* z# A
sol:1 ]( z0 p$ l# r" @! z* ^) `  D3 x+ P
\source\class\discuz的discuz_application.php  約第350行1 _- a8 p$ Y; m9 o7 X% O- U
查找
$ I. ]4 y7 p4 K2 n/ _3 b# Q
  1.         private function _xss_check() {
    5 @2 y" n6 x* N2 V8 A, X- }/ p, g
  2. % e5 u; c* k1 Q! S! D
  3.                 static $check = array('"', '>', '<', '\'', '(', ')', 'CONTENT-TRANSFER-ENCODING');
    2 p5 |7 k- J* y# T1 y

  4. ) o0 g3 u4 b4 ^( Q
  5.                 if(isset($_GET['formhash']) && $_GET['formhash'] !== formhash()) {
    & c' R7 }9 X. h
  6.                         system_error('request_tainting');
    ; W( |' j: q0 T( o+ t
  7.                 }. o4 a5 C! I. |0 d/ ]
  8. ! \1 f$ w6 r- `* S
  9.                 if($_SERVER['REQUEST_METHOD'] == 'GET' ) {
    6 B4 l" b4 B' o1 Y# h: E1 Y
  10.                         $temp = $_SERVER['REQUEST_URI'];: T* S3 E* i+ n( \
  11.                 } elseif(empty ($_GET['formhash'])) {. N% s0 V0 s% J9 S1 l1 h( O% T9 Q6 L# H
  12.                         $temp = $_SERVER['REQUEST_URI'].file_get_contents('php://input');4 c: H  a- C4 n/ F# }
  13.                 } else {' R6 m* a0 H6 X9 ?4 C
  14.                         $temp = '';
    + J$ r% [* f/ _! P, x
  15.                 }* c8 q7 Z5 k" M' T  P  x

  16. ( N5 q8 m6 U$ \
  17.                 if(!empty($temp)) {" Z+ t9 y" W, g5 C8 I$ H. G
  18.                         $temp = strtoupper(urldecode(urldecode($temp)));! x* J, `5 K+ d+ p! W4 x# c( m
  19.                         foreach ($check as $str) {$ O3 Q1 c: P* ~8 ~/ y: R
  20.                                 if(strpos($temp, $str) !== false) {/ J# W2 M* q" s- d. s& k
  21.                                         system_error('request_tainting');
    * j9 F$ \6 t2 O5 g, ?. b0 n
  22.                                 }& P' ~0 |; r- ^- @: `* d) o/ w( |3 b
  23.                         }* c5 {% |& A5 l2 m5 O* c0 M: h
  24.                 }$ ?# ]" y$ M& I) I  `

  25. * n+ M& c- G" n( N9 U
  26.                 return true;9 s' m/ m* z0 N: O& n
  27.         }
複製代碼
替换为:7 U% S) ^' u3 w4 F) W! R8 l* }& f' z

5 R, H: z8 H8 Z# d+ Q8 f( X
  1.   private function _xss_check() {
    4 r8 D8 n8 A( o
  2.     $temp = strtoupper(urldecode(urldecode($_SERVER['REQUEST_URI'])));; M: C% S' B; E( C0 _3 [
  3.     if(strpos($temp, '<') !== false || strpos($temp, '"') !== false || strpos($temp, 'CONTENT-TRANSFER-ENCODING') !== false) {
    ( z$ a9 @# Z& x+ O/ T2 _5 K/ q
  4.       system_error('request_tainting');
    ( O. h+ z( p3 j; \* @  n* z3 K7 L
  5.     }" B; m8 b3 p# u4 @
  6.     return true;
    , v/ @& D0 y! K2 s# N( H
  7.   }
複製代碼
' F1 r- _& O7 R1 B8 |3 F/ H8 t. p
后台更新缓存   ===>ok5 y* k4 Z0 R* B) \# p
但 有些 discuz代碼 內容在搜索結果內顯示,曝露在外,是不正常(會員搜索無此問題) ,研究中
7 L& t- T& w% z! b2 @1 S9 j# j. t+ g4 N

& A, E8 ]* Q* ~6 V0 y




歡迎光臨 52AV手機A片王|52AV.ONE (https://www.itech.casa/) Powered by Discuz! X3.2