bugku 字符正则
字符?正则?
<?php
highlight_file('2.php');
$key='KEY{********************************}';
$IM= preg_match("/key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]/i", trim($_GET["id"]), $match);
if( $IM ){
die('key is: '.$key);
}
?>
一。先看最外边的//i,//代表定界符,你限定的条件都在这个定界符里面,i是不区分大小写
二。来看 /key 首先就是得有key这三个字母,不一定是一开始就是key ?id=key
三。 /key.* 这里的.是可以匹配任何字符,所以你随便打个就行,我这里打的a,又因为后边有个 *(匹配前边的字母0次或者多次),所以你可以继续多打几个啊或者不打 ?id=keyaa
四。/key.*key, 继续分析,多加了个key, ?id=keyaakey,继续往后 /key.*key.{4,7} 代表任意匹配一个字符并且出现4-7次,那就打四个a好了 ?id=keyaakeyaaaa
五。/key.*key.{4,7}key: 加上 key: ?id=keyaakeyaaaakey:
六:/key.*key.{4,7}key:\/.\/ \代表了转义,所以/不在代表了界定符,直接看成/./ 所以/a/即可,?id=keyaakeyaaaakey:/a/
七:/key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]] (.*key) => akey [a-z]代表随便一个小写字母,a就可以,后边那个是标点符号,比如, ?id=keyaakeyaaaakey:/a/akeya,
bugku 字符正则的更多相关文章
- CTF | bugku | 字符?正则?
做题链接 一个详细讲正则的网址1 一个详细讲正则的网址2 代码如下 <?php highlight_file('2.php'); $key='KEY{********************** ...
- C#高级编程笔记 (6至10章节)运算符/委托/字符/正则/集合
数学的复习,4^-2即是1/4/4的意思, 4^2是1*2*2的意思,而10^-2为0.01! 7.2运算符 符号 说明 例 ++ 操作数加1 int i=3; j=i++; 运算后i的值为4,j ...
- js 常用字符正则匹配
写代码时需要js验证密码,百度到的验证方法,图方便保存收藏,如感兴趣请移步原博主博文!http://blog.csdn.net/x_i_y_u_e/article/details/47730135 1 ...
- 移动前端手机输入法自带emoji表情字符处理
今天,测试给我提了一个BUG,说移动端输入emoji表情无法提交.很早以前就有思考过,手机输入法里自带的emoji表情,应该是某些特殊字符.既然是字符,那应该都能提交才对,可是为啥会被卡住呢?搜了一下 ...
- PHP函数preg_replace() 正则替换所有符合条件的字符串
PHP preg_replace() 正则替换,与JavaScript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素. preg_replace (正则表达式 ...
- Sed替换行和字符shell
1.在某一行后面追加一行 RD=2000sed -i '/ssi_types/ a\limit_req zone=lreq burst='$RD';' /opt/bee.location 2.替换字符 ...
- PHP preg_replace() 正则替换所有符合条件的字符串示例
PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素. 需要用程序处理的数据并不总是预先以数 ...
- 【转】移动前端手机输入法自带emoji表情字符处理
http://blog.csdn.net/binjly/article/details/47321043 今天,测试给我提了一个BUG,说移动端输入emoji表情无法提交.很早以前就有思考过,手机输入 ...
- [js笔记整理]正则篇
一.正则基本概念 1.一种规则.模式 2.强大的字符串匹配工具 3.在js中常与字符串函数配合使用 二.js正则写法 正则在js中以正则对象存在: (1)var re=new RegExp(正则表达式 ...
随机推荐
- Vue.js系列之vue-resource(6)
网址:http://blog.csdn.net/u013778905/article/details/54235906
- 六、修改 IntelliJ IDEA 模板注释中的 user 内容
咱们进一步了解了 IntelliJ IDEA 的个性化设置功能,包括主题和字体的常用设置等,修改后,具体的效果,如下图所示: 观察上图,不知道大家有没有注意到:IntelliJ IDEA 自带模板注释 ...
- 【洛谷P3388】(模板)割点
[模板]割点 割点集合:一个顶点集合V,删除该集合的所有定点以及与这些顶点相连的边后,原图不连通,就称集合V为割点集合 点连通度:最小割点集合中的顶点数 边连通度:最小割边集合中的边数 割点:割点集合 ...
- 【luogu P3410 拍照】 题解
题目链接:https://www.luogu.org/problemnew/show/P3410 这个题就是求一个最大权闭合图 在一个图中,一些点构成一个集合,且集合中的出边指向的终点也在这个集合中, ...
- 【luogu P2341 [HAOI2006]受欢迎的牛】 题解
题解报告:https://www.luogu.org/problemnew/show/P2341 我们把图中的强连通分量缩点,然后只有出度为0的牛是受欢迎的,这样如果出度为0的牛只有一个,说明受所有牛 ...
- bootstrap-table表格导出
在bootstrap-table官网->拓展模块中有导出模块的详细介绍.网址:http://bootstrap-table.wenzhixin.net.cn/zh-cn/extensions/ ...
- 匿名union
#include <stdio.h> enum node_type{ t_int,t_double}; struct node{ enum node_type type; ...
- Openresty最佳案例 | 第6篇:OpenResty连接Mysql
转载请标明出处: http://blog.csdn.net/forezp/article/details/78616698 本文出自方志朋的博客 centos 安装mysl Centos系统下安装my ...
- CentOS 7安装Oracle (CentOS Linux release 7.5.1804)
从安装操作系统到完成oracle安装 1.安装centos7 下载CentOS7 iso安装包,配置虚拟机,由于只进行oracle安装练习,随便配置20G空间.选择安装文件. 开机,开始安装系统: 直 ...
- flex布局——回顾
flex 即为弹性布局. 任何一个容器都可以指定为flex布局. .box{display:flex} 行内元素可以使用flex布局 .box{display: inline-flex} webkit ...