实验吧-PHP大法-eregi()函数
题目地址:http://www.shiyanbar.com/ctf/54
题目:
<?php if(eregi("hackerDJ",$_GET[id])) {echo("<p>not allowed!</p>");exit(); }$_GET[id] = urldecode($_GET[id]); if($_GET[id] == "hackerDJ") {echo "<p>Access granted!</p>";echo "<p>flag: *****************} </p>"; } ?><br><br> Can you authenticate to this website?
PHP 函数 eregi() 语法int eregi(string pattern, string string, [array regs]); 定义和用法 eregi()函数在一个字符串搜索指定的模式的字符串。搜索不区分大小写。Eregi()可以特别有用的检查有效性字符串,如密码。 可选的输入参数规则包含一个数组的所有匹配表达式,他们被正则表达式的括号分组。返回值 如果匹配成功返回true,否则,则返回falseExample 下面是一段代码,这段代码复制并粘贴到一个文件中并验证结果。<?php$password = "abc";if (! eregi ("[[:alnum:]]{8,10}", $password)){print "Invalid password! Passwords must be from 8 - 10 chars";}else{print "Valid password";}?> 这将会产生以下结果:Invalid password! Passwords must be from 8 - 10 chars
解题思路:
id变量是一个url解码函数前不包含hackerDJ,url解码函数后为hackerDJ的变量,即id在进入url解码函数前必须是hackerDJ的url编码形式
注意:
id通过url形式传递,浏览器会自动url解码一次,直接
?id=%68%61%63%6B%65%72%44%4A
是不行的
这样浏览器自动解码后即为hackerDJ,被eregi()拦住
所以要进行二次编码,即对%68%61%63%6B%65%72%44%4A进行url编码
转载于:https://www.cnblogs.com/Rain99-/p/11275469.html
实验吧-PHP大法-eregi()函数相关推荐
- c语言实验至少包括四个函数中,C语言实验报告《函数》
学号:__________ 姓名:__________ 班级:__________ 日期:__________ 指导教师:__________ 成绩:__________ 实验 ...
- python语言基础实验_实验二Python语言基础函数包练习.doc
实验二Python语言基础函数包练习 实验 Python语言基础函数包练习:1208 学号: 实验目的 1.Python语言包,如math.NumPySciPy和Matplotlib等函数包的使用实验 ...
- PHP的eregi函数:检查字符串的有效性
语法 int eregi(string pattern, string string, [array regs]); 定义 eregi()函数在一个字符串搜索指定的模式的字符串. 搜索不区分大小写. ...
- C语言实验(十三):函数(求两个任意分数和的最简形式、将正整数转换为字符串输出、某日期是该年第几天)
C语言实验(十三):函数(求两个任意分数和的最简形式.将正整数转换为字符串输出) 一.任意输入两个分数,用C语言编程求这两个分数和的最简形式.如:输入为"2/6 + 12/9 =" ...
- 数据库原理实验五——触发器与存储过程(函数)
实验目的 熟练掌握存储过程/函数的创建和执行方法. 熟练掌握触发器的创建和执行方法. 实验内容 针对SPJ_MNG数据库,创建并执行如下存储过程.(共计40分) (1) 创建一个没有参数的存储过程-j ...
- 实验八 静态成员与友元函数
实验八 静态成员与友元函数 A. 距离计算(友元函数) 题目描述 输入 输出 输入样例 输出样例 参考代码 B. 银行账户(静态成员与友元函数) 题目描述 输入 输出 输入样例 输出样例 参考代码 C ...
- 2021-C++程序设计-实验3-继承和虚函数
终于有一次实验是无罚时通过的了 , 感谢题目没有要求写main函数. 目录 A. TableTennisPlayer 题目 AC代码 B. Person和Student 题目 AC代码 C. 图书商品 ...
- C++ 实验七 多态性与虚函数
问题背景: 将任意一个平面图形(如长方形.三角形.圆形等)沿其法线方向平移一定长度,它所扫过的空间区域为一个柱体.例如,长方形.圆形和三角形所形成的柱体分别如图(a)(b)©所示. 实验题: 柱体的体 ...
- MySQL实验七创建存储过程和函数
这里写自定义目录标题 一 实验目的 二 实验平台 三 实验内容和要求 3.1 创建存储过程 3.2 查看存储过程 3.3 修改存储过程 3.4 删除存储过程 3.5 创建函数 3.6 查看函数 3.7 ...
- Matlab实验之有趣的发声函数sound
目录 1.sound函数简介 2.实验 2.1实验1-以默认采样率播放采样数据 2.2实验2-以特定的采样率播放采样数据 2.3实验3-播放具有特定位深度的样本数据 3.相关参数 3.1 y -音频数 ...
最新文章
- 列选主元guass消去法
- c语言aba字母塔,打印字母金字塔,昨晚看到某个帖子的题目
- NFS服务基本配置及使用
- ibatis动态语句中的prepend
- java gui拖拽_Java Swing拖放
- 1.6.3 Uploading Data with Solr Cell using Apache Tika
- java字节码常量池_java字节码常量池处理说明
- 推荐两款工具给爱做实验的人
- ExpandableListActivity列表嵌套列表
- 【mysql】MySQL存储IP地址
- sql 运算符_了解SQL ANY和ALL运算符
- 智能优化算法应用:基于GWO优化的最小交叉熵图像多阈值分割 - 附代码
- Abp框架 Abp中使用Redis
- 关于苹果审核团队内部消息以及一些过审小方法
- 什么是订单管理系统OMS
- CHROME插件开发之·web页面与插件后台通信(chrome.runtime.sendMessage => chrome.runtime.onMessageExternal.addListener)
- 蒙特卡罗方法C语言求定积分,蒙特卡罗方法计算定积分
- js网站服务器时间,js获取本地时间、服务器时间、记时
- PS制作渐变金属文字
- c语言 百度文库,百度文库C语言专本辅导第一二章.doc
热门文章
- 北京专精特新企业申报攻略
- 【Java每日面试题】大厂是如何设计秒杀系统的,渣本Java开发小伙如何一步步成为架构师
- 网络抖动工具clumsy
- Flutter 自定义下拉菜单
- text 热敏打印机_GitHub - huangzhiyi/thermal_printer: Java实现网络小票打印机自定义无驱打印...
- 文本居中(内容居中)
- 小刘的刷题日记——day1 【CSES】Weird Algorithm
- 删除桌面无法删除的网页快捷方式
- Arduino+WZ指令+Onenet
- 【文献阅读】ChineseBERT: Chinese Pretraining Enhanced by Glyph and Pinyin Information