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

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

作者: IT_man    時間: 2015-3-23 16:24
標題: 遊客站內搜尋的錯誤
本帖最後由 IT_man 於 2015-3-23 16:27 編輯 / e- O2 G" Z; n

/ B/ t" m- ]( U' X& ?3 S7 \+ ^- b遊客站內搜尋時出現 error message :
# M+ s1 e7 r* O# l9 \# x' W1 ^# l, v
. i  ]9 X$ g- P& N8 ~  `

7 Q  Q; i$ j* M  r" D  w" U  A# I- J' Q* o4 [/ @  s7 Z# o
sol:, V# I  G8 v* w+ \4 C+ d
\source\class\discuz的discuz_application.php  約第350行
5 y9 e4 u  r9 H7 \/ z) V查找. k. x3 l. P3 h: Y
  1.         private function _xss_check() {: V/ `5 z' l! i( J8 T5 M& k
  2. / k" v9 _* z& h2 v
  3.                 static $check = array('"', '>', '<', '\'', '(', ')', 'CONTENT-TRANSFER-ENCODING');
    ) e, N# j7 e$ M9 b" {

  4. . u7 P  G' |6 S9 \' N! \/ x0 r% J
  5.                 if(isset($_GET['formhash']) && $_GET['formhash'] !== formhash()) {3 u( j" @* n7 R; @2 g
  6.                         system_error('request_tainting');
    % G# p2 n  H' Q" v, n& D/ j9 t( Q
  7.                 }
    8 z6 y1 k1 B1 ]& ^7 P
  8. # Q& u$ s8 D- Z! K5 K4 X" M6 c
  9.                 if($_SERVER['REQUEST_METHOD'] == 'GET' ) {. O; Q: I1 y4 o; |8 R6 ~& ?
  10.                         $temp = $_SERVER['REQUEST_URI'];
    1 ^  S; t# p$ K  b5 d  Y
  11.                 } elseif(empty ($_GET['formhash'])) {8 ^1 U$ M* n5 h, E$ N0 Q: a
  12.                         $temp = $_SERVER['REQUEST_URI'].file_get_contents('php://input');
    6 q3 O5 w3 Z" G* F1 J' t
  13.                 } else {
    ! ~& ], j2 n5 U* d% |/ ?
  14.                         $temp = '';+ G9 N  k! C+ L
  15.                 }
    - U6 R+ @" B9 |

  16. , Y' o3 C4 g( S7 I* r
  17.                 if(!empty($temp)) {5 i9 V  @, |% a0 g" z
  18.                         $temp = strtoupper(urldecode(urldecode($temp)));8 w2 V7 q, w8 j9 I* i4 s+ r
  19.                         foreach ($check as $str) {
    0 u: p' M; A3 T) ?
  20.                                 if(strpos($temp, $str) !== false) {
    4 l% W/ O0 z" L. u/ _, R& Y4 J
  21.                                         system_error('request_tainting');4 w* P, D  c4 ~; u  `+ g: W
  22.                                 }6 T* ~) h9 S: q
  23.                         }5 r5 b5 b; d5 ^8 j
  24.                 }
    . k7 c" Z/ M$ ]0 X

  25. ) x: @: \$ z+ Y4 X" D1 U1 g
  26.                 return true;
    : m# X% g' ~7 ^
  27.         }
複製代碼
替换为:
* i- v' ?! g/ y$ q0 f5 J2 F$ z" A% C5 O2 B+ _/ v/ w
  1.   private function _xss_check() {
    # J6 `5 ]+ i  F3 r
  2.     $temp = strtoupper(urldecode(urldecode($_SERVER['REQUEST_URI'])));0 c* h. B, L0 |- ^" f& k3 {- E
  3.     if(strpos($temp, '<') !== false || strpos($temp, '"') !== false || strpos($temp, 'CONTENT-TRANSFER-ENCODING') !== false) {
    2 ]2 x" h5 a! s1 `
  4.       system_error('request_tainting');
    3 M  ?9 z, r) s$ ~7 m$ s( V
  5.     }" _% k4 H3 I% h' m( V9 K- ?3 v
  6.     return true;; C) f$ a8 z" W4 Z( k' y
  7.   }
複製代碼
, |* O. @. ~! q2 r( _# o
后台更新缓存   ===>ok
4 {' l- n% i1 `) \; l1 c' ^但 有些 discuz代碼 內容在搜索結果內顯示,曝露在外,是不正常(會員搜索無此問題) ,研究中  t4 D6 j# o+ k' c
) Q3 M" |" h) z, v  Z

: j* @; F% _; _* h; [. w




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