许多应用程序系统都有一个注册模块。非法用户则通过注册模块来达到难以言喻的目的,通过注册模块与服务器进行交互(用户输入不可信),因此在系统联机之前,必须在注册模块上执行测试。

一.注册模块是否面向公众

根据系统业务需求,分析注册模块;如果是面向公众的,则应将注册模块放置在明显的位置;

重要的是要强调内部注册功能。此时,注册模块应尽可能隐藏。上线之前,需要测试内部注册模块是否隐藏。 红军方面(黑匣子测试):通过目录扫描,查看源代码,爬取js文件以及发现隐藏的用户注册界面(例如未删除的评论),您还可以使用社工的思维方式,例如登录地址www.xxx.com / userLogin,您可以猜测注册地址为www.xxx.com/userRegist; 蓝军视角(白盒测试):直接找到开发人员来注册模块地址,并查看地址是否容易猜测。

下面的屏幕快照是通过查看源代码发现,系统具有已注册的供内部使用的模块,该模块已添加了注释。通过检查js文件,它找到注册的接口地址和一些参数。

二.验证用户真实性。

检查系统是否需要通过手机或电子邮件验证真实性。身份验证方式没有任何限制,有些通过SMS或电子邮件验证码,有些直接将下一个注册地址发送到电子邮件。为什么需要验证真实性? 这可以有效地防止恶意注册并消除僵尸帐户。

发送SMS验证码时,可以拦截响应数据包,以查看服务器是否直接将验证码返回给客户端。如果它直接返回给客户,则可以使用其他人的身份注册并绕过真实性检查。

如果系统具有面部识别功能,则需要测试面部识别。蓝军视角:直接通过工具制作动态图片或小型视频。

检查验证是否在前端完成。如果在前端,尝试更改代表真实测试结果的返回包中的参数值,类似code=-1改为code=0或者1,status=false改为status=true。

如果系统稍后提供真实性验证功能,则用户可以直接进入系统。此时,您需要检查是否存在未授权的漏洞,以防止未授权访问仅在验证身份之后可用的权限。

三.短信或邮箱轰炸

因为有SMS或电子邮件验证码,所以存在SMS或电子邮件轰炸的风险。这不仅影响用户,而且还为企业消耗了短信成本。在测试过程中,使用数据包捕获工具Burpsuite重播验证码以发送请求数据包(防止在前端检查时间间隔和次数),测试验证码是否有时间间隔限制和数量限制。目前,通常使用的时间间隔为60s,次数为5次。

四.是否验证用户名

大多数系统的注册模块都会验证注册帐户,以验证是否使用了用户名。 此时,您可以使用数据包捕获工具拦截注册帐户验证请求数据包。 例如,使用Burpsuite的“Intruder”模块。 字典为常用用户名,对用户名进行遍历,然后对遍历的用户名执行弱密码清除。

如果未验证注册的用户名,则存在二次注册的风险,该风险可用于重置密码,甚至导致整个帐户被覆盖。 因此,从红军的角度进行测试时,红军需要谨慎,蓝军直接需要快速验证现有用户。

如果未过滤用于验证用户是否存在的select语句,则可能存在SQL注入漏洞。

五.SQL和XSS测试

在红军的角度上,在注册模块上测试sql和xss:当用户名的长度不受限制时,用户名(昵称,地址等也必须进行测试)。 过去流行xss时,会将各种xss插入用户名Pauload中以进行盲打; 和SQL注入,可能存在插入注入或二次注入的风险(在注册开始时,插入被过滤,但是登录到帐户后,在查看个人信息时,未过滤参数,从而导致触发SQL注入攻击 更困难); 蓝军的观点要容易得多,直接代码审核就足够了。

注册时,例如,未过滤所使用的insert语句时,原始SQL语句为(将引用地址插入到SQL注入插入中)

insertintomember(username,pw,sex,phonenum,email,address)values('wangwu',md5('a'),'a','aa','a','a')

此时可以构造以下SQL注入有效负载来获取数据库用户名

insert into member(username,pw,sex,phonenum,email,address) values('wangwu'orupdatexml(1,concat(0x7e,(users())),0) or'',md5('a'),'a','aa','a','a')

注册时,当输入框有长度限制时,您可以尝试按f12修改输入框的长度,或使用拼接技术将xss有效负载拆分为几个输入框,以验证是否存在xss漏洞。

六.注册为管理员吗

遇到过这样的系统,从js文件中找到的接口请求参数只是用户名和密码

尽管您可以成功注册,但是登录时只可以更改密码和查看个人信息。

在测试过程中,考虑是否可以找到权限。 稍后,当我单击个人信息时,该信息为空白,但是响应数据包中出现错误消息,表明该角色不存在

看到role_id这个参数,于是重新注册,注册请求包中,添加参数role_id,并将role_id设置为1(一般管理员角色id=1),重新注册成功,从而获得管理员权限。

七.上传文件

注册某些系统后,将具有文件上传功能,例如头像和营业执照; 目前,您需要对上传功能执行任意文件上传测试。

