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

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

作者: IT_man    時間: 2015-3-23 16:24
標題: 遊客站內搜尋的錯誤
本帖最後由 IT_man 於 2015-3-23 16:27 編輯
. ~* `8 r. y. z; e& a" c5 M" W' i# L* [, |) B( i) ]. T  d  w, b( g+ N* \" f
遊客站內搜尋時出現 error message :
, m9 t6 D7 E/ f3 T
3 P, g6 h, _' K  Y) X 0 |1 k: x1 e( y2 [7 A. @
8 f' |+ S) N" @" F1 i
- ?/ G: X2 a$ }: ]* a1 e( z9 g
sol:9 H  M3 r* V! N
\source\class\discuz的discuz_application.php  約第350行- E1 U. F+ R! L+ c$ x/ l# Z5 E
查找( @6 O  r0 `* A+ g' l2 R- l( I
  1.         private function _xss_check() {
    ) @, m4 J& ~0 P+ ~

  2. + m8 e4 u8 M1 C$ M. w
  3.                 static $check = array('"', '>', '<', '\'', '(', ')', 'CONTENT-TRANSFER-ENCODING');
    0 I8 B- _! J1 n4 ]- n3 X! n8 P- d
  4. 5 v2 a3 r; G0 n9 t
  5.                 if(isset($_GET['formhash']) && $_GET['formhash'] !== formhash()) {
    # @( M" O/ @/ ?/ k9 K2 V
  6.                         system_error('request_tainting');1 N; k5 v& B* E* o- a2 [
  7.                 }
    7 t8 L9 J* I, ~9 R7 m, r

  8. ! O) S5 G! m, }- `9 m: ]$ i
  9.                 if($_SERVER['REQUEST_METHOD'] == 'GET' ) {
    , _3 i+ g5 v. y3 |) _
  10.                         $temp = $_SERVER['REQUEST_URI'];$ X* x, [1 l2 R6 }, h  p% n
  11.                 } elseif(empty ($_GET['formhash'])) {
    * D8 P5 v, |8 V
  12.                         $temp = $_SERVER['REQUEST_URI'].file_get_contents('php://input');# ]. {7 d2 T* A4 i  M* ^
  13.                 } else {2 F* m) k, v# M: B2 g
  14.                         $temp = '';8 |' H# \; Y5 z: l. f0 B
  15.                 }" Y8 J& W( t7 ?9 i  L

  16. 2 i% e+ e( U* I4 u) Y# O: c3 {
  17.                 if(!empty($temp)) {
    / O+ a" V& P2 r2 G8 D1 y; G
  18.                         $temp = strtoupper(urldecode(urldecode($temp)));) b+ j5 y! ?% X9 ]  t9 D
  19.                         foreach ($check as $str) {
    . C6 Z: `* w7 l# X; I/ C! a
  20.                                 if(strpos($temp, $str) !== false) {
    6 Y  L% r5 @! `0 s; W: ~  }
  21.                                         system_error('request_tainting');
    # V. E7 M$ f3 y# ~% d
  22.                                 }& p3 |0 H5 v7 N" f# t
  23.                         }
    " {9 L( P5 @. i+ M8 j9 f
  24.                 }; Y0 x3 w* [# C: v4 v& m9 `! C: s

  25. 8 c; M% @- E# q9 v1 N8 o0 ?2 O
  26.                 return true;# q8 k7 ]1 V; w8 d* V1 A! \8 `
  27.         }
複製代碼
替换为:6 s) a% D( s+ Y) _: W
( ~+ h+ p- n  J, K# f. T. D: H& T
  1.   private function _xss_check() {0 p  e! {; x' H+ {: A3 C
  2.     $temp = strtoupper(urldecode(urldecode($_SERVER['REQUEST_URI'])));
    / @/ @& d. C3 e7 S8 ~: _
  3.     if(strpos($temp, '<') !== false || strpos($temp, '"') !== false || strpos($temp, 'CONTENT-TRANSFER-ENCODING') !== false) {$ r( Q7 T3 t& I/ F
  4.       system_error('request_tainting');
    , H: |: F. x* F
  5.     }
    + e& J/ h; K- G$ H7 r
  6.     return true;
    ! W% D  B. o9 X
  7.   }
複製代碼
- q+ `# `$ S+ _) n8 P9 ^
后台更新缓存   ===>ok
6 z  q: F' A, k& H, ~0 [但 有些 discuz代碼 內容在搜索結果內顯示,曝露在外,是不正常(會員搜索無此問題) ,研究中
* B+ p1 w' s3 N' i  Q  F
3 i7 V. N9 T, P) ~/ p' J! L6 S4 U" K1 {, }$ v8 b- p8 z





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