└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # TsojanScan 2 | 一个集成的BurpSuite漏洞探测插件 3 | 4 | ## First 5 | 本着市面上各大漏洞探测插件的功能比较单一,因此与[TsojanSecTeam](https://github.com/Tsojan)成员决定在已有框架的基础上修改并增加常用的漏洞探测POC,它会以最少的数据包请求来准确检测各漏洞存在与否,你只需要这一个足矣。 6 | 7 | 8 | ### Usage 9 | #### 1、加载插件 10 | 11 |
12 | 13 | #### 2、功能介绍 14 | #### (1)面板 15 | 16 |
17 | 自定义黑名单,插件不扫描黑名单的url列表,进行Reg匹配优先级第一。 18 |
19 | 20 |
21 | 22 | #### (2)主动探测 23 | 24 |
25 | 26 | 比如探测非根目录/,目录下面需要加/ 27 |
28 | 29 | 30 | #### 3、fastjson >=1.2.80探测 31 | #### (1)本地环境 32 | 33 | 34 | #### (2)预查询DNSlog接口 35 | 36 | 37 | 38 | #### (3)扫描 39 | 40 | 41 | #### (4)判断准确版本 42 | 1.2.80版本探测如果收到了两个dns请求,则证明使用了1.2.83版本,如果收到了一个 dns 请求,则证明使用了1.2.80版本。 43 |
44 | 45 | 46 |
47 | 48 | #### 4、DNSLog查询漏报 49 | 50 | 51 | 52 | 53 | 54 | 55 | 注意⚠️:扫描结束后才会在BurpSuite的Target、Dashboard模块显示高危漏洞,进程扫描中无法进行同步,但可以在插件中查看(涉及到DoPassive方法问题)。 56 | 57 | 58 |
59 | 60 | ### Update 61 | 62 | #### 更新说明 - v1.4.6 63 | 64 | 1. 新增XyzDnsLog平台,删除不可用的DnsLog,由于国内政策问题,建议使用Ceye dnslog平台; 65 | 2. 修复适配Burp Suite Pro 2024年度版本报错问题; 66 | 3. 优化发包代码逻辑,更新插件稳定性。 67 | 68 | #### 更新说明 - v1.4.5 69 | 70 | 1. 增加nacos漏洞被动扫描,CVE-2021-29441 & QVD-2023-6271 ; 71 | 2. 增加jpath主动模块化扫描,集合SpringBoot Env、Druid、Swagger 相关无害化POC; 72 | 3. 更新dnslog平台,删除不可用的dnslog,默认设置Ceye dnslog平台; 73 | 4. 修复新版本BurpSuite版本报错问题 #23 ; 74 | 5. 修复删除测试垃圾代码,优化插件稳定性。 75 | 76 | ### Tips 77 | #### 由于工作原因,更新会比较慢,各位师傅提的issues,都会一条条仔细回复,新功能上线前团队内部会进行大量本地、实战项目测试所以周期较长,请各位师傅谅解。。ORZ 78 | 79 | 80 | #### 更新说明 - v1.4.4 81 | 82 | 1. 优化代码结构; 83 | 84 | 2. 修复weblogic弱口令误报bug; 85 | 86 | 3. 增加otf后缀不扫描规则; 87 | 88 | 4. 删除asix/happaxis.jsp扫描规则; 89 | 90 | 5. 增加sql语法错误的页面回显扫描模块,只显示sql错误显示(参数后面增加单引号、双引号、反斜线,去查看有没有SQL错误语句) 91 | 92 | 93 | 94 | 95 | 96 | #### 更新说明 - v1.4.3 97 | 98 | 1. 修复首次加载插件占用过多资源的问题造成假死进程状态。 99 | 100 | 2. 增加dnslog:DNSlog平台Xssx1,首次加载插件使用Ceye,后续启动则默认使用上次应用的dnslog,若网络环境较好,推荐使用Xssx1、Microsoftz方式。 101 | 102 | 3. 增加主动/被动 Ueditor .net 文件上传扫描模块。 103 | 104 | 105 | 106 | #### 更新说明 - v1.4.2 107 | 108 | 1.增加Ceye dnslog平台,默认加载为Microsoftz,需要手动加载Ceye后,下次再打开将自动加载上次Apply应用的dnslog。 109 | 110 | 2.优化添加配置设置不显示插件的bug。 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | #### 更新说明 - v1.4.1 119 | 120 | 1. 修复dnslog平台,更换api接口。 121 | 2. 版本号未修改,下次更新上传。 122 | 123 | #### 更新说明 - v1.4 124 | 125 | 1. 增加 laravel 漏洞扫描、增加 laravel 主动扫描。 126 | 2. Issue 首字母大写(强迫症福音)。 127 | 3. 增加自定义每个请求之间延时的功能。 128 | 4. 增加SQL注入扫描、增加SQL注入主动扫描(MySQL报错,时间盲注SQL全系列)。 129 | 5. 修复Text4shell某些头部不扫描的问题。 130 | 6. 修复主动扫描时已存在的漏洞不会重复添加的问题。 131 | 7. 修复dnslog平台,更换api接口为dnslog.rest。 132 | 133 | 134 | #### 更新说明 - v1.3 135 | 136 | 1. 增加thinkphp多语言rce漏洞扫描。 137 | 2. 优化thinkphp多语言rce探测数据包,减少发包数量。 138 | 139 | 140 | #### 更新说明 - v1.2 141 | 142 | 1. 增加Fastjson参数扫描,并增加Fastjson主动扫描。 143 | 2. 修改引入的fastjson库版本为1.2.83,防止被反制。 144 | 3. 删除自己添加的bp api,改为maven库导入模式。 145 | 4. 增加axis服务接口扫描。 146 | 147 | 148 | #### 更新说明 - v1.1 149 | 150 | 1. 增加Domain黑名单设置,可手动添加域名让插件对该域名进行判断是否为黑名单,从而不对其进行漏洞探测,来减少多余的探测进程影响渗透过程。。 151 | 2. 黑名单模式添加方式:google.com或者google,127.0.0.1或者127.0.0.1:8080;之前的扫描进程不会中断,下一个域名或者ip开始进行判断。 152 | 3. Reset表示恢复默认黑名单状态,也就是当前初始化状态。 153 | 4. apply表示当你启用BlackList功能时,需要apply加载。 154 | 155 | 156 | #### 更新说明 - v1.0 157 | 158 | 1. 增加druid未授权扫描。 159 | 2. 修复log4j只扫描 已有头部与容易出现问题头部取交集 的问题。 160 | 3. 修复SpringBoot Env、swagger、druid在同一文件中导致的发现druid则不再探测其他漏洞的问题。 161 | 4. 修改dnslog请求次数,改为仅在插件开启时请求一次,方便查询dnslog结果。 162 | 5. 不扫描dnslog平台(某个家伙Yyy连dnslog都自己扫了)。 163 | 6. 增加了spring cloud gateway扫描,但没加漏洞检测。 164 | 7. 修复了spring cloud SPEL漏洞不报的问题,增加/functionRouter接口扫描。 165 | 8. 修复只取host不取port导致同一域名不同端口会跳过扫描的问题。 166 | 9. 修复fastjson扫描无法通过dnslog获取结果的问题。 167 | 10. 修复匹配URL后缀时使用包含的方式,改为以xx后缀结尾。 168 | 11. 修改log4j和text4shell为不扫描.asp/.php/.aspx等后缀。 169 | 12. 增加ThinkPHP主动自定义目录扫描 170 | ○ 比如:想扫描/Think5/目录的话,Repeater请使用GET /Think5/ HTTP/1.1; 171 | ○ 缺点:如果想主动扫描根目录或public目录的话,Repeater请使用根目录GET / HTTP/1.1。 172 | 13. 修改结果窗口的请求和响应分割线,将其保持在中间的位置。 173 | 14. 增加Weblogic主动扫描(这个也有类似ThinkPHP的自定义目录扫描)。 174 | 175 | 176 | #### 更新说明 - v0.1 177 | 178 | 1. 修改dnslog部分,将ceye删除,创建了testmail.buzz(已修复)。 179 | 2. 增加Text4shell漏洞探测。 180 | 3. 增加springboot信息泄露扫描记录,防止扫描重复路径。 181 | 4. 增加配置窗口,替代config.json文件。 182 | 183 | 184 | ### ToDo 185 | 186 | - [x] 增加swagger-resource的扫描与匹配规则。 187 | - [x] 修复路径中包含.js即跳过扫描的问题。 188 | - [x] 增加druid的扫描配置。 189 | - [x] 增加springboot扫描绕过部分(后跟.json后缀、增加/绕过方式)。 190 | - [x] 增加log4j扫描的头部字段。 191 | - [x] 增加spring漏洞扫描(core没加)。 192 | - [x] 增加log4j的404路径扫描,未测试,没找到测试环境。 193 | - [x] 增加fastjson扫描规则。 194 | - [x] 增加ThinkPHP Scan。 195 | - [x] 修改sql注入扫描 - 后续慢慢来,工程量太大。 196 | - [x] 增加weblogic检测poc。 197 | - [x] 删除Level Make功能。 198 | - [x] 修改scannedURL,改为每个POC都有自己的scannedURL并单独检测。 199 | - [x] 增加fastjson检测(参数中的)。 200 | - [ ] 增加shiro扫描key - 比较占用时间,决定不加。 201 | - [ ] 增加log4j、Text4shell、fastjson的延迟检测 - 决定不加,手动探测吧。 202 | - [x] 修改bp的interface,改为2022的interface,目前issue无法同步到dashboard那里。 203 | - [x] 设置ThinkPHP扫描每个目标仅扫一次。 204 | - [x] 设置weblogic扫描每个目标仅扫描一次。 205 | 206 |
207 | 208 | ### Thanks 209 | 210 | 部分代码参考来源: 211 | 212 | https://github.com/pmiaowu/BurpShiroPassiveScan 213 | 214 | https://github.com/pmiaowu/BurpFastJsonScan 215 | 216 | https://github.com/l1ubai/GyScan 217 | 218 | https://github.com/whwlsfb/Log4j2Scan 219 | 220 | ### END 221 | 222 | 欢迎各位师傅提Issue。。。 223 | 224 | --------------------------------------------------------------------------------