一. 实验目的
(1)掌握网络漏洞扫描的原理和方法
(2)复习Nmap的使用命令和kali的使用
(3)学习开源扫描工具Nikto的使用
phpstudy软件下载地址
链接:https://pan.baidu.com/s/1g5nvonNm-p57kv-L68q9AQ?pwd=poza
提取码:poza
二. 实验环境
Windows7虚拟机一台,kali虚拟机一台
三. 实验工具
VMWare、PHPStudy、Nilto、Nmap
四. 实验步骤
(1)在靶机上面安装phpstudy
(2) 查看攻击机(KALI)和靶机(windows7)的IP地址。
(3)打开kali虚拟机,确保kali虚拟机能够联网,且和靶机相互ping通
(4)在kali上打开nikto工具,该工具默认扫描80 和443端口。
(5)通过 nikto -list-plugins 来查看插件信息。在使用nikto进行网站扫描的时候,默认加载全部插件。每个插件的具体信息请访问项目的github文档
(6)在靶机上面开启了phpstudy的服务
(7)使用nikto对网站进行常规扫描
(a)对靶机windows7开启常规扫描
可以看到,服务器是Apache/2.4.39版本,对anti-clickjacking X-Frame-Options header没有进行防护缺少X-Frame-Options头部信息会造成点击劫持(ClickJacking)的漏洞。这是一种视觉上的欺骗手段。
扫描结果提示the host is vulnerable to xst说明主机存在XST漏洞,即跨站追踪漏洞(Cross-Site Tracing)。XST是一种突破JavaScript访问HTTP请求头部敏感信息受限的方法。
(b)尝试指定端口扫描
使用命令:nikto -h IP/Hostname -p 端口号
(8)尝试使用Nikto进行批量扫描
在桌面上编写文件url_list,放入你想扫描的网址,并保存
在桌面上打开终端,并输入命令:Nikto -host 文件名
没有扫除结果,猜想可能是开启phpstudy的服务不对,开启ngnix,关闭apache
仍然没有结果
(9)在桌面上打开终端,输出文件
使用命令:nikto -h IP/Hostname -o 文件名.html -F htm
文件被输出在当前路径下
(10)打开刚刚输出的文件,进行查看和分析
五. 实验感想(总结、对实验的讨论、不足之处......)
【总结参考】
这次的实验让我掌握了nikto的使用命令并且复习了nmap的使用
六. 实验思考
1、web漏洞扫描常用的工具有哪些?AWVS, BP, SQLMAP,
2、漏洞扫描器的主要功能?扫描出web网站的漏洞
3、对于web漏洞扫描有哪些防范措施?
- 定期进行安全审计和漏洞扫描:确保你的网站和应用程序定期进行安全审计和漏洞扫描,及时发现并修复潜在的安全风险。
- 强化输入验证和输出编码:对于用户输入的数据,应进行严格的验证和过滤,以防止恶意输入或代码注入。同时,对输出数据进行适当的编码,以防止跨站脚本攻击(XSS)等安全问题。
- 更新和升级软件:及时更新和升级你的网站和应用程序所使用的软件,以确保其具有最新的安全补丁和功能改进。
- 限制文件上传功能:对于文件上传功能,应严格限制上传的文件类型和后缀,并对上传的文件进行安全检查,以防止恶意文件上传和代码注入。
- 实施访问控制和权限管理:根据业务需求和安全策略,对网站和应用程序实施适当的访问控制和权限管理,确保只有授权的用户才能访问敏感数据和功能。
- 使用安全的密码策略:强制使用安全的密码策略,包括密码长度、复杂度、更换频率等,以增强网站和应用程序的安全性。
- 配置安全日志和监控:配置安全日志和监控机制,记录网站和应用程序的所有活动,以便及时发现并应对潜在的安全威胁。
- 定期备份数据:定期备份网站和应用程序的数据,以防止数据丢失或损坏,同时也可以在发生安全事件时提供备份数据。