文章的格式也许不是很好看,也没有什么合理的顺序
完全是想到什么写一些什么,但各个方面都涵盖到了
能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道
实验环境:
Kali机器IP:192.168.163.132
Metasploitable机器IP:192.168.163.129
下面我介绍几个工具:Nikto、Skipfish
Nikto了解即可,重点要学会使用Skipfish
Nikto:
一个Perl语言编写的扫描器,小巧便捷,弱点:1.功能有限、2.命令行工具通病,结果不便查看
直接对URL进行扫描:-host
指定IP地址和端口:
nikto也支持HTTPS扫描:
扫描出来的结果不能说不全面,但是,命令行的形式是真的不方便看:
有一个参数可以把这个导出来:-output,但我感觉并不能从本质上改变什么
nikto还可以和nmap结合:
我这一行的意思:nmap扫描某个网段,把所有开放80端口的主机再交给nikto进行扫描
使用代理:
Nikto可以实现HTTP身份认证·,然而现在的HTTP认证方式罕见
下面这个工具相对于Nikto来说,界面会美观很多
Skipfish:
C语言编写,虽说也是一个命令行的扫描器,但界面更友好,功能比较强大,我喜欢用
扫描完之后,结果是一个网页的形式,比较美观的
速度较快,误报几率低,基于字典而递归爬网
使用Skipfish要注意必须使用:-o参数,输出
使用:skipfish -o test1 http://192.168.163.129/dvwa
速度非常地快:
在扫描的过程中按下Space(空格),就会进入详细模式:显示现在进行的扫描详情
而且:我虽然只是扫了dvwa目录,但是它全部扫描了所有路径,那么有没有什么参数进行限制呢?
有:-I参数:-I dvwa
这里注意:新版本会报错,需要去掉-I后边的/,即:-I dvwa
静候扫描完毕:
然后找到test1文件夹,打开index.html,这里就是扫描结果
往下看,可以找到扫描出的各种级别的漏洞:
到这里就完成了一个基本的扫描任务
高级操作:
1.扫描一个txt文本:
vi一个文本,insert下面这些,然后:wq(新建文本url.txt)
http://192.168.163.129/dvwa
http://www.4399.com
http://www.cnblogs.com
然后就可以用skipfish来扫这些:
发现果然扫描着我文本中写的那些,而且顺序不确定:
2.指定字典扫描:
我先想办法查看skipfish里面都有哪些字典:发现有4种
medium中等,minimal最小,extensions-only扩展的,complete完整
我们可以指定字典来扫描:-S
开始后,我选择的是完成字典,发现竟然发送将近25万次请求:
扫描完后,可以把扫描到的特有字符串保存下来供以后的扫描使用:
比如:-W demo.wl
就可以保存一个demo.wl
3.过滤字符串:
-X参数避免一些字符串扫描
用途:比如我们扫描网站时候,要避免logout这样的字眼,否则已经登陆的账号会注销
4.身份认证
skipfish支持的身份认证是比较全面的
首先是HTTP身份认证(虽然用不到,但还是要介绍下):-A参数
skipfish -A username:password
然后看看Cookie身份认证:-C参数
我先登陆到DVWA,然后查看Cookie:
然后使用这个Cookie来使用skipfish:并综合上边的一些命令,一般实际应用就是这样的命令
Skipfish还有一种更强大的身份认证:表单身份认证(这种是最常用的):
这个命令很复杂,我复制出来解释:
skipfish -I dvwa -o test
--auth-form http://192.168.163.129/dvwa/login.php
--auth-user-field username
--auth-user admin
--auth-pass-field password
--auth-pass password
--auth-verify-url http://192.168.163.129/dvwa/index.php http://192.168.163.129
第一行不用解释
第二行是表单URL
后边是用户名和密码的name属性以及需要填的值
最后一行是认证成功跳转的url
5.其他的一些参数
-D参数:跨域扫描,用于带有iframe的html页面
-l参数:并发扫描(类似开启多线程)