Skip to content

Commit

Permalink
Change README and examples
Browse files Browse the repository at this point in the history
  • Loading branch information
Marven11 committed Jul 17, 2023
1 parent 4757c25 commit be9d631
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 1 deletion.
30 changes: 29 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
- 全自动分析网站的WAF并生成相应的payload
- 使用精确模式全面分析网站或使用快速模式减少不必要的网络请求
- 支持攻击对应的HTML表单或HTML路径
- 使用Shell指令对要发送的payload进行编码
- 方便的网页界面/命令行界面

## 快速上手
Expand Down Expand Up @@ -117,6 +118,8 @@ docker run -it --net host fenjing webui

### 作为命令行脚本使用

各个功能的介绍:

- webui: 网页UI
- 顾名思义,网页UI
- 默认端口11451
Expand All @@ -134,6 +137,27 @@ docker run -it --net host fenjing webui
- 示例:`python -m fenjing crack-path --url 'http://xxx/hello/'`
- get-config: 对某个特定的表单进行攻击,但是只获取flask config
- 参数大致上和crack相同

一些特殊的选项:

- `--detect-mode`:检测模式,可为accurate或fast
- 默认为accurate
- 在开始尝试触发WAF, 获取WAF页面对应hash时:
- accurate模式会一个接一个地发送尽可能多的payload
- fast模式会将多个payload组合在一起发送,
- 在生成payload时:
- accurate模式会先从最简单的方法试起
- fast模式会先尝试使用复杂但通常更能绕过WAF的方法
- `--tamper-cmd`:编码payload
- 某些情况下,目标会先将用户输入进行base64解码后再渲染
- tamper-cmd可以在payload发出前先调用shell指令对payload进行编码,从而处理上述情况
- 例如:
- `--tamper-cmd 'rev'`:将payload反转后再发出
- `--tamper-cmd 'base64'`:将payload进行base64编码后发出
- `--tamper-cmd 'base64 | rev'`:将payload进行base64编码并反转后再发出
- 更多例子可以参考[examples.md](examples.md)


```
Usage: python -m fenjing scan [OPTIONS]
Expand All @@ -147,6 +171,7 @@ Options:
--user-agent TEXT 请求时使用的User Agent
--header TEXT 请求时使用的Headers
--cookies TEXT 请求时使用的Cookie
--tamper-cmd TEXT 在发送payload之前进行编码的命令,默认不进行额外操作
--help Show this message and exit.
Usage: python -m fenjing crack [OPTIONS]
Expand All @@ -164,6 +189,7 @@ Options:
--user-agent TEXT 请求时使用的User Agent
--header TEXT 请求时使用的Headers
--cookies TEXT 请求时使用的Cookie
--tamper-cmd TEXT 在发送payload之前进行编码的命令,默认不进行额外操作
--help Show this message and exit.
Usage: python -m fenjing get-config [OPTIONS]
Expand All @@ -180,6 +206,7 @@ Options:
--user-agent TEXT 请求时使用的User Agent
--header TEXT 请求时使用的Headers
--cookies TEXT 请求时使用的Cookie
--tamper-cmd TEXT 在发送payload之前进行编码的命令,默认不进行额外操作
--help Show this message and exit.
Usage: python -m fenjing crack-path [OPTIONS]
Expand All @@ -194,6 +221,7 @@ Options:
--user-agent TEXT 请求时使用的User Agent
--header TEXT 请求时使用的Headers
--cookies TEXT 请求时使用的Cookie
--tamper-cmd TEXT 在发送payload之前进行编码的命令,默认不进行额外操作
--help Show this message and exit.
```
Expand Down Expand Up @@ -229,4 +257,4 @@ if __name__ == "__main__":

## 项目结构