其他

当注册请求包的请求参数为xml格式时,进行XXE测试。 如果采用json格式,则最好尝试使用fastjson命令执行这种类型的漏洞。

web软件上线测试,网站或软件系统上线前对注册功能的安全测试相关推荐

  1. web前端技术分享:管理系统全栈项目之注册功能

    这篇文章小千简单给同学们介绍一个网站注册功能的项目和代码,因代码放入网页中会乱码所以以图片的形式加入. 开发流程: 1.先将页面的HTML+CSS做好,我们先看到页面效果 2.当我们点击我们的超链接的 ...

  2. 优秀的测试网站(转载)

    原文出处:http://www.weste.net/2006/6-6/12070371411.html 63个国外优秀测试站点链接 http://bdonline.sqe.com/ 一个关于网站测试方 ...

  3. 对一个即将上线的网站,如何做一个较完整的Web应用/网站测试?

    Web应用,也叫做网站,相对于客户端应用来说,Web应用无需单独安装,在浏览器上即可使用其功能. web应用的主要开发流程如下: 在网站开发的整个流程中,测试验收是上线发布前的最后一个环节,测试是否到 ...

  4. 加密软件漏洞评测系统_惠州上线软件产品登记测试企业

    惠州上线软件产品登记测试企业 dga55b69 惠州上线软件产品登记测试企业 新标准明确提出移动APP的发行需要具有资质的机构评测合格后才可以发布.KVM为NDK插件模式,不改变原有流程,支持J.F等 ...

  5. Java Web项目性能测试 - JMeter测试网站吞吐量、反应时间百分比、流量

    Java Web项目性能测试 - JMeter测试网站吞吐量.反应时间百分比.流量 为了衡量.调整.完成Java Web项目的性能指标,满足客户.用户对性能的要求,保证项目上线后能正常运行,以及了解项 ...

  6. 学python多久能上线部署网站_从开发到上线,实战持续交付

    「开发者最佳实践日」是由七牛云存储发起并联合各方小伙伴为开发者举办的系列技术沙龙,关注开发者在实际应用中可能遇到的技术问题.致力于为勇于创新的开发者们提供行业内最前沿最热门的技术干货,以技术驱动应用创 ...

  7. 三星临时取消Galaxy Fold中国发布会;视觉中国网站部分恢复上线?官方回应:并未恢复;特斯拉周一发布完全自动驾驶将网络直播 | 雷锋早报...

    三星临时取消Galaxy Fold中国发布会 4月21日下午消息,三星临时取消Galaxy Fold折叠屏手机中国区发布会,其解释为因为场地原因推迟,并且发布会时间待定. 三星原定于4月24日在上海召 ...

  8. 火星浏览器_Facebook Libra 测试网区块浏览器上线,测试网已被重置2次

    免责声明:本文旨在传递更多市场信息,不构成任何投资建议.文章仅代表作者观点,不代表火星财经官方立场. 小编:记得关注哦 投资区块链,猛戳:火星财经App下载 [快讯]Libra 测试网区块浏览器上线, ...

  9. 视觉中国网站部分恢复上线? 官方回应:并没有

    昨日,有媒体报道称,视觉中国网站部分恢复上线,对此,视觉中国官方回应称,实际情况为公司进行阶段性内部整改测试并已结束,网站并未恢复上线. 4月18日,视觉中国发布公告称,针对视觉中国平台提供的&quo ...

最新文章

  1. 开启Mysql慢查询来优化mysql
  2. win10如何下载适合自己python版本的pygame?
  3. 你不知道的composer自动加载
  4. [ARM异常]-ARMV8-aarch32的异常向量表介绍
  5. 下载Centos7 64位镜像
  6. 单片机实验-DA实验
  7. Android关闭Activity
  8. Django通过一个下拉框确定另外一个下拉框的值,并关联起来
  9. Docker图形化工具Portainer
  10. 决战EXCEL2010
  11. poi 获取删除线_Houdini 删除相机看不到的点背面的点或面
  12. 让你博客的代码显示得更酷
  13. 关于Access2003的安装和下载
  14. python爬取妹子图(复制即可用)
  15. vue请求接口报错405(Method Not Allowed)
  16. 智能家居内网服务器,手把手教你搭建自己的智能家居IOT系统
  17. 想成为优秀的程序员这些码德不能缺
  18. 2018-2019赛季的前一半
  19. lc1819——枚举因数并判定,两种解法
  20. 故障排查:阿里云轻量应用服务器中的MySQL容器自行停止

热门文章

  1. Java中快速掌握正则表达式
  2. 小程序多图上传云存储PHP
  3. [统计学教程] 第二章 统计调查
  4. 需求分析||如何分析用户需求-以摩拜单车用户反馈为例
  5. GNSS第十一周作业
  6. ls与ls -l区别
  7. 档案数字化是档案管理的未来趋势
  8. 串口通讯基本原理 【详细】
  9. 淘宝/天猫API:item_list_weight-批量获取商品信息
  10. 腾讯点播试看视频功能分享