Skipfish扫描原理解读

Skipfish是一款由谷歌开发的高效Web应用安全性检测工具,具备高速扫描、命令行操作及全面漏洞检测能力。它通过递归爬虫与字典攻击,生成互动式站点地图,并对可能存在的安全问题进行标记,包括XSS、SQL注入等多种类型漏洞。
摘要由CSDN通过智能技术生成

Skipfish分析

1. Skipfish简介

Skipfish由谷歌制作,于2010年对外发布。Skipfish被描述是一个高效的Web应用程序的安全性检测工具,它不仅仅是一款检测工具。它是一款完整的漏洞扫描工具。它有以下特点:

1) 高速:它可以达到每秒400多个请求,在高速局域网下可以到达每秒2000多个请求;
2) 它的命令行选项简单易用;
3) 它可以检测出各种各样的漏洞问题,从简单的目录遍历和信息泄露到不同类型的SQL注入和XML注入;
Skipfish的主要缺点是自从2012年以来就没有更新过。对于一些新兴的技术它并不适用于此。
skipfish是一种活动的Web应用程序安全侦察工具。它通过执行递归爬网和基于字典的探针来为目标站点准备一个交互式站点地图。然后,使用来自多个活动(但希望是非破坏性)安全检查的输出对结果映射进行注释。该工具生成的最终报告旨在作为专业Web应用程序安全评估的基础。

2. skipfish原理

该工具会首先尽可能获取所有网站路径,进行访问,然后根据返回的内容,检测是否存在漏洞。该工具采用字典爆破和网页爬行两种方式获取网站。一旦获取网页内容,该工具会自动分析网页内容,扩充字典,从而提高爆破效率。同时,该工具提供特征码文件,对网页内容进行分析,以发现潜在漏洞。用户可以根据需要,扩充预置的特征文件,加强扫描功能。

3. skipfish使用

在这里插入图片描述
该工具会首先尽可能获取该网址下的所有路径,进行访问,然后根据返回的内容,检测是否存在漏洞。
在这里插入图片描述
在这里插入图片描述
扫描完成后会生成一个index.html文件,如下图所示:
在这里插入图片描述
在这里插入图片描述

4. payload的生成原理

Payload的生成方式是在/src/http_client.c源码文件中。

4.1. payload特征

4.1.1. XSS注入

在check.c源码文件中,可以看到XSS注入的相关信息。
在这里插入图片描述
经过分析inject_xss_tests函数,发现对http头的一些字段加了new_xss_tag;
在这里插入图片描述
在database.c源码文件中,分析new_xss_tag函数,可以看到XSS注入存在 “–>">’>’"<sfi6位数v6位数>”特征。
在这里插入图片描述

4.1.2. SQL注入

在check.c源码文件中,可以看到SQL注入的相关信息。
在这里插入图片描述
经过分析inject_sql_tests函数,发现 SQL注入请求头中可能会出现“sfi9-0数字”特征(数字从大到小,0-9位,例如sfi9876)并且请求头最后会出现“’””等标识,在请求中User-Agent、Referer、Accept-Language这三个字段会出现“sfish’"”标识。
在这里插入图片描述
SQL注入主要特征如下图所示: 在这里插入图片描述

4.1.3. XML注入

在check.c源码文件中,可以看到XML注入的相关信息。
在这里插入图片描述
通过分析inject_xml_tests函数,发现XML注入检测时可能会出现“sfish>’>">”特征。
在这里插入图片描述

4.1.4. 重定向注入

在check.c源码文件中,可以看到重定向注入的相关信息。
在这里插入图片描述
通过分析inject_redir_listing_tests函数,发现重定向注入可能存在“http://skipfish.invalid/;?”,“//skipfish.invalid/;?”,“skipfish://invalid/;?”,“‘skip’’’“fish”""”,“‘skip’’’“fish”""”等特征。
在这里插入图片描述

4.1.5. Shell注入(diff)

在check.c源码文件中,可以看到shell注入(diff)的相关信息。
在这里插入图片描述
通过分析inject_diff_shell_tests函数,我们可以发现shell注入存在下图特征:
在这里插入图片描述

4.1.6. Shell注入(spec)

在check.c源码文件中,可以看到shell注入(spec)的相关信息。
在这里插入图片描述
通过分析inject_ shell_tests函数,我们可以发现shell注入存在下图特征:

在这里插入图片描述在这里插入图片描述

4.1.7. format string

在check.c源码文件中,可以看到format string的相关信息。
在这里插入图片描述
通过分析inject_format_tests函数,发现format string检测可能存在下图特征:
在这里插入图片描述

4.1.8. integer handling

在check.c源码文件中,可以看到integer handling的相关信息。
在这里插入图片描述
通过分析inject_integer_tests函数,发现integer handling检测可能会存在下图特征:
在这里插入图片描述

4.1.9. 目录遍历

在check.c源码文件中,可以看到目录遍历的相关信息。
在这里插入图片描述
通过分析inject_dir_listing_tests函数,发现目录遍历的http请求头中可能会出现如图所示字段:
在这里插入图片描述

4.1.10. 本地文件包含

在check.c源码文件中,可以看到本地文件包含的相关信息。
在这里插入图片描述
通过分析inject_lfi_tests函数,发现目录遍历的http请求头中可能会出现“%二进制”或者“/…”的特征。

4.2. Accept-Encoding和Connection生成原理

Accept-Encoding和Connection除了XSS注入、SQL注入等,其余都是默认固定的
在这里插入图片描述

4.3. User-Agent生成原理

User-Agent生成根据浏览器选择不同的类型,版本也会根据skipfish的版本不同而不同。也可以添加-b参数伪装成IE/FIREFOX/IPHONE的浏览器
在这里插入图片描述

4.4. Range生成原理

在这里插入图片描述

4.5. Range生成原理

在这里插入图片描述

完结!

skipfish是一个Web应用程序安全扫描工具,用于识别和评估Web应用程序中的安全漏洞。下面是使用skipfish的步骤: 1. 首先,你需要下载并安装skipfish。你可以从官方网站或其他可靠的来源获取安装文件。 2. 打开终端或命令提示符,并导航到skipfish的安装目录。 3. 使用以下命令启动skipfishskipfish -o [输出目录] -S [字典文件路径] [目标URL] -o参数指定结果输出的目录,可以是任何你喜欢的路径。 -S参数指定字典文件的路径,这个字典文件包含了要用于扫描的URL和参数的列表。 [目标URL]是要扫描的Web应用程序的URL。 4. 执行命令后,skipfish将开始进行扫描,并将结果保存在指定的输出目录中。你可以在输出目录中查看生成的报告文件以及其他相关文件。 5. 除了基本的扫描命令,skipfish还提供了其他一些指令,可以根据需要进行使用。你可以查阅skipfish的文档或官方网站来了解更多关于这些指令的信息。 总结一下,使用skipfish的步骤包括下载安装skipfish、启动skipfish并指定输出目录、字典文件和目标URL,然后等待扫描结果生成。希望这些信息对你有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [shipfish详细使用教程](https://blog.csdn.net/smli_ng/article/details/106005171)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [kail系列skipfish的操作使用](https://blog.csdn.net/weixin_44232687/article/details/108921970)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值