Fuzz与漏洞挖掘

前言

Fuzz一直是渗透测试中比较重要的技术,之前一直是听说并没有学习过,今天在漏洞银行看了一期视频[87期]看Fuzz与漏洞挖掘擦出火花,感觉讲的挺好的。在此记录一下。

目录Fuzz(base)

Fuzz敏感目录

御剑

一款经典的目录扫描工具。

它的工作原理就是: http://domain.com/+目录字典

一般我们的目录字典是这样子的

目录字典

那么这种扫描有什么好处呢?就是针对一部分网站可以扫描的全面,只要你的字典足够强大就可以扫描到绝大多部分的目录和文件,来自Blasting_dictionary的爆破字典很好,github地址https://github.com/rootphantomer/Blasting_dictionary这里的103w+目录字典就很符合御剑的模式,其实也就是看程序员的命名。

Dirsearch

dirsearch是一个基于python的命令行工具,旨在暴力扫描页面结构,包括网页中的目录和文件

下载地址

使用方法:

1
python3 dirsearch.py -u url -e php

Dirb

使用方法:

1
dirb url 字典

kali自带字典/usr/share/wordlist/dirb/...

wfuzz

wfuzz据说是最好用的一款fuzz工具,不过每个人喜欢的都不一样,适合自己的才是最好的。

使用方法:wfuzz使用教程

1
2
3
4
5
wfuzz -z file,/root/Desktop/Fuzzing/dic.txt URL/test/FUZZ
wfuzz -z file,/root/Desktop/Fuzzing/dic.txt URL/test/FUZZ -hc 404
wfuzz -z file,/root/Desktop/Fuzzing/dic.txt URL/test/FUZZ -hw 123 返回包大小
wfuzz -z file,/root/Desktop/Fuzzing/dic.txt URL/test/FUZZ -hs "Not found" 返回内容
wfuzz -c -z file,/root/dic1.txt -z file,/root/dic2.txt -hs xx1 -hs xx2 -d "log=FUZZ&pwd=FUZ2Z" http://ip/wp-login.php

案例

403

403

Hidden XSS

原文链接:https://markitzeroday.com/xss/finding/2018/02/03/hidden-xss.html

Nikto做目录Fuzz,发现了/test/目录,访问/test/

返回NULL,接着使用wfuzz做参数Fuzz

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ wfuzz -w /usr/share/wordlists/dirb/common.txt --hh 53 'http://rob-sec-1.com/test/?FUZZ=<script>alert("xss")</script>'
********************************************************
* Wfuzz 2.2.3 - The Web Fuzzer *
********************************************************

Target: HTTP://rob-sec-1.com/test/?FUZZ=<script>alert("xss")</script>
Total requests: 4614

==================================================================
ID Response Lines Word Chars Payload
==================================================================

02127: C=200 9 L 8 W 84 Ch "item"

Total time: 14.93025
Processed Requests: 4614
Filtered Requests: 4613
Requests/sec.: 309.0369

发现了item参数,访问http://domain/test/?item=<script>alert("xss")</script>,成功弹窗

参数Fuzz

以sqli-labs第29关为例

使用wfuzz自带的sqlfuzzer测试参数

wfuzz

把结果导出为html文件

wfuzz

看一下fuzz的结果

wfuzz

wfuzz

通过fuzz就发现这一关存在sql语句的报错!那么就有可能存在报错注入!fuzz更多时就会发现一些绕过它waf的情况。

Payload Fuzz(bypass)

参考:FUZZ过某狗

所谓payload fuzz其实就是通过大量测试枚举字符组合,最终得到能够绕过WAF的有效载荷!

URL跳转与SSRF

参数Fuzz和payload fuzz

后缀名Fuzz

文件上传,fuzz允许上传的后缀名

CRLF Fuzz

CRLFCarriage-Return Line-Feed的缩写,意思是回车换行,回车(CR, ASCII 13, \r),换行(LF, ASCII 10, \n),CRLF字符(%0d%0a)

XSS Payload Fuzz

XSS Fuzzer

wfuzz

总结

感觉Fuzz还是枚举吧,关键在于字典是否强大。

1
2
3
4
5
6
7
Fuzzdb
https://github.com/Fuzzdb-project/Fuzzdb
seclist
https://github.com/danielmiessler/SecLists
某大牛的字典
https://github.com/bl4de/dictionaries/
https://github.com/1N3/IntruderPayloads/