常见工具使用
WEB
dirsearch(目录扫描)
用于扫描网站下的目录或文件,原理就是通过字典在url后添加目录然后发包看响应,如果响应为200就说明有这个目录或文件
基本用法
python dirsearch.py -u http://xxx |
- 注意
- 如果扫描中发现有/.git为403响应,可以尝试使用
git_extract
去提取文件,举例ctfshow-web-红包题第七弹
- 安装教程
- 命令
命令选项 | 参数/说明 | 示例 |
---|---|---|
基本命令 | ||
-u URL |
指定目标URL | -u http://example.com |
-l FILE |
从文件读取多个目标URL | -l urls.txt |
扫描配置 | ||
-e EXTENSIONS |
指定文件扩展名(逗号分隔) | -e php,html,txt |
-w WORDLIST |
使用自定义字典文件(默认内置字典在db/ 目录) |
-w /path/to/wordlist.txt |
-t THREADS |
设置线程数(默认25) | -t 50 |
-r |
递归扫描(发现目录后继续深入) | -r |
-F |
强制为所有字典条目添加扩展名(需搭配-e 使用) |
-F -e php |
--timeout TIMEOUT |
设置请求超时时间(默认15秒) | --timeout 20 |
过滤与输出 | ||
-x STATUS_CODES |
排除指定状态码(如403,404) | -x 403,500 |
--exclude-text TEXT |
排除包含特定文本的响应(如“Not Found”) | --exclude-text "404" |
-o FILE |
将结果保存到文件 | -o results.txt |
--format FORMAT |
输出格式(支持plain /json /xml ,默认plain) |
--format json |
代理与请求头 | ||
--proxy PROXY |
设置代理服务器 | --proxy http://127.0.0.1:8080 |
-H HEADER |
添加自定义请求头 | -H "User-Agent: Test" |
--cookie COOKIE |
设置Cookie | --cookie "session=abc123" |
其他选项 | ||
--random-user-agents |
随机化User-Agent头(绕过简单WAF) | --random-user-agents |
--delay DELAY |
设置请求间隔延迟(秒) | --delay 1.5 |
-f |
美化输出(显示目录树结构) | -f |
-I STATUS_CODES |
仅忽略指定状态码(与-x 相反) |
-I 404 |
sqlmap(sql注入自动化检测工具)
- 主要就是通过命令来对指定url进行sql注入的测试,一般来说简单题自己会,难题跑不出,不过学会使用还是很好的
- 基本用法
python sqlmap.py -u http://xxx?xx=xx -dbs --batch |
- 安装教程
- 命令
类别 | 参数 | 功能说明 |
---|---|---|
目标指定 | -u URL |
指定目标 URL,检测注入点(如 -u "http://example.com?id=1" ) |
-m 文件路径 |
从文件中批量读取 URL 进行扫描(如 -m urls.txt ) |
|
-r 文件路径 |
从文件中加载 HTTP 请求(常用于 POST 注入,如 BP 抓包内容) | |
--dbms 数据库名字 |
指定数据库进行注入 | |
--technique 代码 |
指定方式进行注入,代码如下:B(布尔)、E(报错)、U(union)、S(堆叠)、T(时间)、Q(内联查询) | |
数据库操作 | -D 数据库名 |
指定目标数据库(如 -D mysql ) |
-T 表名 |
指定目标表(如 -T users ) |
|
-C 列名 |
指定目标列(如 -C username,password ) |
|
--dbs |
列出所有数据库 | |
--current-db |
获取当前数据库名 | |
--tables |
列出指定数据库的所有表 | |
--columns |
列出指定表的所有列 | |
--schema |
显示数据库表结构(包括字段类型) | |
--dump |
导出指定表的数据(如 --dump -T users ) |
|
--start 行数 |
指定导出的起始行(如 --start 10 ) |
|
--stop 行数 |
指定导出的结束行(如 --stop 20 ) |
|
--search |
搜索数据库/表/列(如 --search -C password ) |
|
会话与身份验证 | --cookie "值" |
设置 Cookie 进行身份验证或绕过限制(如 --cookie "PHPSESSID=abc123" ) |
请求配置 | --method=GET |
指定 HTTP 请求方法(如 --method=POST ) |
--referer "值" |
伪造 Referer 头(如 --referer "https://google.com" ) |
|
--user-agent "UA" |
自定义 User-Agent(如 --user-agent "Mozilla/5.0" ) |
|
--random-agent |
使用随机 User-Agent 绕过检测 | |
绕过防护 | --tamper "脚本名" |
使用篡改脚本绕过 WAF(如 --tamper "space2comment" ),具体可以看下这篇文章 |
输出控制 | --batch |
自动选择默认选项,无需交互确认 |
性能优化 | --threads 数值 |
设置并发线程数(1-10,如 --threads 5 ) |
--proxy "地址" |
通过代理发送请求(如 --proxy "http://127.0.0.1:8080" ) |
|
检测等级 | --level=1-5 |
设置检测等级(1-5,默认 1,等级越高检测越全面) |
风险控制 | --risk=0-3 |
设置风险等级(0-3,默认 1,高风险可能破坏数据) |
信息获取 | -b |
获取数据库版本(Banner) |
BurpSuite(抓包工具)
对请求抓包来进行修改或者攻击,常用模式有重发器和攻击器,攻击器可以用来实现弱口令爆破,重发器主要是对请求包进行修改后发出,比如添加cookie等,更高级的用法还在学习中
phpStudy(本地环境)
antSword中国蚁剑(连马)
- 当向网站传入一句话木马后可以通过蚁剑连接,蚁剑可提供的服务也很多,比如绕过禁用函数等,用里面的插件就可以了,不过平时我还是喜欢老老实实POST传参
- 安装教程,关于里面插件
要梯子,这个之前在做ctfshow_web-web12的时候学过,结果就是连手机热点也可以访问,所以没有梯子可以试下连热点
开发者工具F12(网页必用)
- 做题差不多必看吧,不管是找元素还是控制台来控制前端代码,都挺有用的,而且hackbar插件也要在里面使用
- 至于源码的话,有几种方法,ctrl+U,右键查看源代码,F12,
url
前加view-source:
这些都行,还有一些姿势就见SQCTF-WP
hackbar(网页传参)
- 对网页进行GET/POST传参,也可以进行部分编码编解码功能,而且也可以通过mode中的row模式来看到响应包,挺好用一个工具,不过感觉火狐那个版本不好用,推荐
chrome
商店里面找 - 下载地址,安装第一个就行
- 使用
git_extract(提取git泄露文件)
- 主要就是提取
.git
文件夹下的文件,重建项目源码,尤其是多人共同用git写项目时,可能信息泄露 - 基本用法
python git_extract.py http://xxx/.git |
- 下载地址,GitHub上下载源码后
cmd
运行就行,较GitHack
较为方便,两者功能相似
fenjing焚靖(ssti注入自动化检测工具)
在SQCTF第一次使用,也正是这样产生了写这篇文章的想法。主要还是图形化页面来实现
ssti
检测,get shell
后类似于连马基本用法
vv_fenjing\Scripts\activate.bat //进入虚拟环境 |
命令
命令 | 功能 | 选项 | 描述 |
---|---|---|---|
scan | 扫描指定的网站 | -u, --url TEXT |
需要扫描的URL |
-e, --exec-cmd TEXT |
成功后执行的shell指令,不填则进入交互模式 | ||
--interval FLOAT |
每次请求的间隔 | ||
--detect-mode TEXT |
检测模式,可为accurate或fast | ||
--user-agent TEXT |
请求时使用的User Agent | ||
--header TEXT |
请求时使用的Headers | ||
--cookies TEXT |
请求时使用的Cookie | ||
crack | 攻击指定的表单 | -u, --url TEXT |
form所在的URL |
-a, --action TEXT |
form的action,默认为当前路径 | ||
-m, --method TEXT |
form的提交方式,默认为POST | ||
-i, --inputs TEXT |
form的参数,以逗号分隔 | ||
-e, --exec-cmd TEXT |
成功后执行的shell指令,不填则成功后进入交互模式 | ||
--interval FLOAT |
每次请求的间隔 | ||
--detect-mode TEXT |
分析模式,可为accurate或fast | ||
--user-agent TEXT |
请求时使用的User Agent | ||
--header TEXT |
请求时使用的Headers | ||
--cookies TEXT |
请求时使用的Cookie | ||
get-config | 攻击指定的表单,并获得目标服务器的flask config | -u, --url TEXT |
form所在的URL |
-a, --action TEXT |
form的action,默认为当前路径 | ||
-m, --method TEXT |
form的提交方式,默认为POST | ||
-i, --inputs TEXT |
form的参数,以逗号分隔 | ||
--interval FLOAT |
每次请求的间隔 | ||
--detect-mode TEXT |
分析模式,可为accurate或fast | ||
--user-agent TEXT |
请求时使用的User Agent | ||
--header TEXT |
请求时使用的Headers | ||
--cookies TEXT |
请求时使用的Cookie |
arjun(参数爆破工具)
CRYPTO
sagemath(整合的数学软件,基于python)
- 用的不是太多,每次就是上去跑下脚本
- 安装教程
MISC
mp3stego
- 下载
https://www.petitcolas.net/steganography/mp3stego/
命令
-X 提取隐藏数据
-P用密码用于嵌入
-A 编写AIFF输出PCM声音文件
-s仅在此SB(仅调试)
inputBS 编码音频的输入位
outPCM 输出PCM声音文件(DFLT输入+.AIF | .pcm)
outhidden 输出隐藏的文本文件(dflt inputbs+.txt)使用
将需要加/解密的音频放在MP3stego同一文件夹下
然后在cmd
中输入以下命令
Decode.exe -X -p 密码 要尝试提取的文件名 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Yxing!