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

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

作者: IT_man    時間: 2015-3-23 16:24
標題: 遊客站內搜尋的錯誤
本帖最後由 IT_man 於 2015-3-23 16:27 編輯
3 ]8 T: c5 h# O/ d% q* X: C
! n! q% O3 \6 D6 U* w遊客站內搜尋時出現 error message :
$ C" Q/ b& n: L: X5 A* ~+ c8 N( F# l( @4 W
& D7 @6 h$ C" t' B: }
' |" f" ^' u$ ?* `) x' Z8 h
/ ~, k8 [; `8 ]' F& G
sol:
$ q7 h) w# y) f8 q\source\class\discuz的discuz_application.php  約第350行
9 O  g% U& o& P) a! ~查找
+ h5 W: L0 s0 W% l6 f
  1.         private function _xss_check() {
    + v3 j$ y3 u5 |, I0 ?/ M' |: Y; @% s

  2. . w8 o/ k; e! p$ L& z% W
  3.                 static $check = array('"', '>', '<', '\'', '(', ')', 'CONTENT-TRANSFER-ENCODING');: ~6 K1 T& n+ D7 D: a1 ^
  4. 6 M+ F+ e/ V2 S1 b
  5.                 if(isset($_GET['formhash']) && $_GET['formhash'] !== formhash()) {) y7 L9 j5 e, Z: C3 M" T
  6.                         system_error('request_tainting');
    5 V  `$ ]5 W1 r
  7.                 }' S( y7 v! o& D5 f$ X& `
  8. ) z0 {6 v# P7 h  S
  9.                 if($_SERVER['REQUEST_METHOD'] == 'GET' ) {
    8 w5 o/ r7 B+ T  r
  10.                         $temp = $_SERVER['REQUEST_URI'];
    2 S: H& r& L8 P& }0 A. K' N
  11.                 } elseif(empty ($_GET['formhash'])) {
    ; @" l, Y$ `# f# ^* H
  12.                         $temp = $_SERVER['REQUEST_URI'].file_get_contents('php://input');
    5 v# A* h/ H3 F9 P
  13.                 } else {
    ' _: x6 k+ ~& ^! {" J+ n
  14.                         $temp = '';
    ) s) g" g5 }/ [
  15.                 }
    1 |' ]8 r5 u- Y: M+ U

  16. 3 g( M+ b# O) d% Q' z2 j
  17.                 if(!empty($temp)) {/ l$ g' M2 C$ [
  18.                         $temp = strtoupper(urldecode(urldecode($temp)));
    . O  |5 z( D9 O2 K' Q
  19.                         foreach ($check as $str) {
    ; ?0 D$ c7 @: o, \7 S4 s( B
  20.                                 if(strpos($temp, $str) !== false) {
    # m0 v7 J3 r3 u, D' {$ N% t
  21.                                         system_error('request_tainting');
    , A# K6 i4 q& \
  22.                                 }* d9 y# S1 S) y: R/ z  W
  23.                         }
    8 {3 V- X( @- R; m" |
  24.                 }
    1 o2 u' Y( L. M( @
  25. " P* q/ r! H5 Q% z2 e" A
  26.                 return true;
    6 o! g7 V, e( V8 e
  27.         }
複製代碼
替换为:
5 P8 K& k4 v2 B. {
8 D+ V* v3 I. a+ h' j
  1.   private function _xss_check() {: I! Z0 x; E% ~: {6 v) O. ^' P. a
  2.     $temp = strtoupper(urldecode(urldecode($_SERVER['REQUEST_URI'])));
    8 X* c: x. s: n0 s4 G
  3.     if(strpos($temp, '<') !== false || strpos($temp, '"') !== false || strpos($temp, 'CONTENT-TRANSFER-ENCODING') !== false) {, i: q! j7 L& z5 O
  4.       system_error('request_tainting');% J0 j, b0 X+ q# _) _. k
  5.     }) _# K% M2 L: ?1 S3 N5 A9 F/ R
  6.     return true;
    * s1 l8 D3 g9 d/ D
  7.   }
複製代碼

5 N% i9 o% ]7 A3 Z$ i. M* }后台更新缓存   ===>ok
* w- ?" w: A3 u3 P4 i' b. _( o9 P但 有些 discuz代碼 內容在搜索結果內顯示,曝露在外,是不正常(會員搜索無此問題) ,研究中1 }9 j; {0 p% [+ T8 D, N* W& b

8 d0 {  w: i$ ?. {/ X
7 {& |; b7 L- q0 _- r2 ^$ ~+ V




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