首页 > 编程语言 >[攻防世界][Web]PHP2

[攻防世界][Web]PHP2

时间:2022-12-17 20:55:45浏览次数:32  
标签:知识点 Web 攻防 admin index urlencode urldecode id PHP2

打开靶机对应的url

就一行字

Can you anthenticate to this website?
第一感觉就需要做目录文件扫描
使用御剑和dirsearch进行扫描,发现一个文件 index.phps
知识点:
phps 是php标准中用来表示可以查看的php源文件的约定,不会被服务器执行
直接展示代码
访问index.phps
<?php
if("admin"===$_GET[id]) {
  echo("<p>not allowed!</p>");
  exit();
}

$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "admin")
{
  echo "<p>Access granted!</p>";
  echo "<p>Key: xxxxxxx </p>";
}
?>

Can you anthenticate to this website?
这里需要进行代码审计,从这里可以看出,需要传入id的值不能是admin,同时urldecode以后又必须是admin才有戏
知识点:
我们可以对参数进行urlencode的操作,urlencode会对所有非ascii码所表示的字符进行编码,编码成ascii码字符串组合来代替

其中 a 对应的就是 %61

参考: https://www.w3school.com.cn/tags/html_ref_urlencode.asp
那么我们只要传入%61dmin 经过 urldecode以后 就会变为 admin, 从而通过检查
这里还有一个知识点,就是apache服务器,在接受到请求后会默认对请求参数做一次urldecode, 也就是说如果我们传入的是%61dmin ,进入代码块时就已经被解析为admin而导致显示 not allowed了
所以这里需要对%61再做一次urlendcode 得到%2561
访问url
http://61.147.171.105:63925/index.php?id=%2561dmin

boom 得到flag: cyberpeace{d30a3860b94b12cc3d96717cbbb6fabb}

标签:知识点,Web,攻防,admin,index,urlencode,urldecode,id,PHP2
From: https://www.cnblogs.com/gradyblog/p/16989520.html

相关文章

  • spring webflux项目集成后台管理系统的用户登录,支持用户session
    配置pom.xml:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ......
  • spring webflux项目启动类
     importlombok.extern.slf4j.Slf4j;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;im......
  • 【SpringBoot】使用WebSocket做消息对话
    Http协议只能客户端发送---服务器回复,无法做到服务器主动向客户端发送消息,所以可以使用websocket来进行双向通道发消息 研究了一下抖音斗鱼的弹幕也是用的websocket,......
  • Vue的浏览器中的 webStorage
    Vue的浏览器中的 webStorage1:Api介绍/*webStorage存储内容大小一般支持5MB左右(不同浏览器可能还不一样)浏览器端通过Window.sessionStorage和Window.localStorage属性......
  • 《小白WEB安全入门》02. 开发篇
    目录初识HTML潜在漏洞初识CSS潜在漏洞初识JS潜在漏洞初识后端潜在漏洞后端能做什么后端种类后端框架潜在漏洞本系列文章只叙述一些超级基础理论知识,极少有实践部分本文......
  • web项目的开发---第二天
    学习目的:对软件公司和软件开发有一定成都的了解了解CRM项目的核心业务能够独立完成CRM项目核心业务开发对所学技术回顾、熟练、加深和扩展。掌握互联网基础课:linux,re......
  • webstorm常用快捷键分享
    下面是我整理的Webstorm的一些常用快捷键,都很实用,现在分享给大家:1.ctrl+shift+n:打开工程中的文件,目的是打开当前工程下任意目录的文件。2.ctrl+j:输出模板3.c......
  • WebService简单教学
    目录##springboot整合CXF的快速入门##一,服务端提供webservice服务1,实体类User2,webservice接口3,webservice接口的实现类4,CXF配置类5,pom依赖配置6,页面访问服务二,客户端访问we......
  • 手撸web框架
    egon新书来袭请看:https://egonlin.com/book.html一Web应用的组成接下来我们学习的目的是为了开发一个Web应用程序,而Web应用程序是基于B/S架构的,其中B指的是浏览器,负责......
  • 前端知识学习案例-web component
         ......