[攻防世界][Web]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]PHP2的更多相关文章
- 攻防世界 WEB 高手进阶区 PHP2 Writeup
攻防世界 WEB 高手进阶区 PHP2 Writeup 题目介绍 题目考点 url 二次解码 index.phps 文件(第一次使用dirsearch可能扫不到,需要加到工具字典里) php 简单语法 ...
- CTF--web 攻防世界web题 robots backup
攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=506 ...
- CTF--web 攻防世界web题 get_post
攻防世界web题 get_post https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5 ...
- 攻防世界 web进阶练习 NewsCenter
攻防世界 web进阶练习 NewsCenter 题目是NewsCenter,没有提示信息.打开题目,有一处搜索框,搜索新闻.考虑xss或sql注入,随便输入一个abc,没有任何搜索结果,页面也没有 ...
- XCTF攻防世界Web之WriteUp
XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 rob ...
- 攻防世界web新手区
攻防世界web新手区 第一题view_source 第二题get_post 第三题robots 第四题Backup 第五题cookie 第六题disabled_button 第七题simple_js ...
- XCTF攻防世界web进阶练习—mfw
XCTF攻防世界web进阶练习-mfw题目为mfw,没有任何提示.直接打开题目,是一个网站 大概浏览一下其中的内容,看到其中url变化其实只是get的参数的变化查看它的源码,看到有一个?page=fl ...
- 攻防世界Web刷题记录(进阶区)
攻防世界Web刷题记录(进阶区) 1.baby_web 发现去掉URLhttp://111.200.241.244:51461/1.php后面的1.php,还是会跳转到http://111.200.2 ...
- 攻防世界Web刷题记录(新手区)
攻防世界Web刷题记录(新手区) 1.ViewSource 题如其名 Fn + F12 2.get post 3.robots robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个 ...
- 攻防世界Web区部分题解
攻防世界Web区部分题解 前言:PHP序列化就是把代码中所有的 对象 , 类 , 数组 , 变量 , 匿名函数等全部转换为一个字符串 , 提供给用户传输和存储 . 而反序列化就是把字符串重新转换为 ...
随机推荐
- [转帖]TiDB调优小结
https://www.jianshu.com/p/d5ee4dca66d8 TiDB概览 先来一段官网的描述 TiDB server:无状态SQL解析层,支持二级索引,在线ddl,兼容MyS ...
- [转帖]使用 TiUP bench 组件压测 TiDB
https://docs.pingcap.com/zh/tidb/stable/tiup-bench 在测试数据库性能时,经常需要对数据库进行压测,为了满足这一需求,TiUP 集成了 bench 组件 ...
- [转帖]Jmeter 参数化
一.Jmeter参数化概念 当使用JMeter进行测试时,测试数据的准备是一项重要的工作.若要求每次迭代的数据不一样时,则需进行参数化,然后从参数化的文件中来读取测试数据. 参数化是自动化测试脚本的一 ...
- [转帖]Docker:Python环境Docker镜像瘦身
https://www.jianshu.com/p/c0ad13e0be85 关键字:Docker,Python 原始镜像 封装一个Python 3.7的环境并且安装Python依赖包实现一个机器学习 ...
- nginx日志定期备份清理的方法
nginx日志定期备份清理的方法 前言 实在不想动不动就 yum install 也不太想因为一个很小的需求就搞一下ansible. 想着能够尽量简单, 尽量方便的进行一些工作. 具体思路就是 压缩, ...
- [转帖]linux的硬链接和软连接的区别
Linux中有两种链接文件: 1)软链接(符号链接symbol),等同于Windows中快捷方式 ln -s 源文件名 符号链接文件名,源文件名和符号链接文件名是主从关系,源被删了,符号链接也就失效了 ...
- 日常测试进行beans比较的简单方法
日常测试进行beans比较的简单方法 摘要 想每天把有变化的bean抓取出来有新增的beans时能够及时进行分析和介入 保证beans 都是符合规范的. 方式和方法 开启actuator 打开bean ...
- 全球首个面向遥感任务设计的亿级视觉Transformer大模型
作者:京东探索研究院 深度学习在很大程度上影响了遥感影像分析领域的研究.然而,大多数现有的遥感深度模型都是用ImageNet预训练权重初始化的,其中自然图像不可避免地与航拍图像相比存在较大的域差距,这 ...
- 【DP】DMOPC '21 Contest 8 P5 - Tree Building
Problem Link 给定 \(n,m\) 和一个长为 \(m\) 的代价序列,对于一棵 \(n\) 个节点,每个节点度数不超过 \(m\) 的树,定义它的代价为 \(\sum\limits_{i ...
- ClickHouse(22)ClickHouse集成HDFS表引擎详细解析
HDFS 这个引擎提供了与Apache Hadoop生态系统的集成,允许通过ClickHouse管理HDFS上的数据.这个引擎提供了Hadoop的特定功能. 用法 ENGINE = HDFS(URI, ...