题目

打开题目所给链接直接看到一串php代码,将其复制下来分析:

可以看出,flag似乎隐藏在flag.php的文档里,需要调用highlight_file()函数来显示

这串代码种考察了php正则表达式的应用,preg_match('ppp',string)和preg_match_all('ppppp',string)都是正则表达式的匹配函数

正则表达式表现形式:类似‘/php/’,即字符串前后加上两条斜杠即可

其中'|'表示左边或者右边匹配任一字符串即可

'/..../i'其中'i'是修饰符,表示匹配不区分大小写

因此若要实现highlight_file(flag.php),需要使得

$zero=base64.encode('flag')='ZmxhZw==',

$end='.php'

从而需要使得$third满足:

1、匹配正则表达式:'/\\|\056\160\150\x70/i',即$third内包含字符串"\|.php",\这里表示特殊字符

2、$third自第五位(不包括第五位)往后的字符串是".php"

根据判断条件

if(preg_match("/\.\.|flag/",$key)){die("Noooood hacker!");}else{$third=$first;
...

可知,$first需要满足以上两个条件,并$key不能与'/\.\.|flag/'匹配,相当于$key中不能包含字符串".."与"flag",又由于知道$key=$second=$zero.$first,根据第一个判断条件

if(preg_match_all("/Yeedo|wants|a|girl|friend|or|a|flag/i",$second)){$key=$second;...
}
else
{highlight_file(__FILE__);
}

可以得出,需要满足判断条件,即需要使得$second包含Yeedo|wants|a|girl|friend|or|a|flag中的任意字符串;

已知$zero=ZmxhZw== ,$first满足以上两个条件

$second=$zero.$first="ZmxhZw==".$first要满足:

1、包含Yeedo|wants|a|girl|friend|or|a|flag中的任意字符串;

2、不包含字符串".."和"flag";

3、$first内包含字符串"\|.php",\这里表示特殊字符;

4、$first自第五位(不包括第五位)往后的字符串是".php"。

可以使得$first=or??|.php,此时将满足所有判断条件

即上传?zero=ZmxhZw==&first=or??|.php可以得到最终结果

ctf-web-No one knows regex better than me相关推荐

  1. BugKu CTF Web

    BugKu CTF Web 滑稽 计算器 GET POST Simple_SSTI_1 矛盾 eval 变量1 Simple_SSTI_2 alert 你必须让他停下 方法一 方法二 方法三 网站被黑 ...

  2. ctf web必备工具_设计人员和开发人员的必备Web工具和服务

    ctf web必备工具 I cannot imagine that in 2018 there are people who don't use daily several web tools and ...

  3. CTF Web入门 命令执行 笔记

    CTF Web入门 命令执行 eval(读取命令),但各种字符被ban if(!pregmatch("...",$c)) #指过滤了...eval($c); 这时候可以尝试 ?c= ...

  4. CTF Web方向考点总结

    CTF Web 0X00 前言 做题已经快四个月了,接触了大大小小的题型,收藏的大师傅们的解题思路.题型总结的博客已经很多了,每次都要一个一个翻很麻烦,于是写下了这一个总结,实际上是把各大博客内容汇总 ...

  5. CTF——web个人总结

    CTF web个人总结 仅供个人参考 从0开始接触到了CTF,算是入门了,为了方便自己做题,现在记录一下web类型题目的解题思路. 目录 CTF web个人总结 工具(含后渗透) 解题思路 一.普通思 ...

  6. CTF Web学习(三)----python脚本的编写及应用

    CTF Web学习(三) python脚本的编写及应用 CTF Web学习目录链接 CTF Web学习(一):基础篇及头文件修改.隐藏 CTF Web学习(二):代码审计.burp suite应用 C ...

  7. 从0到1学习CTF WEB

    从0到1学习CTF WEB web前置技能 信息泄漏 密码口令 SQL注入 基础比较薄弱,准备逐题刷CTFHub的web类型题目顺便学习一下web方面的安全知识. web前置技能 1.请求方式: 隐藏 ...

  8. CTF——Web网站备份源码泄露

    CTF--Web网站备份源码泄露 当遇到提示说到备份时,应该敏感地想到这是需要用到网站备份文件源码的. 一般这类题是和代码审计一起出的,一般都是需要获取到备份文件然后进行分析.下面就介绍一下网站备份的 ...

  9. CG CTF WEB SQL注入2

    http://4.chinalover.sinaapp.com/web6/index.php 题解: <html> <head> Secure Web Login II < ...

  10. CG CTF WEB SQL注入1

    http://chinalover.sinaapp.com/index.php 题解: <html> <head> Secure Web Login </head> ...

最新文章

  1. 简单又好看的按钮,扁平化按钮。
  2. 俄罗斯黑客收到500万美元赎金!美国燃油管道商认怂,民众为抢汽油大打出手...
  3. java rmi反序列化漏洞 简介
  4. 查看电脑python虚拟环境-Linux系统创建python虚拟环境
  5. 上海电信计划2015年用户带宽提高12.5倍
  6. c-nominated = ((rcheck-use_candidate) || c-nominated);
  7. jenkins shell 权限_jenkins执行shell问题
  8. 为女儿示范的两张石膏像素描
  9. PHP学习——定界符格式引起的错误
  10. JAVA爬取亚马逊的商品信息
  11. 【写作技巧】中文摘要及关键词的撰写
  12. 面向对象——类设计(一)
  13. 如何获得微信小游戏跳一跳源码以及源代码组合包括哪些
  14. matlab hough变换检测平行直线,浅谈Hough变换的平行直线检测改进方案
  15. (娱乐项目)Python图片转换成矩阵数据,矩阵数据转换成图片
  16. ol4服务器连接不稳定,红警Online频繁掉线怎么办 总是断开链接问题解答
  17. 华为自己的能力开放平台eSDK
  18. 敲开bp神经网络之门(二,mfcc中使用,c#)
  19. 让顶尖设计师教你10个色彩运用秘技,赶紧洗耳恭听吧!
  20. 2018年个人所得税Excel计算公式

热门文章

  1. (02)Cartographer源码无死角解析-(52) 2D点云扫描匹配→ceres扫描匹配:CeresScanMatcher2D→栅格地图残差
  2. 用Python学《微积分B》(有理式与简单无理式积分套路)
  3. 文件管理工具,教你批量删除文件夹原名称并添加编号
  4. 你要了解的USB接口知识总结
  5. NYOJ171 聪明的kk
  6. Visual Studio 2019中/MD和/MDd区别
  7. 解决git clone速度太慢的问题(SS socks5代理)
  8. 2018成都蚂蚁金服两年前端社招面经
  9. Tomcat 8080,8005端口占用问题
  10. iOS 应用退到管理后台 左上角图片未更新(或不显示)