当前位置: 首页 > news >正文

波莱网站开发WordPress考试

波莱网站开发,WordPress考试,wordpress 增加阅读量,网页设计作品论文启动场景打开链接&#xff0c;出现一下图片 F12查看代码出现一个注释&#xff0c;应该在这个文件中&#xff0c; 进入到该页面&#xff0c;出现一段代码 <?phphighlight_file(__FILE__);class emmm{public static function checkFile(&$page){$whitelist ["sourc…

启动场景打开链接,出现一下图片

F12查看代码出现一个注释,应该在这个文件中,

进入到该页面,出现一段代码

<?phphighlight_file(__FILE__);class emmm{public static function checkFile(&$page){$whitelist = ["source"=>"source.php","hint"=>"hint.php"];//定义了一个白名单,只有source.php和hint.php有新的PHP页面if (! isset($page) || !is_string($page)) {//isset就是判断$page是不是NULL,只要不是NULL返回的都是true//is_string就是判断是不是字符串,是的话返回true,但是要注意前面有!,所以是取反//所以只要传入的数据是字符串就不会返回falseecho "you can't see it";return false;}if (in_array($page, $whitelist)) {//in_array()函数搜索数组中是否存在制定的值//这个函数是判断$page是否在白名单$whitelist里面,而我们只能传入source.php或者hint.php,但是我们要获取flag肯定要输入其他字符,所以往下继续看return true;}//在$page?里面匹配第一个问号//例如$page=123?45,$page . '?'=123?45? 返回int(3)$_page=123$_page = mb_substr($page,0,mb_strpos($page . '?', '?'));//这个if语句也是判断$_page是否在白名单内,无法绕过if (in_array($_page, $whitelist)) {return true;}$_page = urldecode($page);$_page = mb_substr(//mb_substr()函数返回字符串的一部分$_page,0,mb_strpos($_page . '?', '?')   //mb_strpos - 查找字符串在另一字符串中首次出现的位置);if (in_array($_page, $whitelist)) {return true;}echo "you can't see it";return false;}}if (! empty($_REQUEST['file'])                 //传入的参数不为空&& is_string($_REQUEST['file'])           //传入的参数为字符串&& emmm::checkFile($_REQUEST['file'])    //让这个类checkFile返回true) {include $_REQUEST['file'];exit;} else {echo "<img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";}  ?>

这段PHP代码定义了一个名为emmm的类,其中包含一个静态方法checkFile。这个方法的作用是检查请求的文件名是否在一个白名单内,即$whitelist数组中列出的几个文件(如"source.php"、“hint.php”)。如果文件名在列表中或者经过URL解码处理后仍在列表中,方法返回true,表示可以访问该文件;否则返回false,并显示"You can’t see it"的信息。

在主程序部分,它首先检查$_REQUEST['file']变量是否存在、是否为字符串,然后调用emm::checkFile()方法。如果检查通过,就包含并执行指定的文件;如果没有通过检查,则显示一个图片链接。

先构造?file=hint.php

进入到其中出现以下情况

所以flag应该是在ffffllllaaaagggg这个文件里

构造payload:source.php?file=source.php?/../ffffllllaaaagggg,经过mb_strpos为source.php?/../ffffllllaaaagggg?,mb_strpos这个函数只返回首次出现?的位置,而mb_substr截取函数,从0开始截取一直到第一个?的位置,截取内容为source.php,正好可以与白名单中进行匹配,可以返回true

然后执行payload,发现没有显示flag,所以应该不是这个目录,继续加../,直到得到flag

payload:/source.php?file=source.php?/../../../../ffffllllaaaagggg

http://www.yayakq.cn/news/925363/

相关文章:

  • 网站下载视频的方法做网站就必须要开公司吗
  • 网站开发实战项目网页界面设计基础知识
  • 东莞容桂网站制作泰安人才网求职
  • 网站建设ui设计公司刚刚发生在昆明的大事
  • 广州网站设计服务商会员管理系统免费版
  • 网站开发维护任职要求html5做简单网站
  • 黄山建设网站公司用手机怎么制作动漫视频
  • 微网站建设第一步是进行什么的设置网站推广策略包括哪些内容
  • 建设外贸公司网站网站建设案例教程视频
  • 嘉兴网站制作公司广州模板网站建设价格
  • 辽阳网站开发公司产品vi设计都包括什么
  • 网站怎么做定位功能it培训机构口碑排名
  • 知名企业门户网站建设服务公司网站建设怎么打广告
  • 临淄区建设局网站外贸网站seo
  • 专业网站制作企业个人网站可以直接做微信登陆吗
  • 地方门户网站建设北京网站建设备案
  • 网站做收录是什么意思少儿编程课哪个机构最好
  • 中国优秀网站建设官网网站建设在淘宝上以后让还让发布吗
  • 新乡网站建设费用维护一个网站难吗
  • 网站开发制作全包东莞网站开发推荐
  • 厦门网站建设培训学校某网站seo策划方案
  • 网站首页背景图片3d效果图设计制作软件
  • 网站安全管理制度优化什么建立生育支持政策体系降低生育养育教育成本
  • 永嘉网站制作当前网站开发的现状
  • 自己的商品链接怎么弄西安网站优化指导
  • 杭州做商业地产开什么网站好谷歌关键词搜索工具
  • 济宁网页设计外贸网站优化排名
  • 芜湖网站建设芜湖微网站和手机网站
  • 公司网站建设内容在家开网店怎么开
  • 做建筑设计的网站推荐电商网站制作公司