WebCTF_Tools

WebCTF_Tools

Tags
状态
Published
April 27, 2025
Author
敬请T期待

扫描篇

dirmap

(一)介绍
一个高级web目录扫描工具,功能将会强于DirBuster、Dirsearch、cansina、御剑
(二)安装
github中搜索dirmap
notion image
复制链接于linux 中使用git clone下载
┌──(root㉿kali)-[~] └─# git clone https://github.com/H4ckForJob/dirmap.git 正克隆到 'dirmap'... remote: Enumerating objects: 449, done. remote: Counting objects: 100% (193/193), done. remote: Compressing objects: 100% (82/82), done. remote: Total 449 (delta 124), reused 131 (delta 111), pack-reused 256 接收对象中: 100% (449/449), 1.86 MiB | 2.02 MiB/s, 完成. 处理 delta 中: 100% (229/229), 完成.
下载完成,使用cd 切换至安装目录
┌──(root㉿kali)-[~] └─# cd dirmap ┌──(root㉿kali)-[~/dirmap] └─# ls data dirmap.py lib README_EN.md requirement.txt dirmap.conf doc LICENSE README.md thirdlib
利用python3 使用dirmap.py
┌──(root㉿kali)-[~/dirmap] └─# python3 dirmap.py Traceback (most recent call last): File "/root/dirmap/dirmap.py", line 14, in <module> from gevent import monkey ModuleNotFoundError: No module named 'gevent'
发现需要安装依赖包,查看reqirement.txt
┌──(root㉿kali)-[~/dirmap] └─# cat requirement.txt gevent requests progressbar2 lxml
安装依赖包
┌──(root㉿kali)-[~/dirmap] └─# pip3 install requests progressbar2 lxml gevent
使用dirmap.py
┌──(root㉿kali)-[~/dirmap] └─# python3 dirmap.py ##### # ##### # # ## ##### # # # # # ## ## # # # # # # # # # # ## # # # # # # # # ##### # # ###### ##### # # # # # # # # # # ##### # # # # # # # # v1.0
安装成功!
使用方法
usage: python3 dirmap.py -i https://target.com -lcf options: -h, --help show this help message and exit Engine: Engine config -t THREAD_NUM, --thread THREAD_NUM num of threads, default 30 Target: Target config -i TARGET scan a target or network (e.g. [http://]target.com , 192.168.1.1[/24] , 192.168.1.1-192.168.1.100) -iF FILE load targets from targetFile (e.g. urls.txt) Bruter: Bruter config -lcf, --loadConfigFile Load the configuration through the configuration file --debug Print payloads and exit
notion image
用法:python3 dirmap.py -i 目标网址 -lcf 载入配置文件
其他参数 :
  • h 帮助文档
  • t 线程 默认30
  • i 目标网址
  • iF 目标网址文件
  • lcf 载入暴力破解配置文件
  • -debug 打印攻击载荷并退出

dirsearch

(一)介绍
dirsearch是一个基于python的命令行工具,用于暴力扫描页面结构,包括网页中的目录和文件。
(二)安装
github中搜索dirsearch
(三)使用方法
Options: --version show program's version number and exit -h, --help show this help message and exit Mandatory: -u URL, --url=URL Target URL(s), can use multiple flags -l PATH, --url-file=PATH URL list file --stdin Read URL(s) from STDIN --cidr=CIDR Target CIDR --raw=PATH Load raw HTTP request from file (use `--scheme` flag to set the scheme) -s SESSION_FILE, --session=SESSION_FILE Session file --config=PATH Full path to config file, see 'config.ini' for example (Default: config.ini)
-u URL, --url=URL URL目标 -L URLLIST, --url-list=URLLIST URL列表目标 -e EXTENSIONS, --extensions=EXTENSIONS 以逗号分隔的扩展列表(示例:php、asp) -E, --extensions-list 使用公共扩展的预定义列表
例子:

Nmap

