当前位置: 首页 > news >正文

做赚钱问卷调查的网站烟台开发区建设局网站

做赚钱问卷调查的网站,烟台开发区建设局网站,毕业设计网站选题,wordpress数据库结构目录 一、题目引入 二、举出回溯例子进行分析 第一步#xff1a; 正则往前匹配 第二步#xff1a;匹配到头 第三步#xff1a;往回匹配 第四步#xff1a;直到分号结束 #xff08;匹配上#xff09; 原因#xff1a; 三、进入正题一#xff08;分析题型#x…目录 一、题目引入 二、举出回溯例子进行分析 第一步 正则往前匹配 第二步匹配到头 第三步往回匹配  第四步直到分号结束 匹配上 原因 三、进入正题一分析题型 一、题目引入 PHP利用PCRE回溯次数限制绕过某些安全限制大意是判断一下用户输入的内容有没有 PHP 代码如果没有则写入文件 ?php function is_php($data){ return preg_match(/\?.*[(;?].*/is, $data); } ?php eval()if(!is_php($input)) {// fwrite($f, $input); ... } 二、举出回溯例子进行分析 \?.*[(;?].* 第一步 正则往前匹配 第二步匹配到头 第三步往回匹配  第四步直到分号结束 匹配上 原因 PHP 为了防止正则表达式的拒绝服务攻击reDOS给 pcre 设定了一个回溯次数上限 pcre.backtrack_limit。100万次 三、进入正题一分析题型 PHP文件如下所示 ?php // greeting[]Merry Christmasgreeting[]123 function areyouok($greeting){return preg_match(/Merry.*Christmas/is,$greeting); //正则匹配 } // greeting[]123 // $greeting$_POST[greeting];if(!areyouok($greeting)){// NULL ! false// Null ! false// null ! false// strposif(strpos($greeting,Merry Christmas) ! false){ //字符查找如果查找到返回字符的位置没有就返回falseecho welcome to nanhang. .flag{i_Lov3_NanHang_everyThing};}else{echo Do you know .swp file?;} }else{echo Do you know PHP?; }解析strpos判断字符串位置str字符串position判断字符串位置 在分析代码的时候我们陷入了有和不有的矛盾 这是我们会陷入走不进if的矛盾中有人便会提出那我匹配为greetingMerry Christmas不就可以了而结果却是第一个if都无法进入 经过思考我们传入一个数组而这样我们就拿下了那么我们就要思考这个数组有什么含义 分析strpos它是用来对比字符串的而我们传入了一个数组这个时候传入的数值就会变为NULL进而与我们的false比较只有为真才会继续往下传 passfalse中一个等号和两个等号的区别一个等号不是严格的比对在数值类型下为弱类型转换都可以转换为0两个等号没有弱类型转换是严格不相等因此会继续匹配 四、进入正题二分析题型 ?php // 利用回溯绕过正则表达式 //正则匹配有次数限制 他怕dos攻击 // 100万次 回溯 // var_dump(ini_get(pcre.backtrack_limit)); // greeting[]Merry Christmasgreeting[]123 // var_dump(ini_get(pcre.backtrack_limit)); // var_dump(strpos([aaaa],Merry Christmas)); // var_dump(NULL ! false); function areyouok($greeting){return preg_match(/Merry.*Christmas/is,$greeting); }// 回溯的问题 $greeting$_POST[greeting]; if(!is_array($greeting)){if(!areyouok($greeting)){// strpos string postionif(strpos($greeting,Merry Christmas) ! false){echo Merry Christmas. .flag{i_Lov3_NanHang_everyThing};}else{echo Do you know .swp file?;}}else{echo Do you know PHP?;} } else {echo fuck array!!!; } ?此段代码升级给代码中加入了判断if(!is_array($greeting))会先判断数组此时我们就该去烤炉回溯的问题 思路输入一个字符串后面跟上一百万个字符因为回溯限制的问题匹配一百万次后就会传入参数匹配前面的字符串而前面是有字符串的那么就为Ture那么就能传入成功
http://www.zqtcl.cn/news/41473/

相关文章:

  • 网站后台样式模板wordpress cathy主题
  • 做网站论文安卓软件下载用什么好
  • 用vs2008做网站视频教程高密市建设局网站
  • 网站网站制作网站的node.js wordpress
  • 青岛响应式网站开发电商平台运营方案
  • 提供网站推广公司电话公司网站标题优化
  • 网站建设免费制作兰州网页设计最新招聘信息
  • 怎样做网站3天赚100万济南做网站的高端品牌
  • wordpress影视网站ip形象设计排版
  • 网站开发吧杭州市住房和城乡建设部网站
  • 全屏网站模板网站开发定制合同
  • 中国建设会计学网站公司网站建设30元
  • 监理网站廊坊市做网站
  • 阿里云云市场网站建设代理网约车平台赚钱吗
  • 怎么样备份网站数据专业的推广公司
  • 2018做网站还赚钱吗黄页推广app软件
  • 网站需要哪些东西wordpress阿里百变xiu主题
  • 建个站的网站打不开wordpress user_activation_key
  • 深圳知名网站建设公司政务微网站建设方案
  • 对网站建设有什么样意见外包公司和劳务派遣哪个好一点
  • 怎么做动漫照片下载网站最火的网页游戏排行
  • 门户网站 营销云南省建设项目申报网站
  • 互动网站开发朝阳区外贸公司有哪些
  • 郑州百度网站优化排名怎么发布自己的网站
  • 网站建设 租赁手机网页链接制作生成
  • 网站商城功能模块十大it外包公司
  • 一_建设网站前的市场分析免费网站模板无需注册
  • 网站制网站制作公司网站建站专家
  • 企业官网建设_创意网站建设ps做网站首页的尺寸
  • 在线做带字头像的网站android sdk