网页枚举

使用工具 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_枚举的更多相关文章

  1. Swift enum(枚举)使用范例

    //: Playground - noun: a place where people can play import UIKit var str = "Hello, playground& ...

  2. 编写高质量代码:改善Java程序的151个建议(第6章:枚举和注解___建议88~92)

    建议88:用枚举实现工厂方法模式更简洁 工厂方法模式(Factory Method Pattern)是" 创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其它子类" ...

  3. Objective-C枚举的几种定义方式与使用

    假设我们需要表示网络连接状态,可以用下列枚举表示: enum CSConnectionState { CSConnectionStateDisconnected, CSConnectionStateC ...

  4. Help Hanzo (素数筛+区间枚举)

    Help Hanzo 题意:求a~b间素数个数(1 ≤ a ≤ b < 231, b - a ≤ 100000).     (全题在文末) 题解: a~b枚举必定TLE,普通打表MLE,真是头疼 ...

  5. 枚举:enum

    枚举 所谓枚举就是指定好取值范围,所有内容只能从指定范围取得. 例如,想定义一个color类,他只能有RED,GREEN,BLUE三种植. 使用简单类完成颜色固定取值问题. 1,就是说,一个类只能完成 ...

  6. .NET 基础一步步一幕幕[方法、结构、枚举]

    方法.结构.枚举 方法: 将一堆代码进行重用的一种机制. 语法: [访问修饰符] 返回类型 <方法名>(参数列表){ 方法主体: } 返回值类型:如果不需要写返回值,写void 方法名:P ...

  7. Asp.Net 将枚举类型(enum)绑定到ListControl(DropDownList)控件

    在开发过程中一些状态的表示使用到枚举类型,那么如何将枚举类型直接绑定到ListControl(DropDownList)是本次的主题,废话不多说了,直接代码: 首先看工具类代码: /// <su ...

  8. 用枚举enum替代int常量

    枚举的好处: 1. 类型安全性 2.使用方便性 public class EnumDemo { enum Color{ RED(3),BLUE(5),BLACK(8),YELLOW(13),GREEN ...

  9. c#编程基础之枚举

    枚举的意义就在于限制变量取值范围. 当可以确定的几种取值时才可以用. 如果输入一个字符串需要进行判断是否是我们需要的字符串时,则一般需要这样写: using System; using System. ...

  10. golang枚举类型 - iota用法拾遗

    在c#.java等高级语言中,经常会用到枚举类型来表示状态等.在golang中并没有枚举类型,如何实现枚举呢?首先从枚举的概念入手. 1.枚举类型定义 从百度百科查询解释如下:http://baike ...

随机推荐

  1. 基于Admin.NET框架的前端的一些改进和代码生成处理(2)

    在上篇随笔<基于Admin.NET框架的前端的一些改进和代码生成处理(1)>中大致介绍了一些关于对Admin.NET框架的前端的改造工作,主要目的就是希望能够增加前端代码的简洁性和可读性, ...

  2. JS中我们为什么要new个实例而不直接执行

    正常情况:<script> function sayHello() { alert("hello") } sayHello();直接调用他 </script> ...

  3. 如何在 SpringBoot 项目中接入 ChartGPT

    大家好,我是公子骏.最近体验了火爆全网的 ChartGPT,深刻体会了其强大的能力,这让我们程序猿对AI的未来突然有了广大的畅想空间. 我也在网上看到不少大牛通过 ChartGPT 来获取收益,就寻思 ...

  4. pysimplegui之画布,图形,表格和树结构元素

    画布元素 在我看来,tkinter Canvas 小部件是 tkinter 小部件中功能最强大的.虽然我尽我所能将用户与任何与 tkinter 相关的东西完全隔离,但 Canvas 元素是一个例外.它 ...

  5. Solon2 的通讯服务线程配置

    Solon 框架,关于通讯服务的所有配置 #服务端口(默认为8080) server.port: 8080 #服务主机(ip) server.host: "0.0.0.0" #服务 ...

  6. SpringBoot2:@Configuration 注解

    @Configuration 这个注解的作用,告诉 springboot 这是一个配置类.配置类以及类里的方法都可以作为Bean.里面的方法用@Bean标记. @Configuration 替换了繁琐 ...

  7. UESTC__ACM 1264 人民币的构造

    链接地址:https://acm.uestc.edu.cn/contest/198/problem/J 我们都知道人民币的面值是1.2.5.10,为什么是这个数值呢,我们分析了下发现,从1~10的每个 ...

  8. ThreadLocal实现原理和使用场景

    ThreadLocal是线程本地变量,每个线程中都存在副本. 实现原理: 每个线程中都有一个ThreadLocalMap,而ThreadLocalMap中的key即是ThreadLocal.  内存泄 ...

  9. js复制功能(pc复制,移动端复制到手机剪切板)

    一个函数,直接调就好了,已测pc和app都适用 1 // 一键复制 2 copyBtn(data) { 3 const input = document.createElement("inp ...

  10. [C++基础入门] 7、 指针

    文章目录 7 指针 7.1 指针的基本概念 7.2 指针变量的定义和使用 7.3 指针所占内存空间 7.4 空指针和野指针 7.5 const修饰指针 7.6 指针和数组 7.7 指针和函数 7.8 ...