一、 AppScan
扫描方法
1. 尽可能多的尝试使用不同的单项功能进行扫描
2. 对扫描结果的每一项都仔细的查询相关的技术内容
AppScan简介
AppScan是IBM公司出的一款Web应用安全测试工具
采用黑盒测试的方式,可以扫描常见的web应用安全漏洞。
工作原理
1. 根据起始页爬取站下所有可见的页面,同时测试常见的管理后台;
2. 获取所有页面后利用SQL注入原理进行测试是否存在注入点以及跨站脚本攻击的可能;
3. 同时对cookie管理、会话周期等常见的web安全漏洞进行检测。
AppScan功能齐全,支持登录功能并且拥有十分强大的报表。
扫描结果能看到扫描的漏洞,还提供了详尽的漏洞原理、修改建议、手动验证等功能。
缺点在于作为一款商业软件,价格十分昂贵。
网上有破解版。
请勿随意扫描互联网上的中小企业网站。
扫描测试站点。
简单扫描实例
1. 常规扫描
2. 输入目标网站
3. 记录(有无账号密码注册,没有就无)。
4. 缺省值(默认值)[慎重选择侵入式]
5. 扫描专家:优化策略
注:简单的配置,可能无法找到所有网页。例如:类似业务逻辑,转账之类的功能点。转账成功的页面扫描器是无法到达的。或者AppScan自带的浏览器无法打开某些网页。
其他功能
1. Web service扫描
2. 玻璃盒扫描技术
3. 记录代理功能(手机代理)
扫描结果分析
1. 根据问题建议写渗透报告
2. 认证参数是密码参数并且不是通过SSL发送的(密码明文,易泄露)
3. 报告导出:修复建议等,pdf格式
4. 测试出高危漏洞时:手动验证是否存在注入点。
二、 AWVS
(注:不要用此工具扫描互联网上的公开网站[未经过授权])
扫描方法
1. 尽可能多的尝试使用不同的单项功能进行扫描
2. 对扫描结果的每一项都仔细的查询相关的技术内容
AWVS简介
AWVS是一款自动化的web安全测试工具。
可以扫描任何通过web浏览器访问和遵循HTTP/HTTPS规则的web站点。
可以通过扫描漏洞,比如:SQL注入攻击、XSS来检测我们的网站是否安全。
作用
定期扫描你的web应用,自动化检测
功能介绍
WebScanner,核心功能,web安全漏洞扫描
SiteCrawler,爬虫功能,遍历站点目录结构
TargetFinder,端口扫描,找出web服务器
SubdomainScanner,子域名扫描器,利用DNS查询
BlindSQL Injector,盲注工具
HTTPEditor ,http协议数据包编辑器
HTTPSniffer,HTTP协议嗅探器
HTTPFuzzer,模糊测试工具
AuthenticationTester, Web认证破解工具
AWVS安装
平时使用破解版,正规渗透测试使用正版。
站点扫描
1. 新建scan,输入url,爬过可导入记录
2. 选择需要扫描的模块,扫描配置(GHDB:谷歌黑客数据库)
3. 目标信息
4. 表格认证(登录的地方标记)
5. 探测
扫描结果分析
扫描结果不一定是正确的。需要自己验证。
中危漏洞低危漏洞有时候泄露敏感信息,为社工提供信息(复杂)。
三、Nessus
是一款系统漏洞扫描与分析软件。
基于插件的技术。
扫描功能
1.资产发现
2.审计系统
3.漏洞扫描
4.认证扫描监测本地漏洞和条件
5.基于网络的扫描
6.认证的SCAP漏洞扫描器
特点
1.提供完整的漏洞扫描服务,并随时更新其漏洞数据库
2.可同时在本机或远端上遥控,进行系统的漏洞分析扫描
3.其运作效能能随着系统的资源而自行调整
4.可自行定义插件(Plug-in)
5.完整支持SSL(Secure Socket Layer)
下载
tenable官网下载
注册 获得注册码
安装(kali)
dpkg -i (nessus安装包名).deb
启动服务
/etc/init.d/nessusd start
ifconfig 查看ip
浏览器访问:https://192.168.IP:8834
输入账号密码
输入激活码(时间太长,用插件)
安装插件:
1.取得challenge code
/opt/nessus/bin/nessus-fetch --challenge 旧版获取挑战
/opt/nessus/sbin/nessuscli fetch --challenge 新版获取挑战码
(根据提示到网站下,填入挑战码和激活码,提交得到下载链接,下载文件和nessus license)
下载后传到kali上
2.激活:
/opt/nessus/sbin/nessuscli fetch --register-offline /root/(位置【桌面】)/nessus.license
新版是注册
3./opt/nessus/sbin/nessuscli update /root/(位置【桌面】)/all-2.0.tar.gz 新版
/opt/nessus/sbin/nessus-update-plugins /root/all/all-*.tar.gz 重新启动
/etc.init.d/nessusd restart
再在浏览器上访问:https://192.168.IP:8834
nessus初始化完成,输入账号密码
输入第二个注册的激活码。安装完成。登录。
Nessu使用
对服务器的扫描。
New policy(新建)
Home版功能有限。
四、sqlmap
安全人员必备工具。
不能对未授权网站进行扫描。
sqlmap是一款非常强大的开元sql自动化注入工具,可以用来检测和李勇sql注入漏洞。
sqlmap要求python版本为2.6或2.7
语法格式
Sqlmap 目标 参数
参数文档:
https://github.com/sqlmapproject/sqlmap/wiki/Usage
sqlmap检测注入点
1.判断可注入参数
2.判断可以用哪种SQL注入技术来注入
3.识别出哪种数据库
4.根据用户选择,读取哪些数据
sqlmap支持五种不同的注入模式
1.基于布尔的盲注,即可以根据返回页面判断条件真假的注入
2.基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
3.基于报错注入,即页面会返回报错信息,或者把注入的语句的结果直接返回在页面中。
4.联合查询注入,可以使用union的情况下的注入
5.堆查询注入,可以同时执行多条语句的执行时的注入。
sqlmap检测注入点
Sqlmap -u 目标url
Sqlmap -r 目标http请求【post注入】
【必须记住的参数】
sqlmap进阶
列数据库管理用户
参数:--users
当前用户有权限读取包含所有用户的表的权限时,就可以列出所有管理用户
例如出并破解数据库用户的hash
参数:--passwords
当前用户有权读取包含用户密码的表的权限时,sqlmap会线列举出用户,然后列出hash,并尝试破解
列出数据库管理员权限
参数:--privileges
当前用户有权限读取包含所有用户的表的权限时,很可能列举出每个用户的权限,sqlmap将会告诉你哪个是数据库的超级管理员。
获取表中数据个数
参数:--count
有时候用户只想获取表中的数据个数而不是具体的内容,那么就可以使用这个参数。
从数据库服务器中读取文件
参数:--file-read
当数据库为MYSQL 、PostgreSQL或Microsoft SQL Server,并且当前用户有权限使用特定的函数。读取的文件可以是文本也可以是二进制文件。
把文件上传到数据库服务器中
参数:--file-write,--file-dest
当数据库为MYSQL 、PostgreSQL或Microsoft SQL Server,并且当前用户有权限使用特定的函数。上传的文件可以是文本也可以是二进制文件。
HTTP请求延迟
参数:--delay
可以设定两个HTTP(S)请求间的延迟,设定为0.5的时候是半秒,默认是没有延迟的。
设定超时时间
参数:--timeout
可以设定一个HTTP(S)请求超过多少判定为超时,10.5表示10.5秒,默认是30秒
运行自定义的SQL语句
参数:--sql-query,--sql-shell
sqlmap会自动检测确定使用哪种SQL注入技术,如何插入检索语句
运行任意操作系统命令
参数:--os-cmd,--os-shell
当数据库为MYSQL 、PostgreSQL或Microsoft SQL Server,并且当前用户有权限使用特定的函数。
探测等级
参数:--level
共有五个等级,默认为1,如果你不确定哪个payload或者参数为注入点的时候,为了保证全面性,建议使用高的level值。
风险等级
参数:--risk
共有四个风险等级,默认是1会测试大部分的测试语句,2会增加基于事件的测试语句,3会增加OR语句的SQL注入测试。