ctfshow-萌新-web12( 利用命令执行函数获取网站敏感信息)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: ctf.show 萌新模块 web12关, 这一关考察的是代码执行漏洞的利用, 重点在于命令执行函数的利用方式, 推荐使用反引号(``) 或者 base64加密绕过

ctf.show 萌新模块 web12关, 这一关考察的是代码执行漏洞的利用, 重点在于命令执行函数的利用方式, 推荐使用反引号(``) 或者 base64加密绕过

image.png

页面中展示了部分源码, 并提示我们 falg 就在 config.php文件中, 读取文件内容即可拿到 flag

image.png

首先分析一下源码

image.png

重点在这个if判断中, 过滤了参数中的 system exec highlight cat . php config 关键字, 只要绕过这些过滤条件就能使用 eval()函数执行代码了

方法一, base64加密绕过

base64_decode();    -- base64解码,常用于参数绕过

base64_encode();    -- base64加密

查看当前目录文件, 拿到 config.php文件的位置

?c=passthru('ls');

由结果可知, 文件就在当前目录下

image.png

接下来获取 config.php 文件名base64加密后的值, 这里使用 base64_encode()函数来加密, 方法不唯一, 其他方式获取加密的值也可以

image.png

加密完成后, 利用base64加密后的文件名绕过过滤条件, 查看文件内容, 由于 cat命令被过滤了, 这里使用 more 代替

?c=$a = base64_decode('Y29uZmlnLnBocA==');passthru("more $a");

页面空显示, 但也没报错

image.png

右键查看网页源码即可看到文件内容, 获取 flag

image.png

方法二, 反引号绕过

反引号``, 可以执行系统命令, 并返回一个字符串类型的变量, 用来保存命令的执行结果, 需要注意的是, 反引号``中的命令会先被执行并将结果以字符串类型的变量返回, 而后再参与到其他代码的执行, 类似一个函数

首先查看当前目录下的文件, 确认 config.php 文件的位置

?c=echo `ls | grep conf*`;

由结果可知, 文件就在当前目录下

image.png

上面的命令 `ls | grep conf*` 返回结果是一个内容为 config.php 的字符串变量, 我们将返回结果作为文件名使用 more命令查看文件内容, 即可获取 flag

?c=passthru('more `ls | grep con*`');

页面空显示, 但没有报错, 没有关系, 这很正常

image.png

右键查看网页源码即可拿到 flag

image.png

相关文章
|
2天前
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
35 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
4月前
|
Web App开发 前端开发 JavaScript
Web开发者必收藏的10个实用网站,你还没收藏吗?
将这些网站收藏起来,定期访问,使它们成为您日常工作的一部分,助您在快速发展的 Web 开发领域保持领先。
179 2
Web开发者必收藏的10个实用网站,你还没收藏吗?
|
3月前
|
人工智能 搜索推荐 PHP
PHP在Web开发中的璀璨星辰:构建动态网站的幕后英雄###
【10月更文挑战第25天】 本文将带您穿越至PHP的宇宙,揭示其作为Web开发常青树的奥秘。通过生动实例与深入解析,展现PHP如何以简便、高效、灵活的姿态,赋能开发者打造动态交互式网站,同时不忘探讨其在新时代技术浪潮中面临的挑战与机遇,激发对技术创新与应用的无限思考。 ###
46 1
|
5月前
|
前端开发 数据安全/隐私保护
【前端web入门第二天】03 表单-下拉菜单 文本域 label标签 按钮 【附注册信息综合案例】
本文档详细介绍了HTML表单的多种元素及其用法,包括下拉菜单(`<select>` 和 `<option>`)、文本域(`<textarea>`)、标签解释(`<label>`)、各类按钮(`<button>`)及表单重置功能、无语义布局标签(`<div>` 和 `<span>`)以及字符实体的应用。此外,还提供了一个完整的注册信息表单案例,涵盖个人信息、教育经历和工作经历等部分,展示了如何综合运用上述元素构建实用的表单。
【前端web入门第二天】03 表单-下拉菜单 文本域 label标签 按钮 【附注册信息综合案例】
WK
|
3月前
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
158 0
|
5月前
|
安全 应用服务中间件 开发工具
Web安全-SVN信息泄露漏洞分析
Web安全-SVN信息泄露漏洞分析
281 2
|
5月前
|
数据库 开发者 Python
实战指南:用Python协程与异步函数优化高性能Web应用
在快速发展的Web开发领域,高性能与高效响应是衡量应用质量的重要标准。随着Python在Web开发中的广泛应用,如何利用Python的协程(Coroutine)与异步函数(Async Functions)特性来优化Web应用的性能,成为了许多开发者关注的焦点。本文将从实战角度出发,通过具体案例展示如何运用这些技术来提升Web应用的响应速度和吞吐量。
45 1
|
5月前
|
安全 Java PHP
Web安全-命令执行漏洞
Web安全-命令执行漏洞
47 1
|
5月前
|
机器学习/深度学习 安全 网络协议
Web安全-Linux网络命令
Web安全-Linux网络命令
47 1
|
JavaScript 前端开发 程序员
好程序员web前端分享用JavaScript实现的5个常见函数
<div id="container"></div> <script> var count = 1 var container = document.getElementById('container') function getUserAction(e) { // 空格 if (e.
829 0