1.1什么是web安全测试?

Web安全测试就是要提供证据表明,在面对敌意和恶意输入的时候,web系统应用仍然能够充分地满足它的需求

1.2为什么进行Web安全测试

2005年06月,CardSystems,黑客恶意侵入了它的电脑系统,窃取了4000万张信用卡的资料。

2011年12月,国内最大的开发者社区CSDN被黑客在互联网上公布了600万注册用户的数据;黑客随后陆续公布了网易、人人、天涯、猫扑等多家大型网站的数据信息。

2014年12月,大量12306用户数据被泄露,被泄露的数据达131653条,包括用户账号、明文密码、身份证和邮箱等多种信息。

2018年03月,Facebook泄露数千万用户的数据,信息被违规滥用,导致股价一度下跌;12月再次因一个软件漏洞导致用户的私人照片遭泄露。

目前web应用越来越广泛,web安全威胁也就更明显,而web攻击隐蔽性强,危害性大。因而web安全测试也就显得尤为必要了。

1.3web安全的认识误区
lWeb网站使用了防火墙,所以很安全
lWeb网站使用了IDS,所以很安全
lWeb网站使用了SSL加密,所以很安全
l漏洞扫描工具没发现任何问题,所以很安全
l我们每季度都会聘用安全人员进行审计,所以很安全

2:web攻击的主要类型
跨站脚本(XSS)攻击
SQL注入
XML注入
目录遍历
上传漏洞攻击
下载漏洞攻击
信息泄露
访问控制错误

2.1跨站脚本(XSS)攻击
XSS又叫CSS(CrossSiteScript),跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。
盗取Cookie
钓鱼
操纵受害者的浏览器
蠕虫攻击

反射型跨站(reflected xss)
服务端获取HTTP请求中的参数,未经过滤直接输出到客户端。如果这些参数是脚本,它将在客户端执行。(钓鱼常见)

存储型跨站(Sstored xss)
用户输入的数据存放在服务端(一般放数据库里),其他用户访问某个页面时,这些数据未经过滤直接输出。这些数据可能是恶意脚本,对其他用户造成危害。(挂马常见)

mom跨站(DOM-Based XSS)
攻击者提交的恶意数据并未显式的包含在web服务器的响应页面中,但会被页面中的js脚本以变量的形式来访问到,导致浏览器在渲染页面执行js脚本的过程中,通过DOM操作执行了变量所代表的恶意脚本。

跨站请求伪造(csrf)
强迫受害者的浏览器向一个易受攻击的Web应用程序发送请求,最后达到攻击者所需要的操作行为。恶意请求会带上浏览器的Cookie。受攻击的Web应用信任浏览器的Cookie

2.2 sql注入

将SQL命令人为的输入到URL、表格域、或者其他动态生成的SQL查询语句的输入参数中,完成SQL攻击。
查询数据库中的敏感内容
绕过认证
添加、删除、修改数据
拒绝服务

典型例子:
原URL:http://localhost/name?nameid=222
攻击SQL注入:http://localhost/name?nameid=‘’or1=1
注入点一般存在以下几个地方:

2.3XML注入
和SQL注入原理一样,XML是存储数据的地方,如果在查询或修改时,如果没有做转义,直接输入或输出数据,都将导致XML注入漏洞。攻击者可以修改XML数据格式,增加新的XML节点,对数据处理流程产生影响。

2.4目录遍历
目录遍历攻击指的是:恶意用户找到受限文件的位置并且浏览或者执行它们。
攻击者浏览受限文件,比如读取配置文件、密码文件等,就会破坏隐私,甚至引发安全问题。而如执行了受限的文件,攻击者就可以根据自己的意愿来控制和修改web站点
2.5上传文件

Web应用程序在处理用户上传的文件时,没有判断文件的扩展名是否在允许的范围内,或者没检测文件内容的合法性,就把文件保存在服务器上,甚至上传脚本木马到web服务器上,直接控制web服务器。
未限制扩展名
未检查文件内容
病毒文件

2.6任意文件下载
Web应用程序提供下载文件的路径时,文件的路径用户可控且未校验或校验不严,攻击者通过”…/”字符来遍历高层目录,并且尝试找到系统的配置文件或者系统中存在的敏感文件。
下载任意附件
下载数据库配置文件等

