Skip to content

w13scan正在进行的更新

字数
1160 字
阅读时间
5 分钟
更新日期
4/12/2020

两周前畅想了w13scan今年要进行的更新,突然发现github上w13scan的star数量越来越多,尽早更新的心情也愈加强烈。这篇日志记录一下这两周在空闲时间进行的一些修改。

内置反连平台

w13scan内置了自己的反连平台,支持http,dns,Java RMI三种类型的反连,反连平台实现很简单,都是用纯python编写,没有用到第三方库,减少一些依赖的负担吧。

反连平台因为需要配置,默认是不启用的,但是也内置了一个第三方的反连平台dnslog.cn,这个平台很好,不需要账号,即开即用,所以它是默认启用的(有时间我也用go实现一个,就不用内置了)。

Fastjson 检测

反连平台内置实现了Java RMI协议,就是为了检测fastjson,虽然用dnslog也可以,但在内网使用的话还是用内置的RMI反连比较好(这一切也不需要配置,一行命令启动反连平台即可)。

目前使用的payload

image-20200411192022102

同时根据这个issue https://github.com/alibaba/fastjson/issues/307 也实现了用dnslog来检测是否使用fastjson。

插件API代码更新

之前的插件代码总觉得比较冗余,经过一番改进,重写了插件api的部分,让代码更加精简,更加优美,更加python。

插件API可以从请求包或返回包获取想要的任何信息,返回信息都用了@property修饰符,所以可以像调用属性一样调用参数。

php代码执行插件例子

image-20200412090918005

同时不再区分get和post类型插件,所有请求(get,post,cookie等)都在一个插件中完成。

信息收集功能

w13scan在载入一个目标时会对目标进行简单的信息收集,收集插件提取自[wappalyzer]

image-20200412091537336

信息收集插件的编写方式就和sqlmap编写waf插件一样。

漏洞插件优化

去除了一些命中不太高的插件,对一些插件的检测细节做了优化。目前已经更新好的插件有以下:

  • [x] XSS扫描
    • 基于语义的反射型XSS扫描,准确率极高
  • [x] jsonp信息泄漏
    • 基于语义解析寻找敏感信息
  • [x] http smuggling 走私攻击
  • [x] Fastjson检测与利用
  • [x] .Net通杀Xss检测
    • portswigger 2019十大攻击技术第六名
  • [x] iis解析漏洞
  • [x] 敏感文件信息泄漏
    • 支持含备份文件,debug文件,js敏感信息,php真实路径泄漏,仓库泄漏,phpinfo泄漏,目录遍历等
  • [x] baseline检测(反序列化参数检测)
  • [x] 命令/代码注入检测
    • 支持asp,php等语言的检测
    • 支持系统命令注入检测(支持无回显检测)
    • 支持get,post,cookie等方式检测
  • [x] 路径穿越漏洞
  • [x] struts2漏洞检测
    • 包括s2-016、s2-032、s2-045漏洞

参数提取

感谢@Garlic提供的思路,w13scan扫描器会通过html语义分析与js的语义分析自动从网页中寻找更多参数用于测试,并根据算法只保留动态的参数进行测试。

这个功能经过测试命中率很高,会发现很多漏洞。再次感谢@Garlic。

结果输出

以前w13scan只输出在终端上,现在w13scan会默认实时输出结果(以json格式)到output目录,方便使用者用来进行其他分析操作。

也支持生成网页的形式,魔改了xray report的部分,截图暂时只是个demo,还未完成。

image-20200412092305330

后续

上面所述的更新只是整体更新中的1/3,还有很多内核细节就不一一赘述了(例如增加对uri,header头的参数扫描)。后面还需要进行的更新,就是将w13scan的这些内核细节完善,还要考虑如何优雅的进行主动扫描以及与burpsuite配合,同时完善各种文档,README等等。

漏洞扫描插件还计划对sql注入插件进行重写,以前适应的情况还少,准备从sqlmap中提取payload。

预计还有2~3周,w13scan 1.0将发布!

撰写

布局切换

调整 VitePress 的布局样式,以适配不同的阅读习惯和屏幕环境。

全部展开
使侧边栏和内容区域占据整个屏幕的全部宽度。
全部展开,但侧边栏宽度可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
全部展开,且侧边栏和内容区域宽度均可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
原始宽度
原始的 VitePress 默认布局宽度

页面最大宽度

调整 VitePress 布局中页面的宽度,以适配不同的阅读习惯和屏幕环境。

调整页面最大宽度
一个可调整的滑块,用于选择和自定义页面最大宽度。

内容最大宽度

调整 VitePress 布局中内容区域的宽度,以适配不同的阅读习惯和屏幕环境。

调整内容最大宽度
一个可调整的滑块,用于选择和自定义内容最大宽度。

聚光灯

支持在正文中高亮当前鼠标悬停的行和元素,以优化阅读和专注困难的用户的阅读体验。

ON开启
开启聚光灯。
OFF关闭
关闭聚光灯。

聚光灯样式

调整聚光灯的样式。

置于底部
在当前鼠标悬停的元素下方添加一个纯色背景以突出显示当前鼠标悬停的位置。
置于侧边
在当前鼠标悬停的元素旁边添加一条固定的纯色线以突出显示当前鼠标悬停的位置。