这次 Code-Breaking Puzzles 中我出了一道看似很简单的题目pcrewaf,将其代码简化如下:
其中字符串 '/apple/' 就是一个正则表达式, 他用来匹配源字符串中是否存在apple字符串。
1、正则表达式中包含三种元素分别为:量词、元字符、修饰符 2、前导字符串:就是符号前面的一个字符或字符串
正则表达式 1、正则表达式中包含三种元素分别为:量词、元字符、修饰符 2、前导字符串:就是符号前面的一个字符或字符串 量词 说明 + 匹配任何至少包含一个前导字符串 * 匹配任何包含零个或多个前导字符
正则表达式是一种可以用来匹配字符串的模式。在PHP中,可以使用preg_match()函数来使用正则表达式进行匹配。preg_match()函数接受两个参数,第一个参数是正则表达式,第二个参数是要匹配的字符串。它返回匹配成功的次数,如果匹配失败则返回0。
所以如果我们直接传CTF_SHOW.COM是会被转换成CFT_SHOW_COM的,绕过的话这里要利用它的判定规则,当变量名中存在两个不合法字符时,只转换前面的那一个。[和.并存时,会转换前面的[,而[转换之后恰好为_,从而可以绕过。
2、匹配函数 preg_match(’/php/’,php) 参数1 模式 参数2 字符串
这两天工作用到了正则表达式,发现自己已经忘记的差不多了,囧啊!找来以前的学习笔记,好好看了一下,又巩固了这些知识,工作算是完成了,不过正则要学的东西还是蛮多的,以下是整理的以前的笔记和一些实例!
对于开发人员来说,正则表达式是一个非常有用的功能,它提供了 查找,匹配,替换 句子,单词,或者其他格式的字符串。这篇文章主要介绍了15个超实用的php正则表达式,需要的朋友可以参考下。在这篇文章里,我已经编写了15个超有用的正则表达式,WEB开发人员都应该将它收藏到自己的工具包。验证域名检验一个字符串是否是个有效域名.
在CTFShow的每周挑战中遇到了PHP无数字字母构造的一系列题目,做了做发现我这个菜鸡不怎么会,所以对此类题进行一个简单总结,希望能对正在学习的师傅有所帮助。
本文介绍一下ssrf的一个特性,是前端时间作UNCTF的赛题get到的新知识,以此来记录一下,不正确的地方还请各位师傅多多指正。
这是一个mysql的注入绕过类题目,相对来说是很简单的题目了,由于近来在学习基于正则的waf的绕过技巧,此处就拿此题作引子,引出下面的各种姿势吧.
通常我会使用常规的、显而易见的 PHP 函数来编写代码来解决相应的问题。但对于其中一些问题,我遇到了特别提高性能的替代解决方案。
这里考察的是 preg_match — 执行匹配正则表达式 这个表达式的匹配。我们可以参考官方文档
正则表达式,作为一种快速、便捷的处理字符串的工具,在各种编程语言中都有着广泛的用途,通过在PHP中的一些使用,下面记录一下关于PHP中正则使用的一些技巧。
正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真去阅读这些资料,加上应用的时候进行一定的参考,掌握正则表达式不是问题。
SQL注入的原因,表面上说是因为 拼接字符串,构成SQL语句,没有使用 SQL语句预编译,绑定变量。
POSIX 风格的,有些低版本软件支持,目前高版本的有些已经废弃不用了,比如 zend studio 的较新版本.
作者:matrix 被围观: 1,480 次 发布时间:2013-11-03 分类:零零星星 | 无评论 »
正则表达式学习笔记 (原创内容,转载请注明来源,谢谢) 首先,学习正则表达式,很推荐一篇博客,http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html,deerchao写的《正则表达式30分钟入门教程》,看完他的文章,基本上可以在实际中使用正则表达式,本文是结合此博客和一些其他书籍的内容的学习笔记。 一、基础内容 我认为的基础内容包括以下7点,掌握后可以使用正则匹配很多内容。 1、位置 正则
还有这个师傅的 《记一次拿webshell踩过的坑(如何用PHP编写一个不包含数字和字母的后门)》
无字母数字 Webshell 是个老生常谈的东西了,之前打 CTF 的时候也经常会遇到,每次都让我头大。由于一直没有去系统的研究过这个东西,今天就好好学习学习。
http://blog.evalbug.com/2015/11/10/different_arrays_compare_indentical_due_to_integer_key_truncation/
!preg_match('/^[a-zA-Z0-9]{2,16}$/') 只允许2~16位大小写字母及数字
最nb的是可以使用URL编码进行绕过,因为服务器会自动解一层url编码,所以可以对过滤掉的字符进行一次url编码
1.最左原则:正则表达式总是从目标字符串的最左侧开始,依次匹配,直到匹配到符合表达式要求的部分,或直到匹配目标字符串的结束。 2.最长原则:对于匹配到的目标字符串,正则表达式总是会匹配到符合正则表达式要求的最长的部分;即贪婪模式
1、正则表达式(Regular Expression,缩写为regexp,regex或regxp),又称正规表达式、正规表示式或常规表达式或正规化表示法或正规表示法,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串 。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容 。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的在正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。
num参数通过is_numeric函数的检测,并且不等于36,去空后依然不等于36,经过filter后等于36
之前学正则表达式的目的是想从网上抓取点小说啊,文档啊,还有获取相应的视频连接然后批量下载。当时初学PHP根本不知道PHP有专门抓包的工具,就像Simple_html_dom.php(在我的其他博文中有提到),之前根本就不知道有这东西,所以就自己废着劲去学习正则表达式,然后再学习PHP中正则表达式的函数是如何使用的,然后再分析自己要抓取的DOM,最后写自己的正则表达式,正则表达式,写着还可以,不过自己刚写完的正则表达式就可能看不出他是什么意思。 有种调侃正则表达式式的说法,把正则表达式叫做火星文。当第一
前言: 有好多小伙伴在爬虫的时候,或者其他情况下无法精确判断一个字符串是不是一个标准URL链接地址从而很费脑,下面我么看一下怎么判断URL的合法性。 以下代码均为PHP语言代码,但语言都是相通的。 第
在对于字符串的替换上,我们已经学过了不少的方法。但在做练习题的时候,我们会对多个字符串进行替换。从方法的实用性来说,str_replace就非常适合处理多个字符串的替换问题。下面我们就php中str_replace的概念、语法、参数、返回值进行讲解,然后带来替换的实例分享。
这里匹配了flag|system|php这三个字符串且不分大小写。payload还是可以用web29的
本文实例讲述了PHP切割汉字的常用方法。分享给大家供大家参考,具体如下: <?php /* @UTF-8编码的字符可能由1~3个字节组成。 */ /*-------------------------
根据红日安全写的文章,学习PHP代码审计的第五节内容,题目均来自PHP SECURITY CALENDAR 2017,讲完题目会用一道CTF的题目和实例来加深巩固。这是之前写的,有兴趣可以去看看: PHP代码审计01之in_array()函数缺陷 PHP代码审计02之filter_var()函数缺陷 PHP代码审计03之实例化任意对象漏洞 PHP代码审计04之strpos函数使用不当
PHP在处理正则表达式的时候,在最后面可以加上诸如/i, /is, /s, /isU的选项,他们都代表什么含义呢?
将a2V5cy50eHQ这个明显是Base64编码,进行解码知道是keys.txt,虽然不知道这个key.txt里面是什么,先复制出来。尝试用修改参数filename的值为index.php ,这个时候我们什么都看不到,
PHP是HTML语言的升级形式,语言结构仍然以HTML为核心。这么说吧,HTML是一张白纸,那么PHP就是一张白纸折起来的飞机。PHP比HTML功能更强。
正则对于新人来说是一个头疼的名字,让人闻而生畏。但是,在我看来,正则,并没有那么神秘,希望能通过这篇正则表达式入门教程解除正则新人对于正则的畏惧感。
1 GET 和 POST 都创建数组(例如,array( key = value, key2 = value2, key3 = value3, …))。此数组包含键/值对,其中的键是表单控件的名称,而值是来自用户的输入数据。
想要在计算机语言中使用正则表达式,那么这门计算机语言必须要利用正则引擎去实现相应的正则库。主要的正则引擎分为以下两类:
验证字符串是否只含数字与英文,字符串长度并在4~16个字符之间 <?php $str = 'a1234'; if (preg_match("^[a-zA-Z0-9]{4,16}$", $str))
xctf环境无法登录,此题先更到这里 我们可以先代码审计,环境好了再写 在结合我们刚开始找的源代码,就是上传文件的操作。
A. _SERVER[‘AGENT’];B. _SERVER[‘USER_AGENT’];C. _SERVER[‘HTTP_USER_AGENT’];D. _SERVER[‘HTTP_USER_AGENT_TYPE’];
preg_match('/ctfshow_i_love_36D/',serialize($_GET['ctfshow']))
知识点:代码审计,phpmyadmin任意文件包含漏洞 参考:phpmyadmin 4.8.1任意文件包含
流程控制中的 if 是比较简单的逻辑判断,但是在多条逻辑判断中很容易造成 if 嵌套,逻辑复杂度较高,让人感到十分混乱。
领取专属 10元无门槛券
手把手带您无忧上云