web安全测试之三

1:用户权限测试

(1)用户权限的控制

a:用户权限控制主要是对一些有权限控制的功能进行验证;

b:用户A进行的操作,用户B能否操作;

c:用户A有条件的用户才能查看的页面,用户B能否查看;(是否可以直接输入URL地址进入)

(2:)页面权限控制

a:必须有登录权限的页面,能否在未登录的情况下进行访问;

b:必须经过A-->B--->C的页面,能够通过A-->C?

2:URL安全测试

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

(2)什么叫GET方式?

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

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

http://pay.daily.taobao.net/mysub/subdeal/order_sub_deal.htm?servId=2

POST方式,数据放置在HTML HEADER内提交数据,数据在URL中看不到。GET只能传输少量数据,安全性较低;POST能传输大量数据,安全性较高。

(3)测试关注点

1)URL参数检查

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

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

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

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

2)URL参数篡改

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

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

  http://pay.daily.taobao.net/mysub/plan/subplan/confirmSubPlanInfo.htm?planId=878

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

3)URL参数修改进行XSS攻击‘

什么是XSS?

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

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

如“http://demo.aa.org/index_Article_Class.asp?fID_ArticleClass=2&ArticleClassName=abc”

改成“http://demo.aa.org/index_Article_Class.asp?fID_ArticleClass=2&ArticleClassName=abc<script>alert("hello");</script>”看有没有弹出对话框显示hello,有的话就有跨站漏洞。

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

4)URL参数中进行SQL注入

什么是SQL注入?

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

测试方法: URL中写入SQL注入语句,看是否被执行,如:http://demo.testfire.net这个网站中,选择sign in设置用户名为 admin ‘ or ‘1‘=‘1   密码为任意数字  ,点击登录就可以登陆。

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

3.表单提交安全测试

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

测试关注点:

1) 表单中注入XSS脚本

2) 表单中注入SQL 脚本

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

4:session测试

(1)session是客户端和服务器之间建立的会话,存放在服务器中,服务器会为每次对会话生成一个sessionID,每个客户对应一个sessionID。并不是浏览器关闭就结束了本次对话,通常是用户执行退出或者session超时才会结束对话。

(2)测试关注点

a:    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的。

b:  session超时

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

测试方法:

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

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

时间: 2024-08-01 13:59:48

web安全测试之三的相关文章

使用Nginx+CppCMS构建高效Web应用服务器(之三)

使用Nginx+CppCMS构建高效Web应用服务器(之三) --充分利用服务器和客户端计算能力 欢迎测试,攻击:http://www.litelottery.com     网页右上角,选择博彩,演示双色球开奖记录,更多功能,稍后添加. 1:闲言碎语不要讲,Nginx+CppCMS搭建请参见之一. 2:此讲集中说明一个实例:使用Nginx+CppCMS+C/C++和Redis实现高效的后台服务,客户端使用H5的JS转移计算到客户端. 双色球开奖历史号码获取,存储,客户端获取号码列表,Redis

12个强大的Web服务测试工具

在过去的几年中,web服务或API的普及和使用有所增加. web服务或API是程序或软件组件的集合,可以帮助应用程序进行交互或通过形成其他应用程序或服务器之间的连接执行一些进程/事务处理.基本上有两种类型的web服务——基于互联网协议,REST和SOAP推动数据和信息的通讯. 由于这些web服务暴露于网络并且分布于不同的网络,所以它们很容易受到风险和安全威胁,从而影响基于它们的进程.因此,web服务或API测试非常有必要,可以确保它们执行正确并正确地响应查询. 市场上有不少商业和开源的测试工具可

《Web渗透测试使用kali linux》pdf

下载地址:网盘下载 内容简介 <Web渗透测试:使用Kali Linux>是一本Web渗透测试实践指南,全面讲解如何使用Kali Linux对Web应用进行渗透测试.两位安全领域的专家站在攻击者的角度,一步步介绍了渗透测试基本概念.Kali Linux配置方式,带大家了解如何收集信息并发现攻击目标,然后利用各种漏洞发起攻击,并在此基础之上学会渗透测试,掌握补救易受攻击系统的具体技术.此外,书中还给出了撰写报告的最佳实践,其中一些范例可作为撰写可执行报告的模板. <Web渗透测试:使用Ka

Kali Linux Web 渗透测试— 第十二课-websploit

Kali Linux Web 渗透测试— 第十二课-websploit 文/玄魂 目录 Kali Linux Web 渗透测试— 第十二课-websploit............................................... 1 Websploit 简介........................................................................................... 2 主要功能...........

shellKali Linux Web 渗透测试— 初级教程(第三课)

shellKali Linux Web 渗透测试— 初级教程(第三课) 文/玄魂 目录 shellKali Linux Web 渗透测试—初级教程(第三课)... 1 课程目录... 1 通过google hack寻找测试目标... 2 一个asp站点的sql注入... 3 一个php站点的sql注入... 4  课程地址:点击 课程目录 两个基本案例,以sql注入入手,目标为熟悉基本的思路,关注细节信息. 关于google hack,web 扫描,sql注入更详细和复杂的内容后续教程会专门讲解

菜鸟学Java(十九)——WEB项目测试好帮手,Maven+Jetty

做WEB开发,测试是一件很费时间的事情.所以我们就应该用更简单.更快捷的方式进行测试.今天就向大家介绍一个轻量级的容器--jetty.j今天说的etty是Maven的一个插件jetty-maven-plugin,与Maven配合起来使用非常的方便,它的配置也非常的简单,下面我们就看看它怎么用吧! 在pom.xml 文件的<project>标签下加入如下代码: <build> <plugins> <plugin> <groupId>org.mort

Web端测试和移动端测试的区别

之前参加的项目有涉及Web端测试和移动端测试,简单的记录下他们之间的区别: 1.记录bug 在Web端可以通过系统自带的截图和QQ截图等方式来截取bug的图片,对于错误的地方可以用工具自带的标识来重点标记. 对于移动端设备可以用手机自带的截图工具来截图然后传到电脑上,个人一般习惯安装微信的windows版本,通过文件传输助手发送到PC端.还有一种比较便捷的方式,将手机用数据线连接到电脑,本地配置android的运行环境,下载asm.jar,在cmd运行java -jar asm.jar,即可实时

RESTful Web Services测试工具推荐

命令行控的最爱:cURL cURL是一个很强大的支持各种协议的文件传输工具,用它来进行RESTful Web Services的测试简直是小菜一碟.这个工具基本上类Unix操作系统(各种Linux.Mac OS X)都自带了,而Windows用户就得去额外下载了. cURL的命令参数非常多,一般用于RESTful Web Services测试要用到下面四种参数: -d/–data <data>:POST数据内容 -X/–request <command>:指定请求的方法(使用-d时

十个免费的Web压力测试工具

两天,jnj在本站发布了<如何在低速率网络中测试 Web 应用>,那是测试网络不好的情况.而下面是十个免费的可以用来进行Web的负载/压力测试的工具,这样,你就可以知道你的服务器以及你的WEB应用能够顶得住多少的并发量,以及你的网站的性能.我相信,北京奥组委的订票网站的开发团队并不知道有这样的测试工具. Grinder –  Grinder是一个开源的JVM负载测试框架,它通过很多负载注射器来为分布式测试提供了便利. 支持用于执行测试脚本的Jython脚本引擎HTTP测试可通过HTTP代理进行