# afrog **Repository Path**: zanbin/afrog ## Basic Information - **Project Name**: afrog - **Description**: afrog 是一款性能卓越、快速稳定、PoC 可定制化的漏洞扫描工具 - A tool for finding vulnerabilities - **Primary Language**: Go - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 27 - **Forks**: 8 - **Created**: 2022-07-03 - **Last Updated**: 2026-01-03 ## Categories & Tags **Categories**: security-dev **Tags**: None ## README
Download • Wiki • Afrog PoC 规则编写权威指南
## PoC Contributors
## Configuration file
The first time you start afrog, it will automatically create a configuration file called `afrog-config.yaml`, which will be saved in the current user directory under `$HOME/.config/afrog/afrog-config.yaml`.
Here is an example config file:
```yaml
reverse:
ceye:
api-key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
domain: "xxxxxx.cey2e.io"
dnslogcn:
domain: dnslog.cn
alphalog:
domain: dnslogxx.sh
api_url: "http://dnslogxx.sh/"
xray:
x_token: "xraytest"
domain: dnslogxx.sh
api_url: "http://x.x.0.x:8777"
revsuit:
token: "xx"
dns_domain: "log.xx.com"
http_url: "http://x.x.x.x/log/"
api_url: "http://x.x.x.x/helplog"
```
`reverse` is a reverse connection platform used to verify command execution vulnerabilities that cannot be echoed back. Currently, only ceye can be used for verification.
### Ceye Configuration
To obtain ceye, follow these steps:
- Go to the [ceye.io](http://ceye.io/) website and register an account.
- Log in and go to the personal settings page.
- Copy the `domain` and `api-key` and correctly configure them in the `afrog-config.yaml` file.
### Dnslogcn
No configuration required, but unstable
[dnslog.cn](http://dnslog.cn/)
### Alphalog
Need to build services
[alphalog](https://github.com/AlphabugX/Alphalog)
### Xray
Need to build services
[xray](https://docs.xray.cool/tools/xray/advanced/reverse)
### Revsuit
Need to build services
[Revsuit](https://github.com/Li4n0/revsuit)、
[Tutorial](https://mp.weixin.qq.com/s/hGwcMz8sh7BImBjI3wHqnQ)
## Json Output (For developers)
### Json
Optional command: `-json` `-j`, Save the scan results to a JSON file. The JSON file includes the following contents by default: `target`, `fulltarget`, `id`, and `info`. The info field includes the following sub-fields: `name`, `author`, `severity`, `description`, and `reference`. If you want to save both `request` and `response` contents, please use the [-json-all](#jsonall) command parameter.
```sh
afrog -t https://example.com -json result.json
afrog -t https://example.com -j result.json
```
### Warning
The content of the JSON file is updated in real time. However, there is an important note to keep in mind: before the scan is completed, if developers want to parse the file content, they need to add a '`]`' symbol to the end of the file by themselves, otherwise it will cause parsing errors. Of course, if you wait for the scan to complete before parsing the file, this issue will not occur.
### JsonAll
Optional command: `-json-all` `-ja`, The only difference between the `-json-all` and `-json` commands is that `-json-all` writes all vulnerability results, including `request` and `response`, to a JSON file.
```sh
afrog -t https://example.com -json-all result.json
afrog -t https://example.com -ja result.json
```
## Screenshot

## As Library
### Simple Example
For comprehensive SDK documentation:
- [SDK Usage Guide (English)](docs/SDK_Usage_Guide_English.md)
- [SDK使用指南 (中文)](docs/SDK使用指南_中文.md)
### More Examples & Documentation
- [Basic scanner](examples/basic_scan/main.go)
- [Async scanner](examples/async_scan/main.go)
- [OOB scanner](examples/oob_scan/main.go)
- [Progress scanner](examples/progress_scan/main.go)
## Discussion group
To join the afrog communication group on WeChat, please first add the afrog personal account and mark it as **afrog**. Then, you will be added to the group by the administrator.
## 404Starlink
afrog has joined [404Starlink](https://github.com/knownsec/404StarLink)
## Disclaimer
This tool is intended only for **legally authorized** enterprise security construction purposes. If you want to test the functionality of this tool, you should build a target environment by yourself.
To prevent malicious use, all PoCs included in this project are theoretical assessments of vulnerabilities. The tool does not exploit vulnerabilities, launch real attacks or exploits on targets.
When using this tool for vulnerability scanning, it is important to ensure that your behavior complies with local laws and regulations, and that you have obtained sufficient authorization. **Do not scan unauthorized targets**.
If you engage in any illegal behavior while using this tool, you will be solely responsible for any corresponding consequences, and we will not bear any legal or joint responsibility.
Before installing and using this tool, please **read each clause carefully and thoroughly**. Restrictions, disclaimers, or other clauses that may significantly affect your rights and interests may be highlighted in bold or underlined to draw your attention. Unless you have fully read, fully understood, and agreed to all the terms of this agreement, do not install or use this tool. Your use of the tool or your acceptance of this agreement in any other express or implied manner will be deemed as your acknowledgment and agreement to be bound by this agreement.