2.7消息泄露
Web应用程序在处理用户错误请求时,程序在抛出异常的时候给出了比较详细的内部错误信息,而暴露了不应该显示的执行细节,如文件路径、数据库信息、中间件信息、IP地址等

2.8访问控制错误
系统没有对URL的访问作出限制或者系统已经对URL的访问做了限制,但这种限制却实际并没有生效。攻击者能够很容易的就伪造请求直接访问未被授权的页面。
例如,通过一个参数表示用户通过了认证:
http://www.example.com/userinfo.jsp?authenticated=no 通过修改authenticated参数为Yes:
http://www.example.com/userinfo.jsp?authenticated=yes

3.1web安全测评要求
信息系统的安全保护等级分为五级,一至五级等级越高,约束越严格。以二级为例,应用安全测评要求(二级)为:身份鉴别、访问控制、安全审计、通信完整性、通信保密性、软件容错、资源控制;

3.2web安全测试方法
手动测试(结合测评要求)
自动测试
混合测试
手动测试 :
1.不登录系统,直接输入登录后的页面的url是否可以访问
2.不登录系统,直接输入下载文件的url是否可以下载,如输入http://url/download?name=file是否可以下载文件file
3.退出登录后按后退按钮能否访问之前的页面
4.ID/密码验证方式中能否使用简单密码。如密码标准为6位以上,字母和数字混合,不能包含ID,连续的字母或数字不能
超过n位
5.重要信息(如密码,身份证号码,信用卡号等)在输入或查询时是否用明文显示;在浏览器地址栏里输入命令
javascrīpt:alert(doucument.cookie)时是否有重要信息;在html源码中能否看到重要信息
6.手动更改URL中的参数值能否访问没有权限访问的页面。如普通用户对应的url中的参数为l=e,高级用户对应的url中的参
数为l=s,以普通用户的身份登录系统后将url中的参数e改为s来访问本没有权限访问的页面
7.url里不可修改的参数是否可以被修改
8.上传与服务器端语言(jsp、asp、php)一样扩展名的文件或exe等可执行文件后,确认在服务器端是否可直接运行
9.注册用户时是否可以以’–,‘or1=1–等做为用户名
10.传送给服务器的参数(如查询关键字、url中的参数等)中包含特殊字符(’,'and1=1–,'and1=0–,'or1=0–)时是否可
以正常处理
11.执行新增操作时,在所有的输入框中输入脚本标签(<scrīpt>alert("")< scrīpt><="" font="">)后能否保存
12.在url中输入下面的地址是否可以下载:
http://url/download.jsp?file=C:\windows\system32\drivers\etc\hosts,http://url/download.jsp?file=/etc/passwd
13.是否对session的有效期进行处理
14.错误信息中是否含有sql语句、sql错误信息以及web服务器的绝对路径等
15.ID/密码验证方式中,同一个账号在不同的机器上不能同时登录
16.ID/密码验证方式中,连续数次输入错误密码后该账户是否被锁定
17.新增或修改重要信息(密码、身份证号码、信用卡号等)时是否有自动完成功能(在form标签中使用autocomplete=off
来关闭自动完成功能

3.3工具的使用
AWVS
WebInspect
AppScan

AppScan原理
通过搜索(爬行)发现整个Web应用结构
根据分析,发送修改的HTTPRequest进行攻击尝试(扫描规则库)
通过对于Respone的分析验证是否存在安全漏

什么是web安全测试相关推荐

  1. python的web压力测试工具-pylot安装使用

    pylot是python编写的一款web压力测试工具.使用比较简单.而且测试结果相对稳定. 这里不得不鄙视一下apache 的ab测试,那结果真是让人蛋疼,同样的url,测试结果飘忽不定,看得人心惊肉 ...

  2. java web项目测试_java web项目怎么测试?

    慕仰1329654 java web项目测试用Web的测试工具,如HtmlUnit,JWebUnit等.main()方法就可以测试,在main方法中获得connection对象将他输出就可以了.如果正 ...

  3. Backtrack5 下WEB模糊测试

    什么是WEB模糊测试 Web浏览器最初只是被设计为浏览Web页以及解析HTML页,现在Web浏览器已经发展成为和瑞士军刀的多功能性相等价的计算机设备.现代的Web浏览器可以处理动态HTML页.类型表单 ...

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

    Kali Linux Web 渗透测试- 第十二课-websploit 文/玄魂 目录 Kali Linux Web 渗透测试- 第十二课-websploit..................... ...

  5. Web模糊测试工具Powerfuzzer

    Web模糊测试工具Powerfuzzer Powerfuzzer是Kali Linux自带的一款Web模糊测试工具.该工具基于各种开源模糊测试工具构建,集成了大量安全信息.该工具高度智能化,它能根据用 ...

  6. 轻量级Web渗透测试工具jSQL

    轻量级Web渗透测试工具jSQL jSQL是Kali集成的一款轻量级的Web渗透测试工具.最初该工具主要实施SQL注入,后来增加更多的功能,扩展形成一个综合性的Web渗透测试工具.Kali提供的版本较 ...

  7. WebLogic自带的Web Service测试工具

    WebLogic自带了Web Service测试的客户端工具.一般来说,如果你建的域是选择了Workshop的,那你的域启动后就自动包含了这个工具,你点击你的Web Service时,可以点击Test ...

  8. 十个免费的WEB压力测试工具

    两天,jnj在本站发布了<如何在低速率网络中测试 Web 应用>,那是测试网络不好的情况.而下面是十个免费的可以用来进行Web的负载/压力测试的工具,这样,你就可以知道你的服务器以及你的W ...

  9. dvwa如何打开_一篇文章让你搭建自己的Web安全测试平台(Dvwa)

    如果要学习Web安全测试,不能纸上谈兵,需要尝试和实践.只有在不断的尝试和实践中,你的技术才会有本质的提升.这篇文章告诉你,如何在自己的电脑上搭建一个Web安全测试平台(Dvwa). 由于Dvwa是用 ...

  10. kali linux 2.0 web 渗透测试 电子书

    原创 2017-05-31 玄魂工作室 玄魂工作室 打起精神,重新开启订阅号的原创文章写作工作,但是需要点时间,请耐心等待. 求资料的同学,没有及时回复的,请再次留言,我会尽快处理.今天分享两本电子书 ...

最新文章

  1. Python+OpenCV 平移、旋转、缩放、翻转
  2. Delphi7 (第二天:结构及常用函数)
  3. mysql innodb_sort_buffer_size_mysql优化---第7篇:参数 innodb_buffer_pool_instances设置
  4. 前端学习(3161):react-hello-react之样式的模块化
  5. 回答嵌入式初学者的一些问题
  6. 性能测试oracle瓶颈定位,性能测试中如何定位性能瓶颈
  7. el表达式 循环_EL表达式和JSTL标签库(百战程序员047天)
  8. unity android so热更,惊鸿哥的港湾
  9. JCR分区和中科院分区的区别
  10. flash mx拖拽实例_Flash MX 2004的注释添加器面板
  11. 推荐16个国外的源码下载网站
  12. 【强化学习】多臂老虎机
  13. 关于Dev C++突然提示16位应用程序不兼容的问题
  14. 使用Python爬虫自动爬取沪港通每日持股数据
  15. 关于MyEclipse的servers和WTPservers
  16. [NOIP2011] 观光公交解题报告
  17. 基于单片机的太阳能热水器辅助控制系统
  18. matlab筛选表格数据导出,excel表格里怎么将筛选数据导出-Excel表格在进行筛选,我如何可以导出所有筛选出来......
  19. 浙江高考python 学生采访_实录|我采访了12个在校大学生,高考前100天他们这样过...
  20. Django-rest-framework框架之APIView与序列化详解

热门文章

  1. LaTeX:多张图片排版
  2. SCI论文分区有两种方法
  3. MatlabR2012a 显示使用过期的注册文件破解(.lic)
  4. 集合框架学习笔记(下)
  5. python_PEP 8: E703 statement ends with a semicolon
  6. 为什么 securely empty 那么慢?
  7. 【北京-亚运村】这7家公司推荐给你
  8. 微信输入法,终于来了。。。
  9. 微带线贴片天线尺寸的计算,利用Matlab计算+常见的RF计算在线公式
  10. PC传输图片到Hololens