CTF | 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);
}
?>
我初次构造的payload:
keykeykeykeykey:/ /keya@i

解析:
key . * key . {4,7} key:\/ \/ ( . * key) [a-z] [[:punct:]]
‘key’+任意单个字符+零个或多个+‘key’+任意单个字符+长度4-7+‘key:/’+任意单个字符+ / +(任意单个字符+零个或多个+‘key’)+英文小写字母一个+匹配‘!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~.’中一个字符
payload最后面的 "i" 得益于 “preg_match函数的特性 ” ,这个 “i” 可有可无。
此外还有:
/i:表示匹配时不区分大小写,如URL的匹配
/u :表示按照unicode,UTF-8的规则匹配,如汉字的匹配
/s: 表示把字符串视作单行
一个更加简洁的payload:
keykey1234key:/1/keya@

CTF | bugku | 字符?正则?的更多相关文章
- bugku 字符正则
字符?正则? <?php highlight_file('2.php'); $key='KEY{********************************}'; $IM= preg_mat ...
- 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 ...
- http://ctf.bugku.com/challenges#Mountain%20climbing:bugku--Mountain-Climbing
分析这道题,爽,能够结合IDA和ollydbg分析代码,美滋滋.但如果以后能直接根据汇编容易地看懂逻辑那就更好了. 参考链接: https://blog.csdn.net/cossack9989/ ...
- http://ctf.bugku.com/challenges#love:bugku--love
做了一道逆向题目,主要关联到base64编码的知识点.下面做一分析. 题目如下: 通过测试,可知它没有加壳.尝试使用IDA进行分析. 1.IDA分析文件 打开文件后,按[shift+F12 ...
- http://ctf.bugku.com/challenges#%E9%80%86%E5%90%91%E5%85%A5%E9%97%A8:bugku--逆向入门
文件是: 分析挺简单,主要是data urls知识点. 首先使用peid检测是否加壳,发现它居然是jpg文件.使用notepad++查看,结果如下. 嗯,百度一下子,知道了data ...
- http://ctf.bugku.com/challenges#Timer(%E9%98%BF%E9%87%8CCTF):Bugku——Timer(阿里CTF)
做了第一个android apk逆向题,很多工具啥的还没用过,再接再厉. 找到方法发现这个apk支持的SDK API是15-17,于是就下载了API 16并制作了模拟器,但发现还是运行不起来, ...
- http://ctf.bugku.com/challenges#%E6%B8%B8%E6%88%8F%E8%BF%87%E5%85%B3--游戏过关
做成功这道逆向题了,哈哈哈哈. 启程. 运行了一下子程序,发现它是要保证所有灯亮着才会给flag.如下图所示. 我聪明滴认为首先可以通过关键字符串找到关键代码位置哦. 1.找到关键代码 ...
- http://ctf.bugku.com/challenges#Easy_Re
今天做一道逆向题,开心,见证了自己汇编的用途. 首先看它是否加壳? 1.加壳检测 是vc编程的,没有加壳,可以愉快地分析了. 2.分析程序,找到flag. 首先运行一下子程序, ...
- CTF | bugku | 秋名山车神
''' @Modify Time @Author ------------ ------- 2019/8/31 19:55 laoalo ''' import requests from lxml i ...
随机推荐
- 一个使用Spring的AspectJ LTW的简单例子
参考:Spring Framework Reference Documentation Spring AOP 实现原理与 CGLIB 应用 比较分析 Spring AOP 和 AspectJ 之间的差 ...
- POJ 3281 网络流 拆点保证本身只匹配一对食物和饮料
如何建图? 最开始的问题就是,怎么表示一只牛有了食物和饮料呢? 后来发现可以先将食物与牛匹配,牛再去和饮料匹配,实际上这就构成了三个层次. 起点到食物层边的容量是1,食物层到奶牛层容量是1,奶牛层到饮 ...
- spring-第五篇之spring容器中的bean
1.bean的基本定义和bean别名 2.容器中bean的作用域 singleton:单例模式,在整个spring IoC容器中,singleton作用域的bean将只生成一个实例. prototyp ...
- python学习三十三天函数匿名函数lambda用法
python函数匿名函数lambda用法,是在多行语句转换一行语句,有点像三元运算符,只可以表示一些简单运算的,lambda做一些复杂的运算不太可能.分别对比普通函数和匿名函数的区别 1,普通的函数用 ...
- C# IEnumerable与IQueryable ,IEnumerable与IList ,LINQ理解Var和IEnumerable
原文:https://www.cnblogs.com/WinHEC/articles/understanding-var-and-ienumerable-with-linq.html 使用LINQ从数 ...
- gcc版本切换
查看安装的gcc版本 sudo update--alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 100 显示所有版本gcc路径 sudo ...
- 源码分析--HashMap(JDK1.8)
在JDK1.8中对HashMap的底层实现做了修改.本篇对HashMap源码从核心成员变量到常用方法进行分析. HashMap数据结构如下: 先看成员变量: 1.底层存放数据的是Node<K,V ...
- 用vbs脚本简易实现 番茄工作法
番茄工作法: 专注于某一段时间,减少打断,提高时间的感知和掌控. 25min工作+5min休息 周期:4x(25+5)+20 VBS代码实现如下: Dim fso,f,count,time,shell ...
- BJSV-P-003高清智能卡口系统
高清智能卡口系统 捕获率99%,车牌识别率98% ■ 道路安装示意图 ■ 系统结构 ■ 抓拍实例 北京太速科技有限公司在线客服:QQ:448468544 淘宝网站:orihard.tao ...
- go语言从例子开始之Example34.速率限制
速率限制(英) 是一个重要的控制服务资源利用和质量的途径.Go 通过 Go 协程.通道和打点器优美的支持了速率限制. Example: package main import "fmt&qu ...