成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一段困擾許久的防注入代碼

安全 網站安全
第一次看到safe3的防注入代碼,花了不少時間去研究如何繞過,我在筆記里記下了一句話:如果正面懟正則,實在想不到繞過的方式。

本文轉載自微信公眾號「Bypass」,作者Bypass。轉載本文請聯系Bypass公眾號。

有段時間一直熱衷于研究各種waf繞過,一般來說,云WAF可以通過找到網站真實IP來繞過,硬件waf也常因為HTTP協議解析差異導致繞過,但是,代碼層的防護往往只能從代碼邏輯里尋找繞過思路。

在一些網站通常會在公用文件引入全局防護代碼,因此,我收集了網絡上常見的PHP全局防護代碼進行分析。第一次看到safe3的防注入代碼,花了不少時間去研究如何繞過,我在筆記里記下了一句話:如果正面懟正則,實在想不到繞過的方式。

直到前幾天,我在T00LS論壇里看到有人也問起了同一段防注入代碼的繞過方式,在這個帖子的回復了看到了一個繞過姿勢。這也正是安全社區最大的魅力,你總會在別人的回復里找到很有意思的思路或技巧。

繞過思路

利用preg_match函數正則匹配的字符串長度限制繞過,PHP5.3之前preg_match函數閾值默認為10w,PHP5.3開始默認值為100w。

測試情況

(1) safe3 防注入代碼

  1. <?php 
  2. //Code By Safe3  
  3. ini_set('date.timezone','Asia/Shanghai'); 
  4. function customError($errno, $errstr, $errfile, $errline) 
  5.     echo "<b>Error number:</b> [$errno],error on line $errline in $errfile<br />"; 
  6.     die(); 
  7. set_error_handler("customError",E_ERROR); 
  8. $getfilter="'|select|from|(and|or)\\b.+?(>|<|=|in|like)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)"
  9. $postfilter="\\b(and|or)\\b.{1,6}?(=|>|<|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)"
  10. $cookiefilter="\\b(and|or)\\b.{1,6}?(=|>|<|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)"
  11. function StopAttack($StrFiltKey,$StrFiltValue,$ArrFiltReq){ 
  12.  
  13.     if(is_array($StrFiltValue)) 
  14.     { 
  15.         $StrFiltValue=implode($StrFiltValue); 
  16.     } 
  17.     if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue)==1){ 
  18.         slog("<br><br>操作IP: ".$_SERVER["REMOTE_ADDR"]."<br>操作時間: ".strftime("%Y-%m-%d %H:%M:%S")."<br>操作頁面:".$_SERVER["PHP_SELF"]."<br>提交方式: ".$_SERVER["REQUEST_METHOD"]."<br>提交參數: ".$StrFiltKey."<br>提交數據: ".$StrFiltValue); 
  19.         @header("http/1.1 404 not found");  
  20.         print "<html><title>404: Not Found</title>"; 
  21.         //slog("<br><br>操作IP: ".$_SERVER["REMOTE_ADDR"]."<br>操作時間: ".strftime("%Y-%m-%d %H:%M:%S")."<br>操作頁面:".$_SERVER["PHP_SELF"]."<br>提交方式: ".$_SERVER["REQUEST_METHOD"]."<br>提交參數: ".$StrFiltKey."<br>提交數據: ".$StrFiltValue); 
  22.         print "<body>Url里含有非法字符串,屬于有誤操作!... <a href='/'>您還可以返回首頁</a></body></html>"; 
  23.   ;exit(); 
  24.     } 
  25. //$ArrPGC=array_merge($_GET,$_POST,$_COOKIE); 
  26. foreach($_GET as $key=>$value){ 
  27.     StopAttack($key,$value,$getfilter); 
  28. foreach($_POST as $key=>$value){ 
  29.     StopAttack($key,$value,$postfilter); 
  30. foreach($_COOKIE as $key=>$value){ 
  31.     StopAttack($key,$value,$cookiefilter); 
  32. function slog($logs) 
  33.     $toppath=$_SERVER["DOCUMENT_ROOT"]."/log.htm"; 
  34.     $Ts=fopen($toppath,"a+"); 
  35.     fputs($Ts,$logs."\r\n"); 
  36.     fclose($Ts); 
  37. ?> 

(2) 構建一個sql注入點

在頁面中引入防注入代碼:

  1. require_once('360_safe3.php'); 

當參數中拼接sql語句時,觸發關鍵字正則匹配導致攔截。

 

(3) 繞過姿勢

PHP測試版本:5.2.17

當填充字符串超過10w的時候,可以繞過防注入代碼,獲取數據庫信息。

PHP測試版本:5.3.29

當填充字符串超過100w的時候,可以繞過防注入代碼,獲取數據庫信息。

 

責任編輯:趙寧寧 來源: Bypass
相關推薦

2022-06-21 12:27:12

JavaScript前端

2010-09-14 19:50:55

2014-07-08 09:21:10

死代碼創意歌曲

2018-06-19 08:02:00

統計程序微信

2018-11-02 16:16:41

程序硬盤存儲

2021-02-04 07:55:28

代碼離職互聯網

2018-06-23 08:02:31

程序員代碼故事

2015-03-27 11:34:59

JavaJava編寫引發內存泄露

2021-10-28 19:35:02

代碼main方法

2020-04-03 10:14:57

內存蠕蟲代碼web安全

2020-10-26 10:11:45

Jupyter Not早起Python開發

2020-12-16 07:42:03

JS基礎代碼

2020-02-07 08:00:29

代碼Java8Bug

2020-11-24 06:17:57

微信代碼移動應用

2014-03-21 09:58:08

比特幣

2019-06-19 10:57:48

新人入職代碼

2021-07-26 23:39:20

Java變量代碼

2014-09-09 14:47:20

2022-09-09 09:33:14

支付寶代碼性能

2020-05-29 08:14:49

代碼Try-Catch程序員
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费观看一级特黄欧美大片 | 国产高清视频一区 | 欧美日韩国产精品一区二区 | 一级黄a | 色久在线 | 国产成人99久久亚洲综合精品 | 日韩精品一区二区三区中文在线 | 自拍偷拍亚洲欧美 | 欧美日韩高清免费 | 黄频视频| 欧美日韩免费视频 | 亚洲一区二区免费 | 韩三级在线观看 | 日韩一级免费电影 | 国产精品一区二区不卡 | 久久精品91久久久久久再现 | 午夜视频在线免费观看 | 午夜影院黄 | 午夜一区二区三区在线观看 | 国产日韩久久 | 日本欧美视频 | 成人国产在线视频 | 免费观看一级黄色录像 | 亚洲欧洲一区二区 | 日本高清中文字幕 | 欧美专区在线 | 欧美日本久久 | 美女视频黄的 | 国产精品久久久久久久久动漫 | 久久精品亚洲精品国产欧美kt∨ | 天天操天天射综合网 | 久久不卡| 日韩资源| 91大神xh98xh系列全部 | 国产玖玖| 国产精品日产欧美久久久久 | 999久久久国产精品 欧美成人h版在线观看 | 久久久久国产精品 | 亚洲一区二区中文字幕 | 亚洲欧美日韩在线不卡 | 成人在线免费网站 |