加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

PHP利用PCRE回溯次数限制绕过某些安全限制

发布时间:2018-12-19 15:47:35 所属栏目:业界 来源:phithon
导读:这次 Code-Breaking Puzzles 中我出了一道看似很简朴的标题pcrewaf,将其代码简化如下: ?php functionis_php($data){ returnpreg_match('/?.*[(`;?].*/is',$data); } if(!is_php($input)){ //fwrite($f,$input);... } 大意是判定一下用户输入的内容有没

回溯次数跟着 a 的数目增进而增进。以是,我们如故可以通过发送大量 a,来使回溯次数超出 pcre.backtrack_limit 限定,进而绕过 WAF:

PHP操作PCRE回溯次数限定绕过某些安详限定

五、修复要领

那么,怎样修复这个题目呢?

着实假如我们细心调查 PHP 文档,是可以看到 preg_match 函数下面的告诫的:

PHP操作PCRE回溯次数限定绕过某些安详限定

假如用 preg_match 对字符串举办匹配,必然要行使===全等号来判定返回值,如:

  1. <?php 
  2. function is_php($data){   
  3.     return preg_match('/<?.*[(`;?>].*/is', $data);   
  4.  
  5. if(is_php($input) === 0) { 
  6.     // fwrite($f, $input); ... 

这样,纵然正则执行失败返回 false,也不会进入 if 语句。

【编辑保举】

  1. 白山云科技合资人丛磊:AI从头界说Web安详
  2. 倾覆传统安详方法,AI从头界说Web安详
  3. 浅谈Web安详验证码
  4. CSRF进攻与防止,Web安详的第一防地(源码,拭魅战,5分钟科普文)
  5. 你不知道这10个Web安详裂痕,就别说本身是黑客
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读