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

太原seo整站优化化妆品公司网站模板

太原seo整站优化,化妆品公司网站模板,潮流设计网站,数据库重置密码后WordPress出错目录 一、题目引入 二、举出回溯例子进行分析 第一步#xff1a; 正则往前匹配 第二步#xff1a;匹配到头 第三步#xff1a;往回匹配 第四步#xff1a;直到分号结束 #xff08;匹配上#xff09; 原因#xff1a; 三、进入正题一#xff08;分析题型#…目录 一、题目引入 二、举出回溯例子进行分析 第一步 正则往前匹配 第二步匹配到头 第三步往回匹配  第四步直到分号结束 匹配上 原因 三、进入正题一分析题型 四、进入正题二分析题型 一、题目引入 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.ho-use.cn/article/10824311.html

相关文章:

  • 网站开发项目组成员广州市建设工程安监站网站
  • 兴仁市建设局网站wordpress 两个网站吗
  • 网站建设flash抖音代运营推广
  • 华为网站建设费用做淘宝返利网站能挣钱
  • 做黑枸杞的公司网站wordpress打字不显示
  • 目标网站都有哪些内容开发板的作用
  • 深圳网站系统找哪里下载站cms
  • 美食网站建设书上海市2022进博会
  • 上海网站怎么备案网站规划详细设计怎么写
  • 咖啡公司网站建设策划书做推广网站哪家好
  • 网站做任务领q币移动端应用开发
  • 网站建设规划书txt微盘企业邮箱个人注册
  • html代码表白烟花特效好口碑关键词优化地址
  • 报表网站建设做设计应该看哪些网站
  • ai人工智能写作网站免费做网站的网站
  • 毕业设计做的网站抄袭html代码加密
  • 教育类网站模板微信小程序怎么批量删掉
  • 有做网站运营的吗电子商务工作室经营范围
  • 石家庄设计网站公司营销微网站建设公司
  • 如何做网站的301重定向私密浏览器免费版在线看视频
  • 山东网站建设开发上海做推广网站
  • 建怎样的网站挣钱快一号网站建设
  • 家里的电脑ip做网站北京最新发布会直播
  • 网站搭建网手机商城设计
  • 青海省建设厅网站微网站开发与制作个人总结
  • 做网站最好的wordpress 8个安全密匙
  • 电子配件 技术支持 东莞网站建设wordpress 关联文章
  • 无锡优化网站费用输入姓名查询个人征信
  • 通过模版做网站电商企业有哪些
  • 成都网站建设找亮帅wordpress主题加授权方式