1.打开软件,点击New Scan

2.在website url中输入被扫描的网址,点击next

3.在scanning profile中选择测试的漏洞类型,默认选择default(默认)

在scan setting中选择爬行设置,默认选择default(默认),点next

4.此页面也是选择默认,点击next

5.Login页面,建议选择第一项,且进行登录,只有登录后扫描测试才会更深入否则很多登录情况不会被扫描到,保存登录脚本后点击next

6.finish页面直接点击finish即可

7.点击finish后直接进入漏洞扫描过程

7.1显示三个信息。

Taget Information:包含目标站点

1、是否应答、2、WebServer的banner、3、操作系统、4、Web容器、5、程序语言

Statistics:对扫描的各种信息统计,包含

1、扫描的总时间、2、HTTP请求数量、3、平均扫描时间、4、扫描重复次数

Progress:扫描进度信息的提示,包含

1、是否扫描完成,100.00%表示已完成,2、端口扫描是否完成 3、蜘蛛爬行是否完成(文件数量、目录数量、变量数量)、4、脚本信息 5、内部模块

8.扫描测试完成后,数据分析如下

9.保存测试结果及导出测试报告

10.漏洞分析及验证(工具也会出错,防止awvs误报)

10.1  sql注入漏洞分析验证

(1)火狐浏览器安装插件hackbar quantum,安装插件后重启浏览器按F9启动插件

(2)sql注入分析,如下图(漏洞描述及攻击影响)

(3)关注项

view http headers

view html response

10.2  验证漏洞真实性

1、URL安全测试

  (1)适用范围: URL中含有参数,也就是通过GET方式传递的HTTP请求

  (2)什么叫GET方式?

  HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST。

  GET方式在客户端通过URL提交数据,数据在URL中可以看到,例如在日常中订购服务:

  http://www.cnblogs.com/javame/index.htm?servId=2

  POST方式,数据放置在HTML HEADER内提交,数据在URL中看不到

  GET只能传输比较少的数据,安全性较低,POST传输数据较多,安全性也比GET高

  (3)测试关注点:

  1) URL 参数检查:

  A: 对URL中参数信息检查是否正确

  如:URL中的订单号、金额允许显示出来的话,需要验证其是否正确

  B: 对于一些重要的参数信息,不应该在URL中显示出来

  如:用户登陆时登录名、密码是否被显示出来了 ,

  2) URL参数值篡改

  修改URL中的数据,看程序是否能识别:

  如:对于以下URL,修改其中planId,看是程序是否可以识别:

  http://www.cnblogs.com/javame/index.htm?planId=878

  又如:对于URL中包含金额参数的,修改金额看是否能够提交成功(可能导致用户把2元金额改成1元金额能提交),还有修改订单号等重要信息看是否会报错

  3) URL中参数修改进行XSS注入:

  什么是XSS?

  XSS的全称是Cross Site Script(跨站点脚本)

  XSS的原理很简单,即进行脚本注入,URL执行时即把此脚本进行了执行,一般都是JavaScript脚本。

如“http://www.cnblogs.com/javame/index.asp?IDClass=2&ClassName=abc”

改成“http://www.cnblogs.com/javame/index.asp?IDClass=2&ClassName=abc<script>alert("hello")</script>”

看看有没弹出对话框显示hello,有的话就有跨站漏洞。

  在URL中进行XSS注入,也就是把URL中的参数改成JS脚本。

4) URL参数中进行SQL 注入

  什么是SQL注入?

  SQL注入全称是SQL Injection ,当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击,如查询、插入数据时。

  测试方法: URL中写入SQL注入语句,看是否被执行

如:www.cnblogs.com/javame这个网站中,选择登陆

设置用户名为 admin ' or '1'='1 密码为任意数字 ,点击登录就可以登陆。

  一般情况下要进行SQL注入攻击,需要对数据库类型、表名、判断逻辑、查询语句等比较清楚才能够写出有效的SQL注入语句。