(一)介绍
Nmap(Network Mapper(网络映射器))一款开源的网络探测和安全审核工具
(二)安装
kali虚拟机自带,或安装Namp GUI
(三)使用方法
Nmap 7.94(https://nmap.org) 用法:nmap [扫描类型] [选项] {目标指定} 目标指定: 可以传递主机名、IP 地址、网络等。 例如:scanme.nmap.org、microsoft.com/24、192.168.0.1;10.0.0-255.1-254 -iL <输入文件名>:从主机/网络列表中输入 -iR <主机数量>:选择随机目标 --exclude <主机1[,主机2][,主机3],...>:排除主机/网络 --excludefile <排除文件>:从文件中排除列表 主机发现: -sL:列表扫描 - 仅列出要扫描的目标 -sn:Ping 扫描 - 禁用端口扫描 -Pn:将所有主机视为在线 - 跳过主机发现 -PS/PA/PU/PY[portlist]:对给定端口进行 TCP SYN/ACK、UDP 或 SCTP 发现 -PE/PP/PM:ICMP 回显、时间戳和子网掩码请求发现探测 -PO[协议列表]:IP 协议 Ping -n/-R:从不进行 DNS 解析/始终解析 [默认:有时] --dns-servers <服务器1[,服务器2],...>:指定自定义 DNS 服务器 --system-dns:使用操作系统的 DNS 解析器 --traceroute:跟踪到每个主机的跳转路径 扫描技术: -sS/sT/sA/sW/sM:TCP SYN/Connect()/ACK/Window/Maimon 扫描 -sU:UDP 扫描 -sN/sF/sX:TCP 空、FIN 和 Xmas 扫描 --scanflags <标志>:自定义 TCP 扫描标志 -sI <僵尸主机[:探测端口]>:空闲扫描-sY/sZ:SCTP 初始化/COOKIE-ECHO 扫描 -sO:IP 协议扫描 -b <FTP 中继主机>:FTP 反弹扫描 端口指定和扫描顺序: -p <端口范围>:仅扫描指定的端口 例如:-p22;-p1-65535;-p U:53,111,137,T:21-25,80,139,8080,S:9 --exclude-ports <端口范围>:排除指定的端口不进行扫描 -F:快速模式 - 扫描的端口少于默认扫描 -r:按顺序扫描端口 - 不随机化 --top-ports <数量>:扫描最常见的 <数量> 个端口 --port-ratio <比率>:扫描比 <比率> 更常见的端口 服务/版本检测: -sV:探测开放端口以确定服务/版本信息 --version-intensity <级别>:设置从 0(轻度)到 9(尝试所有探测) --version-light:限制为最有可能的探测(强度 2) --version-all:尝试每一个探测(强度 9) --version-trace:显示详细版本扫描活动(用于调试) 脚本扫描: -sC:等同于 --script=default --script=<Lua 脚本>:<Lua 脚本> 是一个以逗号分隔的目录、脚本文件或脚本类别的列表 --script-args=<n1=v1,[n2=v2,...]>:为脚本提供参数 --script-args-file=文件名:在文件中提供 NSE 脚本参数 --script-trace:显示所有发送和接收的数据--script-updatedb:更新脚本数据库。 --script-help=<Lua 脚本>:显示有关脚本的帮助信息。 <Lua 脚本> 是脚本文件或脚本类别的逗号分隔列表。 操作系统检测: -O:启用操作系统检测 --osscan-limit:将操作系统检测限制在有希望的目标上 --osscan-guess:更积极地猜测操作系统 定时和性能: 选项中带 <time> 的参数以秒为单位,或者在值后附加 'ms'(毫秒)、's'(秒)、'm'(分钟)或 'h'(小时)(例如 30m)。 -T<0-5>:设置定时模板(数值越大越快) --min-hostgroup/max-hostgroup <大小>:并行主机扫描组大小 --min-parallelism/max-parallelism <数量>:探测并行化 --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <时间>:指定探测往返时间。 --max-retries <次数>:限制端口扫描探测重传次数。 --host-timeout <时间>:在指定时间后放弃目标 --scan-delay/--max-scan-delay <时间>:调整探测之间的延迟 --min-rate <数量>:每秒发送数据包的速度不低于 <数量> --max-rate <数量>:每秒发送数据包的速度不高于 <数量> 防火墙/入侵检测系统规避和欺骗: -f; --mtu <值>:分段数据包(可选指定 MTU 值)-D <诱饵1,诱饵2[,ME],...>: 使用诱饵掩盖扫描 -S <IP地址>: 源地址欺骗 -e <接口>: 使用指定接口 -g/--source-port <端口号>: 使用给定的端口号 --proxies <url1,[url2],...>: 通过 HTTP/SOCKS4 代理中继连接 --data <十六进制字符串>: 向发送的数据包附加自定义负载 --data-string <字符串>: 向发送的数据包附加自定义 ASCII 字符串 --data-length <数字>: 向发送的数据包附加随机数据 --ip-options <选项>: 发送带有指定 IP 选项的数据包 --ttl <值>: 设置 IP 生存时间字段 --spoof-mac <MAC 地址/前缀/供应商名称>: 欺骗您的 MAC 地址 --badsum: 发送带有错误 TCP/UDP/SCTP 校验和的数据包 输出: -oN/-oX/-oS/-oG <文件>: 分别以普通、XML、脚本小子和可grep格式输出扫描结果到给定的文件名。 -oA <文件名>: 同时以三种主要格式输出 -v: 增加详细程度(使用 -vv 或更多以获得更大效果) -d: 增加调试级别(使用 -dd 或更多以获得更大效果) --reason: 显示端口处于特定状态的原因 --open: 只显示打开(或可能打开)的端口 --packet-trace: 显示发送和接收的所有数据包--iflist:打印主机接口和路由(用于调试) --append-output:追加到指定的输出文件,而不是覆盖 --resume <文件名>:恢复中止的扫描 --noninteractive:禁用通过键盘进行的运行时交互 --stylesheet <路径/URL>:用于将 XML 输出转换为 HTML 的 XSL 样式表 --webxml:从 Nmap.Org 引用样式表以获得更通用的 XML --no-stylesheet:防止将 XSL 样式表与 XML 输出关联 杂项: -6:启用 IPv6 扫描 -A:启用操作系统检测、版本检测、脚本扫描和跟踪路由 --datadir <目录名>:指定自定义 Nmap 数据文件位置 --send-eth/--send-ip:使用原始以太网帧或 IP 数据包发送 --privileged:假定用户具有完全权限 --unprivileged:假定用户没有原始套接字权限 -V:打印版本号 -h:打印此帮助摘要页面。 示例: nmap -v -A scanme.nmap.org nmap -v -sn 192.168.0.0/16 10.0.0.0/8 nmap -v -iR 10000 -Pn -p 80 有关更多选项和示例,请参阅手册页(https://nmap.org/book/man.html)