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

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

作者: IT_man    時間: 2015-3-23 16:24
標題: 遊客站內搜尋的錯誤
本帖最後由 IT_man 於 2015-3-23 16:27 編輯
8 o. m5 L9 R2 k( m. F* W5 y8 v& [( [  Y7 s7 I$ L  q* j
遊客站內搜尋時出現 error message :
! m5 t! G9 G" e, a& p$ f8 Z: |  M! ?; |6 e7 f" M
2 M& L( A1 o7 W4 C! h2 ?5 H5 X' S  R

/ H- `+ e& D9 p3 W6 ]$ q) X" h  X
sol:
% I: Z- m2 C) T9 J! A7 j: x  l\source\class\discuz的discuz_application.php  約第350行
( K2 X4 I+ b$ n& a( t! z% X查找" ~, \( p6 G' P. l0 a
  1.         private function _xss_check() {
    2 J  x3 ^/ D( R( f/ Q9 K* w
  2. ' E) N% D& J: v/ X$ x( Q, l, T
  3.                 static $check = array('"', '>', '<', '\'', '(', ')', 'CONTENT-TRANSFER-ENCODING');6 A7 X& t5 G9 p8 d% ?
  4. ; J8 z! k, Q/ }1 m2 ]: y' B. f
  5.                 if(isset($_GET['formhash']) && $_GET['formhash'] !== formhash()) {0 G9 @0 C. P, E
  6.                         system_error('request_tainting');# q- X- J( ^9 x9 {, `# M. Z! Z
  7.                 }1 H+ A& h0 Y& J5 r( ^# E
  8. $ B7 r& M; @5 d. h; F$ w' K
  9.                 if($_SERVER['REQUEST_METHOD'] == 'GET' ) {, ?* ], L! O+ [2 u4 U
  10.                         $temp = $_SERVER['REQUEST_URI'];6 K! `& a4 H8 ?) h- ]+ p% j5 F. J
  11.                 } elseif(empty ($_GET['formhash'])) {
    ! p: T) h, e. V7 ]9 K0 F; c
  12.                         $temp = $_SERVER['REQUEST_URI'].file_get_contents('php://input');
    8 S* {7 r, R9 y4 j" u) c) U, W# I
  13.                 } else {
    , J  F0 ~: R: c1 H
  14.                         $temp = '';
    & C0 q( Z& q) X( _
  15.                 }0 R6 [% n' x' y/ t$ D

  16. ) Y" D; M7 a( R0 x# A& W
  17.                 if(!empty($temp)) {
    ; a# o; B' Y; _# I8 S
  18.                         $temp = strtoupper(urldecode(urldecode($temp)));0 b8 o# r5 T: G( ~
  19.                         foreach ($check as $str) {
    9 @, ]. x+ ]5 c
  20.                                 if(strpos($temp, $str) !== false) {) X! {- s, m% a: b  f5 U) ^3 v
  21.                                         system_error('request_tainting');
    $ w/ @* H2 Z' t! n! U
  22.                                 }
    . Y, V9 S' H& Y' S1 S4 a7 d
  23.                         }  ^0 I: \0 ~" @2 C
  24.                 }3 E: m1 E6 ~; p1 T$ g% S
  25. " Z4 {* T3 P4 c0 Y# N
  26.                 return true;
    0 [# C) T- \" O4 V5 k8 F
  27.         }
複製代碼
替换为:
. Y  v0 W. K9 `5 W+ u! z# R. W! F, U
  1.   private function _xss_check() {
    : O' u6 l+ C) i( g( o
  2.     $temp = strtoupper(urldecode(urldecode($_SERVER['REQUEST_URI'])));
    5 H' M' y. m% _# U
  3.     if(strpos($temp, '<') !== false || strpos($temp, '"') !== false || strpos($temp, 'CONTENT-TRANSFER-ENCODING') !== false) {+ B( x4 U* o9 k7 Z
  4.       system_error('request_tainting');; |1 R' e! J2 P7 g, P
  5.     }
    * I0 q) x! n+ a
  6.     return true;9 b. T) k) K0 L+ }+ `- e4 a
  7.   }
複製代碼
$ h, l1 p* c' _$ f* ~0 n
后台更新缓存   ===>ok. E6 _+ Y$ k3 Z: ?) o' b
但 有些 discuz代碼 內容在搜索結果內顯示,曝露在外,是不正常(會員搜索無此問題) ,研究中
7 t  o+ \4 I2 _* @
/ Y% `9 ?' V; K" G1 k0 E: T% @/ X$ C+ F





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