网站登录接口安全渗透测试分享

简介: 从业渗透测试服务已经有十几年了,在对客户网站进行漏洞检测,安全渗透时,尤其网站用户登录功能上发现的漏洞很多,想总结一下在渗透测试过程中,网站登录功能上都存在哪些网站安全隐患,下面就有请我们SINE安全的工程师老陈来给大家总结一下,让大家都有更好地了解网站,在对自己网站进行开发的过程中,尤其用户登录功能上做好网站安全防护,防止网站被攻击。

从业渗透测试服务已经有十几年了,在对客户网站进行漏洞检测,安全渗透时,尤其网站用户登录功能上发现的漏洞很多,想总结一下在渗透测试过程中,网站登录功能上都存在哪些网站安全隐患,下面就有请我们SINE安全的工程师老陈来给大家总结一下,让大家都有更好地了解网站,在对自己网站进行开发的过程中,尤其用户登录功能上做好网站安全防护,防止网站被攻击。

30adcbef76094b361eb97902096dbedc8c109d59.jpeg

网站登录有安全验证与校验,从分支上又可以分出其他代码功能,包括用户注册,忘记密码,用户登录框,修改密码,验证码(图片以及短信验证码,邮箱验证码等功能),用户登录信息安全提示,密码错误还是输入的账号不对,以及账号频繁登录的锁定安全机制功能,大大小小的功能组成了网站的登录功能。那么我们SINE安全在对客户网站进行渗透测试服务的时候,在网站登录功能里到底发现那些致命的漏洞?下面我们来详细的举例说明:


e4dde71190ef76c6dd5c9d556fe631ffae51673c.jpeg


第一我们从最简单的一个用户登录框上来说,很多客户网站并没有对用户前端输入的参数值进行安全过滤,导致账户名字与密码里可以插入恶意的参数值,导致SQL注入漏洞的发生,再一个就是使用万能的密码进行登录,可以绕过数据库,直接登录网站。SINE安全是如何帮用户修复这个SQL注入漏洞呢?针对SQL注入的修复办法是:对用户登录的账号密码字段的参数值进行预编译,不允许特殊字符的输入与传输,在代码里写入get,post,cookies提交方式的安全拦截,发现恶意的字符包括<,>,\,/,,,",select,update,@,等等进行拦截,并返回错误提示,对特定的sql语句在代码里进行预编译,禁止多余的参数插入到账号与密码字段中。


用户ID与密码被暴力破解,很多客户网站并没有对网站的登录进行安全判断,导致攻击者可以随意地对其进行任意的账号密码尝试登录,有些甚至有密码字典,可以不断去猜解用户的ID与密码,导致网站用户被恶意登录,资料恶意篡改等情况发生。对这种渗透中发现的漏洞我们SINE安全的修复办法是:增加验证码功能(图片验证码,或者是短信验证码),每次登录都必须输入对的验证码,如果验证码不对那就不允许登录,也可以将验证码做时间的限制,30秒才能重新获取。 再一个对用户ID输入错误的提示,可以混淆攻击者的视线,提示是密码错误。在用户登录次数达到6次以上直接锁定该账户的登录。


ae51f3deb48f8c54e576956ccbd9e1f0e2fe7fc6.jpeg


XSS跨站攻击漏洞也会在用户登录框中发生,比较常见的就是用户名的参数值中,有些客户网站没有对XSS恶意代码进行安全校验,导致可以输入错误的账号进行登录,当错误登录的时候,后台有可能会有错误的用户登录记录,包括post数据包里网站来源都会插入XSS攻击代码,导致管理员在查看用户登录错误日志的时候触发XSS漏洞。XSS跨站漏洞可以获取用户的cookies值,以及网站后台的地址,并可以将浏览器打开后台进行截图等功能,如何修复XSS跨站漏洞?对get,post,cookies的提交方式进行安全过滤,拦截掉<,>,,img,"",等字符。


任意用户注册漏洞也会在网站登录功能上发生,可以用来猜测网站是否有注册过该用户名,进行批量的暴力枚举。对注册使用的验证码进行绕过,使用正确的短信验证码提交注册即可绕过注册,手机以及邮箱的验证码过于太短,导致暴力破解,针对于这样的网站漏洞我们SINE安全的修复建议是对验证码和注册信息进行同步请求,对验证码进行验证是否正确,然后再来确定注册的信息是否与验证码是一体的。


37d3d539b6003af3eed122c3c4da0a591138b625.jpeg


还有很多网站功能在渗透测试过程中出现的漏洞,这里总结的是上部分,下一部分我们将会在下一篇文章中跟大家揭晓,也希望这些的渗透测试分享能让大家对网站的安全有所了解,只有真正的了解了自己的网站,才能把安全做好,知彼知己百战不殆。在网站上线以及发生安全问题后,一定要做渗透测试服务,提前检测网站存在的漏洞,以及模拟攻击者的手法去查找漏洞根源,防患于未然。


相关文章
|
22天前
|
人工智能 数据可视化 API
10 分钟构建 AI 客服并应用到网站、钉钉或微信中测试评
10 分钟构建 AI 客服并应用到网站、钉钉或微信中测试评
61 2
|
23天前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
106 7
Jmeter实现WebSocket协议的接口测试方法
|
23天前
|
JavaScript 前端开发 数据库
测试开发之路--Flask 之旅 (四):登录与权限控制
本文介绍了如何使用 Flask-Security 和 Flask-Login 实现权限管理和用户登录功能。首先讲解了 Flask 的消息闪现功能,用于向模板传递信息。接着介绍了如何利用 Flask-Security 的 `roles_required` 和 `roles_accepted` 装饰器保护页面,并展示了如何通过 `current_user` 获取当前用户信息。最后提到了使用 Flask-Login 时应避免升级至 0.4.0 版本,以防出现兼容性问题。通过这些技术,搭建了一个基本的用户权限管理系统。
51 6
测试开发之路--Flask 之旅 (四):登录与权限控制
|
23天前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
101 3
快速上手|HTTP 接口功能自动化测试
|
23天前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
31 5
|
1月前
|
监控 安全 Linux
如何利用Kali Linux进行网站渗透测试:最常用工具详解
如何利用Kali Linux进行网站渗透测试:最常用工具详解
70 6
|
2月前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
|
2月前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
|
2月前
|
SQL Java 测试技术
SpringBoot单元测试快速写法问题之PorkService 接口中的 getPork 方法的作用如何解决
SpringBoot单元测试快速写法问题之PorkService 接口中的 getPork 方法的作用如何解决
|
1月前
|
SQL 安全 网络协议
黑盒渗透测试:揭开未知的安全隐患
【8月更文挑战第31天】
54 0
下一篇
无影云桌面