web_枚举
网页枚举
使用工具 gobuster,Nikto,WPScan
Gobuster
安装:sudo apt install gobuster
有用的全局标志
-t 线程 并发线程数(默认10)
-v 冗长 详细输出
-z 没有进展 不显示进度
-q 安静的 不打印多余的东西
-o 输出 将结果写入的输出文件
目录模式
gobuster dir 然后使用-u和-w添加url和单词表
例如
gobuster dir -u http://10.10.10.10/ -w direnum.txt
其他有用的标志
-c --cookies 用于请求的cookie
-x --extensions 要搜索的文件扩展名
-H --headers 指定http标头,-H 'Header1: val1' -H 'Header2: val2'
-k --no-tls-validation 跳过 TLS 证书验证
-n --no-status 不打印状态码
-P --password 基本认证密码
-s --status-codes 正面状态码
-b --status-codes-blacklist 负面状态码
-U --username 基本身份验证的用户名
DNS模式
gobuster dns 然后分别使用 -d 和 -w 选项添加域和词表
例如
gobuster dns -d mydomain.thm -w subdomains.txt
其他
-c --show-cname 显示 CNAME 记录(不能与“-i”选项一起使用)
-i --show-ips 显示 IP 地址
-r --resolver 使用自定义DNS服务器
虚拟主机模式
虚拟主机是基于 IP 的
gobuster vhost 然后需要分别使用-u和-w选项添加域和词表
例如
gobuster vhost -u http://example.com -w subdomains.txt
Kali Linux默认列表
/usr/share/wordlists/dirbuster/directory-list-2.3-*.txt
/usr/share/wordlists/dirbuster/directory-list-1.0.txt
/usr/share/wordlists/dirb/big.txt
/usr/share/wordlists/dirb/common.txt
/usr/share/wordlists/dirb/small.txt
/usr/share/wordlists/dirb/extensions_common.txt - 在对文件进行模糊测试时很有用!
或者sudo apt install seclists
示例
目录扫描
gobuster dir -u http://10.10.10.10/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 64
扩展名扫描
gobuster dir -u http://10.10.10.10/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x.html,.php,.conf
扫描虚拟主机
gobuster vhost -u webenum.thm -w /usr/share/wordlists/SecLists/Discovery/DNS/subdomains-top1million-5000.txt -t 64
WPScan
WPScan 框架能够枚举和研究 WordPress 网站中存在的一些安全漏洞类别 - 包括 - 但不限于:
敏感信息披露(已披露漏洞或 CVE 的插件和主题安装版本)
路径发现(寻找错误配置的文件权限,即 wp-config.php)
弱密码策略(密码暴力破解)
存在默认安装(寻找默认文件)
测试 Web 应用程序防火墙(常见 WAF 插件)
更新:wpscan --update
--enumerate/-e 枚举 [option](要枚举的目标)
u 枚举用户名
wpscan --url http://cmnatics.playground/ --enumerate u
p 枚举插件
wpscan --url http://cmnatics.playground/ --enumerate p
t 枚举主题
wpscan --url http://cmnatics.playground/ --enumerate t
vp 结果中显示有漏洞的插件
wpscan --url http://cmnatics.playground/ --enumerate vp
执行密码攻击
wpscan –-url http://cmnatics.playground –-passwords rockyou.txt –-usernames cmnatic
调整 WPScan 的攻击性 (WAF)
--plugins-detection aggressive
Nikto
Nikto 能够对所有类型的网络服务器进行评估(并且不是特定于应用程序的,例如 WPScan。)。Nikto 可用于发现可能的漏洞,包括:
敏感文件
过时的服务器和程序(即易受攻击的网络服务器安装)
常见的服务器和软件错误配置(目录索引、cgi 脚本、x-ss 保护)
-host:扫描目标URL
-id:http认证接口
-list-plugins:列出所有可用的插件
-evasion:IDS/IPS逃避技术
-port:指定端口(默认80)
-ssl:使用SSL
-useproxy:使用HTTP代理
-vhost:当一个IP拥有多个网站时使用
-update:更新程序
-outfile:以文件形式输出扫描结果
-Format:规定输出文件的格式
-Version:显示插件和数据库的版本号
-Cgidirs:扫描相关CGI文件夹,传入单词“none”或者是“all”可以扫描所有CGI目录
插件介绍
通过使用-Plugin参数
apacheusers 尝试枚举 Apache HTTP 身份验证用户
cgi 寻找我们可以利用的 CGI 脚本
robots 分析 robots.txt 文件,该文件指示我们能够导航到哪些文件/文件夹
dir_traversal 尝试使用目录遍历攻击(即LFI)
例:nikto -h 10.10.10.1 -Plugin apacheuser
扫描的冗长程度-Display
1 显示 Web 服务器提供的任何重定向。
2 显示收到的任何 cookie
E 输出任何错误
web_枚举的更多相关文章
- Swift enum(枚举)使用范例
//: Playground - noun: a place where people can play import UIKit var str = "Hello, playground& ...
- 编写高质量代码:改善Java程序的151个建议(第6章:枚举和注解___建议88~92)
建议88:用枚举实现工厂方法模式更简洁 工厂方法模式(Factory Method Pattern)是" 创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其它子类" ...
- Objective-C枚举的几种定义方式与使用
假设我们需要表示网络连接状态,可以用下列枚举表示: enum CSConnectionState { CSConnectionStateDisconnected, CSConnectionStateC ...
- Help Hanzo (素数筛+区间枚举)
Help Hanzo 题意:求a~b间素数个数(1 ≤ a ≤ b < 231, b - a ≤ 100000). (全题在文末) 题解: a~b枚举必定TLE,普通打表MLE,真是头疼 ...
- 枚举:enum
枚举 所谓枚举就是指定好取值范围,所有内容只能从指定范围取得. 例如,想定义一个color类,他只能有RED,GREEN,BLUE三种植. 使用简单类完成颜色固定取值问题. 1,就是说,一个类只能完成 ...
- .NET 基础一步步一幕幕[方法、结构、枚举]
方法.结构.枚举 方法: 将一堆代码进行重用的一种机制. 语法: [访问修饰符] 返回类型 <方法名>(参数列表){ 方法主体: } 返回值类型:如果不需要写返回值,写void 方法名:P ...
- Asp.Net 将枚举类型(enum)绑定到ListControl(DropDownList)控件
在开发过程中一些状态的表示使用到枚举类型,那么如何将枚举类型直接绑定到ListControl(DropDownList)是本次的主题,废话不多说了,直接代码: 首先看工具类代码: /// <su ...
- 用枚举enum替代int常量
枚举的好处: 1. 类型安全性 2.使用方便性 public class EnumDemo { enum Color{ RED(3),BLUE(5),BLACK(8),YELLOW(13),GREEN ...
- c#编程基础之枚举
枚举的意义就在于限制变量取值范围. 当可以确定的几种取值时才可以用. 如果输入一个字符串需要进行判断是否是我们需要的字符串时,则一般需要这样写: using System; using System. ...
- golang枚举类型 - iota用法拾遗
在c#.java等高级语言中,经常会用到枚举类型来表示状态等.在golang中并没有枚举类型,如何实现枚举呢?首先从枚举的概念入手. 1.枚举类型定义 从百度百科查询解释如下:http://baike ...
随机推荐
- Salesforce CPQ之后续慢慢看系列
salesforce核心两朵云,sales & service. 针对sales的quote / quote line item的报价功能,还是相对薄弱.针对sales,报价的准确性影响着成单 ...
- Java面试——Redis
一.Redis 为什么那么快 [1]完全基于内存,绝大部分请求是纯粹的内存操作,非常快速.数据存在内存中.[2]数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的.[3]采用单线程 ...
- GLM:通用语言模型
ChatGPT已经火了一段时间了,国内也出现了一些平替,其中比较容易使用的是ChatGLM-6B:https://github.com/THUDM/ChatGLM-6B ,主要是能够让我们基于单卡自己 ...
- ACM-学习记录-数论
GCD,LCM 定理 a.b两个数的最大公约数乘以它们最小公倍数等于a和b的乘积 axb=GCD(a,b)xLCM(a,b) 据此定理,求3与8的最小公倍数可以为:LCM(3,8)=3x8divGCD ...
- 使用vSphere Update Manager 升级 ESXi 主机
使用vSphere Update Manager 升级 ESXi 主机 vSphere Update Manager vSphere Update Manager 是用于升级.迁移.更新和修补群集主 ...
- python进程之进程池、线程池与异步回调机制
进程线程不可以无限制的创建,因为有硬件的限制.为了避免资源被程序消耗过度,可以使用进程池或线程池的技术. 池 降低程序的执行效率,但是保证了计算机硬件的安全 进程池 提前创建好固定数量 ...
- internal java compiler error
1.导入Maven项目运行报错: 解决方法:找到File->Settings 修改配置 再次运行就可以了.
- 如何优雅的使用ipv6穿透内网
背景 随着ipv6的普及,家庭宽带已经全面支持ipv6,通过简单的设置就可以让自己的内网设备获取到ipv6地址.不过这里的ipv6地址也不是固定,会定期的变化,不过通过DDNS可以解决这个问题.但是这 ...
- 从零开始学Vue(二~三)—— Vue 实例 / 模板语法(插值、指令)
概述 vue.js作为现在笔记热门的JS框架,使用比较简单易上手,也成为很多公司首选的JS框架. 但是对于初学者可能学起来有些麻烦,所以推出<从零开始学Vue>系列博客,本系列计划推出19 ...
- 随手记:lnmp 安装完 redis 后无法全局操作
说明redis-server不是全局命令,那么假如到全局即可 假设redis安装目录是:/usr/local/redis/bin/redis-cli ln -s /usr/local/redis/b ...