[![](https://mermaid.ink/img/pako:eNp1VE1PxCAQ_SuERE_2D-zBg_GoF_WkNc0sHbZECisf7upm_7tQrNCPpUnDPB5vhpmBE2W6RbqhXOoD68A48nJXKxKG9dudgX1HvBPSkgTGwbTURvxgRgx-erQOTYa4Nn25RVmXzTRD1c49WTSVUEGIA8PSpRRvHOyGQxUWe6FARuw9Mw649ZGzjRwuDHJ9TOD7RIZU1W3C_4Mgsyhi6DZvuroibdBjTmhFnh4Kl8Ab7hVrdqia6Xmj1TAD7KPMiWWgGm_kOi9FVmheytIeXGcvhBHX8lK0lmGU6MJpoTB4Xvj-lhrawn3Ozdg4fwV3eHTNF5iCazuUsvnTmJC52C1x7jM7JyQdYQWcypDrqbvhpHPFASzt65XI_yswts-yuuPKtMIjuixD-g9teEFx1hlrwSfirJrrxPjRG9qHuwOiDdf9FDfX1HXYY003YarQOwOyprU6Byp4p5-_FaMbZzzeUL9vweG9gNAHPQ2XTNqA7kG9ap1tbIXT5jE9KcPLcv4FmdNlhw?type=png)](https://mermaid.live/edit#pako:eNp1VE1PxCAQ_SuERE_2D-zBg_GoF_WkNc0sHbZECisf7upm_7tQrNCPpUnDPB5vhpmBE2W6RbqhXOoD68A48nJXKxKG9dudgX1HvBPSkgTGwbTURvxgRgx-erQOTYa4Nn25RVmXzTRD1c49WTSVUEGIA8PSpRRvHOyGQxUWe6FARuw9Mw649ZGzjRwuDHJ9TOD7RIZU1W3C_4Mgsyhi6DZvuroibdBjTmhFnh4Kl8Ab7hVrdqia6Xmj1TAD7KPMiWWgGm_kOi9FVmheytIeXGcvhBHX8lK0lmGU6MJpoTB4Xvj-lhrawn3Ozdg4fwV3eHTNF5iCazuUsvnTmJC52C1x7jM7JyQdYQWcypDrqbvhpHPFASzt65XI_yswts-yuuPKtMIjuixD-g9teEFx1hlrwSfirJrrxPjRG9qHuwOiDdf9FDfX1HXYY003YarQOwOyprU6Byp4p5-_FaMbZzzeUL9vweG9gNAHPQ2XTNqA7kG9ap1tbIXT5jE9KcPLcv4FmdNlhw)
[![](https://mermaid.ink/img/pako:eNptU8tuwyAQ_BWE1JziH8ihh6rXntpT68ja4CVGxYvLo0ka5d-L7SQGxxwQDLuzj1nOXJga-YZLbQ6iAevZx0tJLC4XdnsLXcOCV9qxEeyXMNpY9YcTYvEnoPNoJ0ga26Yu5Px0HU9I9TySQ1soikQSBKYhtfqS4DYSivjYKgLdY9vJ4oC70NvsehupLEpzHMFtRsOK4nnE70mwWRbCgvhG6xK_EUmigaxkIFHtkSY0MrTKZ21wAqgKVj9wDXksOKTPy1FSdIllaGtJs6I6OGkDdVLU0xOrY5-EV4buol_F8nj01S-kPXANal1daTJjqfaPuAyTdZ7_IpjTsFUebihzzjiA6X21kPl9xm7SZ1LewFylcR9mZMEl0eexxpL4mrdxQkHV8VOde5-S-wZbLPkmHgmDt6BLXtIlmkLw5v1Egm-8DbjmoavB46uCKFrL4yhrF9EO6NOY6Y618sa-jR93-L-Xf1aoMIE?type=png)](https://mermaid.live/edit#pako:eNptU8tuwyAQ_BWE1JziH8ihh6rXntpT68ja4CVGxYvLo0ka5d-L7SQGxxwQDLuzj1nOXJga-YZLbQ6iAevZx0tJLC4XdnsLXcOCV9qxEeyXMNpY9YcTYvEnoPNoJ0ga26Yu5Px0HU9I9TySQ1soikQSBKYhtfqS4DYSivjYKgLdY9vJ4oC70NvsehupLEpzHMFtRsOK4nnE70mwWRbCgvhG6xK_EUmigaxkIFHtkSY0MrTKZ21wAqgKVj9wDXksOKTPy1FSdIllaGtJs6I6OGkDdVLU0xOrY5-EV4buol_F8nj01S-kPXANal1daTJjqfaPuAyTdZ7_IpjTsFUebihzzjiA6X21kPl9xm7SZ1LewFylcR9mZMEl0eexxpL4mrdxQkHV8VOde5-S-wZbLPkmHgmDt6BLXtIlmkLw5v1Egm-8DbjmoavB46uCKFrL4yhrF9EO6NOY6Y618sa-jR93-L-Xf1aoMIE)
21 changes: 21 additions & 0 deletions examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,27 @@ webui不支持自定义Headers和Cookie等特性,如果需要更灵活的使
- 指定Header:`python -m fenjing crack --url 'http://xxx.xxx' --method GET --inputs name --header 'Aaa: Bbb' --header 'Ccc: Ddd'`
- 指定Cookie:`python -m fenjing crack --url 'http://xxx.xxx' --method GET --inputs name --cookie 'name1=value1; name2=value2'`

### Tamper Cmd的使用

如果指定了`--tamper-cmd`参数,焚靖在每次提交payload时会使用指定的命令打开一个子进程,向这个子进程的标准输入传入payload, 并将子进程的输出作为编码后的结果进行提交。

例如:Linux中有一个命令行程序`base64`,它会从输入中读取内容,进行base64编码并输出

我们就可以使用`--tamper-cmd 'base64'`指定使用这个命令编码payload

同样道理,`--tamper-cmd 'base64|rev'`就是先进行base64编码再将内容反转

也可以使用python来自定义编码方式,例子如下:

先新建一个`encoder.py`,写入以下内容:

```python
s = input()
print(s[::-1], end = "") # 将payload反转
```

然后指定`--tamper-cmd 'python encoder.py'`就可以了


## 作为库使用

Expand Down

0 comments on commit be9d631

Please sign in to comment.