2、表单提交安全测试

  适用范围:有表单提交的地方、有HTTP请求的地方(包括GET、POST请求)

  测试关注点:

  1) 表单中注入XSS脚本

  什么是XSS?这已在上一节中说明。URL中需要检测XSS注入,表单中更需要验证

  测试方法:即在表单填写框中直接注入JS脚本

  如在表单中输入XSS脚本,程序是不应该让脚本执行的

  2) 表单中注入SQL 脚本

  与URL中参数进行SQL注入类似,就是在表单中写入SQL注入脚本提交看是否会有问题

  4、Session测试

  (1)Session是客户端与服务器端建立的会话,总是放在服务器上的,服务器会为每次会话建立一个sessionId,每个客户会跟一个sessionID对应。

  并不是关闭浏览器就结束了本次会话,通常是用户执行“退出”操作或者会话超时时才会结束。

  (2)测试关注点:

  1)Session互窜

  Session互窜即是用户A的操作被用户B执行了。

  验证Session互窜,其原理还是基于权限控制,如某笔订单只能是A进行操作,或者只能是A才能看到的页面,但是B的session窜进来却能够获得A的订单详情等。

  Session互窜方法:

  多TAB浏览器,在两个TAB页中都保留的是用户A的session记录,然后在其中一个TAB页执行退出操作,登陆用户B,此时两个TAB页都是B的session,然后在另一个A的页面执行操作,查看是否能成功。预期结果:有权限控制的操作,B不能执行A页面的操作,应该报错,没有权限控制的操作,B执行了A页面操作后,数据记录是B的而不是A的。

  2)Session超时

  基于Session原理,需要验证系统session是否有超时机制,还需要验证session超时后功能是否还能继续走下去。

  测试方法:

  1、打开一个页面,等着10分钟session超时时间到了,然后对页面进行操作,查看效果。

  2、多TAB浏览器,在两个TAB页中都保留的是用户A的session记录,然后在其中一个TAB页执行退出操作,马上在另外一个页面进行要验证的操作,查看是能继续到下一步还是到登录页面。

最新文章

  1. File类-文件基本操作
  2. Rails :.nil? , .empty?, .blank? .present? 的区别
  3. C#正则提取html图片等
  4. Bete冲刺第一阶段
  5. commons-pool实战之 GenericObjectPool和GenericKeyedObjectPool
  6. 文件夹文件遍历并插入数据库的操作,IO Directory File的递归操作
  7. 横屏EditText问题
  8. git 仓库操作
  9. 如何使用 Microsoft Azure Media Services 现场直播,(Live Streaming) 直播流媒体系统
  10. ORACLE DATAGURARD配置手记
  11. PuTTY &#39;modmul()&#39; 函数缓冲区下溢漏洞(CVE-2013-4206)
  12. HDOJ 1390 Binary Numbers(进制问题)
  13. poj3468(线段树)
  14. MQ产品比较-ActiveMQ-RocketMQ
  15. BOOT BIOS UEFI
  16. Dynamics 365 for CRM: Sitemap站点图的可视化编辑功能
  17. CString 转化成 const char* 类型
  18. Java内存可见性
  19. Police Stations CodeForces - 796D (bfs)
  20. vue+webpack 遇到的问题总结

热门文章

  1. Flutter开发环境配置(MAC版)
  2. Redis继续学习
  3. Winform中对自定义xml配置文件进行Xml节点的添加与删除
  4. 用vetr.x写一个HTTP接口适配器, 对接各种形式接口
  5. 读取用户输入并判断的bash脚本
  6. Nginx 日志文件 access_log详解及日志分割
  7. ThinkPHP 5.x远程命令执行漏洞复现
  8. AJAX基础内容
  9. 格子游戏Grid game CodeForce#1104C 模拟
  10. Android Studio [页面的跳转和传值]