项目简介
文件扫描是安服的一个基本环节,网络上关于文件扫描的工具也有很多,比如御剑,7kbscan,dirsearch等,但是在实战的时候还是遇到不少的问题,比如跨平台问题以及动态404问题。所以按照自己的经验重新造了一个轮子。

项目特性
一 支持主流平台: 得益于golang的跨平台优势。一次编译,到处运行。
二 强大的并发: golang的并发独树一帜。12线程下能实现每秒千级请求。为了安全性,默认只设置了3线程。
三 路径记忆功能: Caesar可以记忆路径的击中次数,下次运行的时候,击中次数多的路径优先级会提高。
四 动态404判断: 针对网站不存在页面返回的404,200,3xx状态码可以自动识别判断。
五 动态文件后缀扫描功能: 比如发现index.php之后,程序会在二段扫描中扫描index.php.txt, index.php.swp, index.php.bak。
六 动态目录扫描功能: 比如发现/admin之后,程序会在二段扫描中扫描admin.zip, admin.rar, admin.tar, admin.tar.gz。
七 可自定义http请求头: 修改config.yml的Headers可以添加请求头内容。
八 可自定义User-Agent: 修改config.yml的UserAgent可以实现随机UA。
九 可自定义代理: 修改config.yml的Proxy可以实现代理访问。
十 可自定义cookie: 修改config.yml的Cookie在访问网站的时候会带着cookie。
十一 超大字典: 程序自带common,jsp,asp,php,spring,weblogic字典,合计超10万条路径,当然也可以自己定制。
十二 错误次数太多自动退出功能: 访问目标超时次数到达一定数量的时候会自动终止任务。
十三 支持-r读取http请求: 类似sqlmap的-r功能。
十四 支持批量扫描: 可以从文本中获取多目标。
需要的编译环境
Golang 1.15(推荐)

结果保存
日志和发现的信息会保存在results目录下

路径字典
路径字典在assets/directory目录下,相比于其他的程序的路径文本字典,Caesar的路径字典是json,可以通过

caesar convert -d ~/path/ 
将普通路径字典转换为程序能识别的json字典。将转换后的字典放在assets/directory目录下即可。

第三方框架
pb - 终端进度条实现
logrus - 一个非常简单但强大的日志记录器
cobra - Cobra既是一个用来创建强大的现代CLI命令行的golang库,也是一个生成程序应用和命令行文件的程序
fasthttp - fasthttp是Go的快速 HTTP 实现

TODO
 常见MVC框架的识别和字典优化。一个spring框架用.jsp的路径扫描显然不合适
 目录迭代扫描
 常见WAF阻止后缀的识别。WAF会阻止类似/www.zip 的请求,返回不同于应用程序本身的ban信息
 项目的持续优化和bug修复
 403目录绕过功能

项目地址:https://github.com/0ps/Caesar