题目地址: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()函数相关推荐

  1. c语言实验至少包括四个函数中,C语言实验报告《函数》

    学号:__________    姓名:__________    班级:__________    日期:__________ 指导教师:__________    成绩:__________ 实验 ...

  2. python语言基础实验_实验二Python语言基础函数包练习.doc

    实验二Python语言基础函数包练习 实验 Python语言基础函数包练习:1208 学号: 实验目的 1.Python语言包,如math.NumPySciPy和Matplotlib等函数包的使用实验 ...

  3. PHP的eregi函数:检查字符串的有效性

    语法 int eregi(string pattern, string string, [array regs]); 定义 eregi()函数在一个字符串搜索指定的模式的字符串. 搜索不区分大小写. ...

  4. C语言实验(十三):函数(求两个任意分数和的最简形式、将正整数转换为字符串输出、某日期是该年第几天)

    C语言实验(十三):函数(求两个任意分数和的最简形式.将正整数转换为字符串输出) 一.任意输入两个分数,用C语言编程求这两个分数和的最简形式.如:输入为"2/6 + 12/9 =" ...

  5. 数据库原理实验五——触发器与存储过程(函数)

    实验目的 熟练掌握存储过程/函数的创建和执行方法. 熟练掌握触发器的创建和执行方法. 实验内容 针对SPJ_MNG数据库,创建并执行如下存储过程.(共计40分) (1) 创建一个没有参数的存储过程-j ...

  6. 实验八 静态成员与友元函数

    实验八 静态成员与友元函数 A. 距离计算(友元函数) 题目描述 输入 输出 输入样例 输出样例 参考代码 B. 银行账户(静态成员与友元函数) 题目描述 输入 输出 输入样例 输出样例 参考代码 C ...

  7. 2021-C++程序设计-实验3-继承和虚函数

    终于有一次实验是无罚时通过的了 , 感谢题目没有要求写main函数. 目录 A. TableTennisPlayer 题目 AC代码 B. Person和Student 题目 AC代码 C. 图书商品 ...

  8. C++ 实验七 多态性与虚函数

    问题背景: 将任意一个平面图形(如长方形.三角形.圆形等)沿其法线方向平移一定长度,它所扫过的空间区域为一个柱体.例如,长方形.圆形和三角形所形成的柱体分别如图(a)(b)©所示. 实验题: 柱体的体 ...

  9. MySQL实验七创建存储过程和函数

    这里写自定义目录标题 一 实验目的 二 实验平台 三 实验内容和要求 3.1 创建存储过程 3.2 查看存储过程 3.3 修改存储过程 3.4 删除存储过程 3.5 创建函数 3.6 查看函数 3.7 ...

  10. Matlab实验之有趣的发声函数sound

    目录 1.sound函数简介 2.实验 2.1实验1-以默认采样率播放采样数据 2.2实验2-以特定的采样率播放采样数据 2.3实验3-播放具有特定位深度的样本数据 3.相关参数 3.1 y -音频数 ...

最新文章

  1. 列选主元guass消去法
  2. c语言aba字母塔,打印字母金字塔,昨晚看到某个帖子的题目
  3. NFS服务基本配置及使用
  4. ibatis动态语句中的prepend
  5. java gui拖拽_Java Swing拖放
  6. 1.6.3 Uploading Data with Solr Cell using Apache Tika
  7. java字节码常量池_java字节码常量池处理说明
  8. 推荐两款工具给爱做实验的人
  9. ExpandableListActivity列表嵌套列表
  10. 【mysql】MySQL存储IP地址
  11. sql 运算符_了解SQL ANY和ALL运算符
  12. 智能优化算法应用:基于GWO优化的最小交叉熵图像多阈值分割 - 附代码
  13. Abp框架 Abp中使用Redis
  14. 关于苹果审核团队内部消息以及一些过审小方法
  15. 什么是订单管理系统OMS
  16. CHROME插件开发之·web页面与插件后台通信(chrome.runtime.sendMessage => chrome.runtime.onMessageExternal.addListener)
  17. 蒙特卡罗方法C语言求定积分,蒙特卡罗方法计算定积分
  18. js网站服务器时间,js获取本地时间、服务器时间、记时
  19. PS制作渐变金属文字
  20. c语言 百度文库,百度文库C语言专本辅导第一二章.doc

热门文章

  1. 北京专精特新企业申报攻略
  2. 【Java每日面试题】大厂是如何设计秒杀系统的,渣本Java开发小伙如何一步步成为架构师
  3. 网络抖动工具clumsy
  4. Flutter 自定义下拉菜单
  5. text 热敏打印机_GitHub - huangzhiyi/thermal_printer: Java实现网络小票打印机自定义无驱打印...
  6. 文本居中(内容居中)
  7. 小刘的刷题日记——day1 【CSES】Weird Algorithm
  8. 删除桌面无法删除的网页快捷方式
  9. Arduino+WZ指令+Onenet
  10. 【文献阅读】ChineseBERT: Chinese Pretraining Enhanced by Glyph and Pinyin Information