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

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

作者: IT_man    時間: 2015-3-23 16:24
標題: 遊客站內搜尋的錯誤
本帖最後由 IT_man 於 2015-3-23 16:27 編輯 9 _6 h3 G' `! X& P- b
! f/ U6 E+ U- r! L
遊客站內搜尋時出現 error message :0 s1 D8 Q! q: C) f2 g. q  `: G

6 _/ L: b2 m" b# H4 |8 m' U- D3 r: i- f
  B6 N4 ?5 s1 T# L  O- y; \. M+ P: g  ]& V8 ^3 B  @# V
' m5 @& r2 `1 t4 o6 l! k& }9 b
sol:
/ u% x; @; K. D# M% |\source\class\discuz的discuz_application.php  約第350行
2 d# s) ]6 E) k/ v. d: F* ^  n查找
) i* g! @( V8 o9 F
  1.         private function _xss_check() {
    1 j" p! C2 Y* Q/ ?
  2. ; F& ?3 }/ [* l3 |# u) k6 {
  3.                 static $check = array('"', '>', '<', '\'', '(', ')', 'CONTENT-TRANSFER-ENCODING');
    8 y' m/ {: h8 P9 h, r5 e3 K! m5 k

  4. ; @* o8 b) m- Z! d  w  M) g4 I
  5.                 if(isset($_GET['formhash']) && $_GET['formhash'] !== formhash()) {: ^) O" P0 ~, y3 r5 ^0 o
  6.                         system_error('request_tainting');; Y4 h3 j8 f! k7 \9 [
  7.                 }% G% n' O$ i- C  j! c3 g7 R1 [

  8. # w7 _$ V7 Z7 n/ U. N4 R
  9.                 if($_SERVER['REQUEST_METHOD'] == 'GET' ) {* X7 M2 I, M  H$ }
  10.                         $temp = $_SERVER['REQUEST_URI'];* \. f4 U3 H& m* I
  11.                 } elseif(empty ($_GET['formhash'])) {4 d) G" [0 ~0 f! B) `/ p0 M6 x# Y
  12.                         $temp = $_SERVER['REQUEST_URI'].file_get_contents('php://input');) d- T0 K6 H: P, Q
  13.                 } else {
    ; m7 x7 r7 Y7 f3 w" @! ~" P
  14.                         $temp = '';
    , T) v+ V$ W5 `/ b9 I
  15.                 }0 l+ m4 A" R; z7 m4 u! A' ^
  16. 2 e4 B, d* z6 p# {6 M) Y# q
  17.                 if(!empty($temp)) {  T& R1 j: q( B% r# v
  18.                         $temp = strtoupper(urldecode(urldecode($temp)));+ j% {& T$ l* \
  19.                         foreach ($check as $str) {
    ' _# v% R! d' o& b
  20.                                 if(strpos($temp, $str) !== false) {6 S$ v$ \$ n0 S; B. l) S
  21.                                         system_error('request_tainting');
    2 u/ @1 \5 F- B% _% z
  22.                                 }( X( v4 z& j; L; ^% N
  23.                         }2 X7 Z  z6 f& X) x
  24.                 }  [. C/ n. I+ T2 i$ s2 l, y1 ]  C
  25. $ r4 R. L( K) @4 F  l' y2 q; X; y8 H
  26.                 return true;8 V7 N- q  h0 u* L4 y  W# e+ l
  27.         }
複製代碼
替换为:
' E1 }+ @4 L8 \; h2 M
/ [( N* G! Y' @6 \' d
  1.   private function _xss_check() {" `% d7 {; T5 b, L1 d" t
  2.     $temp = strtoupper(urldecode(urldecode($_SERVER['REQUEST_URI'])));
    , w; U# {! E6 ]  O- H7 y
  3.     if(strpos($temp, '<') !== false || strpos($temp, '"') !== false || strpos($temp, 'CONTENT-TRANSFER-ENCODING') !== false) {
    1 d" b6 W: [* H) D2 e6 ?
  4.       system_error('request_tainting');
    & f0 _9 d5 a0 B* V5 B
  5.     }% j" S# F- c1 D- X! ^0 o# I
  6.     return true;! X. L; J- @  B
  7.   }
複製代碼
' i- S  F5 Z. D
后台更新缓存   ===>ok
$ K) q4 k% S) p& H/ `* F8 K但 有些 discuz代碼 內容在搜索結果內顯示,曝露在外,是不正常(會員搜索無此問題) ,研究中
1 z  c0 n* s1 w  i9 q* k
' k, h3 P2 P; P7 I3 s
4 r' W6 n* ~4 ]2 A




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