Web安全测试知识点及必须注意的五个方面
Web应用和软件开发的作用越来越重要。与此同时,Web 应用程序遭受了大量的安全攻击。原因是,现在从某种意义上来说,网站和网站上运行的应用程序是任何公司或组织的虚拟前门,因此更容易受到攻击并带来安全风险。
今天主要给大家分享一些安全考试的知识点和注意事项。
1。安全测试验证点
系统的安全验证点包括上传功能、注册功能/登录功能、验证码功能、密码、敏感信息泄露、未授权测试、错误消息、会话等。?服务器是否可以立即运行
2.注册功能/登录功能
- 请求是否安全传输
- 重复注册/登录
- 密钥 cookie 是否仅 http
- 会话 强制固定人员,授权,在真实会话中,然后
3 .验证码功能
- 短信轰炸
- 验证码一次性使用
4.忘记密码
- 通过手机号码/邮箱恢复
- 程序设计不合理,允许短信验证码转换更改(使用burpsuite抓包,将响应值改为true) 敏感5,敏感信息泄露
- 数据库/日志/提示
6、未经授权的测试
- 请勿登录系统,直接输入网址下载文件。可以下载吗? / 登录后立即进入的页面URL是否可以访问?
- 可以手动将URL中的参数值更改为没有权限的页面吗?
- 不同用户之间session共享可以非法操作对方的数据
7、错误信息
- 错误信息中包含SQL语句、错误信息和Web服务器的绝对路径❙8、session之后你登录退出后,点击后退按钮是否访问上一页
主要归结为以下几点:(后期可以优化成安全测试框架)
- 部署和基础设施
- 输入验证
- 身份验证
- 授权
- 配置管理
- 敏感数据
- 会话管理
- 加密 加密 异常管理
- 审计和日志安全,
2. 结合当前情况(现有系统)发现的问题
1。日志/查询
在系统早期,一般比较容易发现的问题是,当你运行一些错误或者逆向测试时,旁边的提示中有一个明显的数据库。打印表格或字段时,可能会出现一些敏感词。密码、卡号、身份证号等日志没有对应的明文和密文转换。这些不互相转换的敏感词/明文和密文的存在,会导致攻击者的攻击。
2。可重复性
大多数网站都会有注册功能,比如我们负责付款,也会开户。对于帐户的注册和开设,可根据要求进行基本的唯一性验证。前端会拦截,但是如果用jmter添加参数和参数值的话,是有可能的如果新添加成功,页面系统中会出现相同的数据,这可能会导致整个功能出错
3。时间限制次数
与下达指令、登录或发短信类似,如果没有相应的限制,比如发短信、次数没有限制,攻击者就会通过短信轰炸系统,导致系统崩溃系统瘫痪,其他客户无法使用该系统。
4。超违规测试
(基本上大部分系统都没有明确写出超违规的要求)。对于一个web系统来说,一般都会给出可寻址的参数,比如:用户号、订单号或者其他一些参数,在此基础上,一个系统就会有很多个用户,或者很多个级别,比如:A大于B大于比C好,那我用C用户登录,查看C用户所属的订单,在地址栏里把订单号的参数带了进来。 C可以更改订单号并看到用户B甚至用户A的数据,这可能会导致数据泄露。另外,如果可以更改用户的用户帐户,则不会对其进行处理,从而可以操作所有数据,并且整个系统将混合,这将产生很大的影响。
5。 SQL注入 / 当代码进入后台相应函数时,整个函数混乱,无法查看或操作其他正常用户提交的数据,或者提交的代码处于死循环(>)而不能'不能关闭,所以这一点很重要。
基本上以上五点都在测试中,系统确实存在,出现了问题,还有其他的问题我没有一一列举,包括未经授权的访问、SQL注入、XSS攻击,都是重中之重!综合性的,所以这是遇到的一个小问题。现在有一个针对Web系统的漏洞扫描工具:AWVS,它通过网络爬虫测试你的网站的安全性,并检测热门安全漏洞,漏洞主要分为高危、中危、低危、优化四个级别。它会检查内部和外部链接的安全性、文件是否存在以及传输是否安全,包括SQL注入和XSS攻击。输入地址、用户名和密码后,扫描完成后会显示相应数据:漏洞数量、漏洞描述、建议修复;扫描网站的时长、文件数据量、环境信息等,都比较全面!
四.安全测试的思路和框架
主要基于以下六点来实现比较完整的安全测试思路,框架基于整个系统的半手动半自动验证。
V。目前存在的问题/需要优化的地方
目前的安全测试大多是半手动半自动化的,但不够专业,所以还处于探索阶段。他们只能尽可能地寻找系统中的漏洞,而测试理论很难应用于安全领域;
安全测试基础理论薄弱,目前的测试方法缺乏理论指导,缺乏更多的技术产品工具;
安全测试必须分析系统所使用的技术和系统架构。在这方面也是一个比较薄弱的环节!
作者:王鹏飞
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网
