【渗透工具系列】CRLF注入神器 crlfuzz
作者:FancyPig | 发布时间: | 更新时间:
相关阅读
视频讲解
本期视频我们将为大家介绍一款CRLF注入神器。CRLF注入(Carriage-Return Line-Feed injection,回车换行注入)我们可以通过这种注入方式将cookie或者一些其他的信息写入请求头中。
图文讲解
我们在实验环境中,使用GET请求访问/v1/test,我们可以发现在响应头中有X-Action字段,传递了我们URL中的test

那我们尝试将其修改为intigriti,看看响应头中的X-Action字段值是否也会随之变化?

从这里可以初步判断该站点可能存在CRLF漏洞
crlfuzz的安装
二进制安装
curl -sSfL https://git.io/crlfuzz | sh -s -- -b /usr/local/bin
go安装
可以使用go直接安装,要求go版本大于1.13
GO111MODULE=on
go install github.com/dwisiswant0/crlfuzz/cmd/crlfuzz@latest
github安装
git clone https://github.com/dwisiswant0/crlfuzz
cd crlfuzz/cmd/crlfuzz
go build .
mv crlfuzz /usr/local/bin
crlfuzz的使用
我们这时可以用crlfuzz工具验证
crlfuzz -u http://localhost:3000/v1/intigriti

可以看到有很多成功的结果

我们这里随便选取一个

我们将其复制下来

然后放到burpsuite里,进行验证
可以看到Set-Cookie字段成功传入了响应头,由此可能会带来很多危害后果。

上面的只是一个poc,你还可以用其完成很多事情,譬如绕过一些特定的保护机制,譬如在Set-Cookie中使用session字段

相关参数
| 参数 | 描述 |
|---|---|
| -u, --url | 定义单个 URL 以进行模糊测试 |
| -l, --list | 对文件中的URL进行模糊测试 |
| -X, --method | 指定要使用的请求方法(默认值:GET) |
| -o, --output | 保存结果的文件 |
| -d, --data | 定义请求数据 |
| -H, --header | 将自定义请求头传递给目标 |
| -x, --proxy | 使用指定代理进行模糊测试 |
| -c, --concurrent | 设置并发级别(默认:25) |
| -s, --silent | 静默模式 |
| -v, --verbose | 详细模式 |
| -V, --version | 显示当前 CRLFuzz 版本 |
| -h, --help | 显示它的帮助 |