AWVS security penetration scan

1. Open the software, click New Scan

 

2. In the website url enter the URL scanned, click next

 

3. In the scanning profile to select the type of test the vulnerability, the default selection default (default)

In scan setting selection crawling set, the default selection default (default), the point next

 

4. This page also select the default, click next

 

5.Login page, we recommend selecting the first item, and log in, just log on to scan the test will be more in-depth or Login many cases will not be scanned, saved login script click next

 

6.finish page click on finish to

 

7. Click finish after directly into the vulnerability scanning process

 

7.1 shows three information.

Information Taget : contains the target site 

1 , whether to answer, 2 , WebServer 's Banner , 3 , operating system, 4 , Web container, 5 , programming language

Statistics : scanning for a variety of information statistics, contained

1 , the total scan time, 2 , the HTTP request number, 3 , average scan time, 4 , scan repetitions 

Progress : Note Scan progress information, including

1 , if the scan is complete, 100.00% for completed, 2 , port scanning is complete  3 , spider is completed (number of files, directory number, the number of variables), 4 , script information  5 , internal module

8. After the completion of the scan test, data is analyzed as follows

 

 

 

 

 

9. Save the test results and test reports to export

 

10. Vulnerability analysis and verification (tools make mistakes, prevent awvs false positives)

10.1 sql injection vulnerability analysis verification

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

 

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

 

3)关注项

view http headers

view html response

 

10.2  验证漏洞真实性

1URL安全测试

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

  (2)什么叫GET方式?

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

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

  http//www.cnblogs.com/javame/index.htmservId=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.htmplanId=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请求的地方(包括GETPOST请求)

  测试关注点:

  1 表单中注入XSS脚本

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

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

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

  2 表单中注入SQL 脚本

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

  4Session测试

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

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

  (2)测试关注点:

  1Session互窜

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

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

  Session互窜方法:

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

  2Session超时

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

  测试方法:

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

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

Guess you like

Origin www.cnblogs.com/Mr-ZY/p/11697629.html