登录认证模块测试(读书笔记)

前言:登录认证模块测试包含五方面内容:

暴力破解测试、本地加密传输测试、session测试、密文对比认证测试、登录失败信息测试。

0x01:暴力破解测试

暴力破解测试是指对应用系统用户登录账号与密码进行的枚举测试,针对账号或密码进行逐一比较,直到找出正确的账号与密码。

一般分为以下三种情况:

a.在已知账号的情况下,加载密码字典针对面膜进行枚举测试。

b.在未知账号的情况下,加载账号字典,并结合密码字典进行枚举测试。

c.在未知账号和密码的情况下,利用账号和密码字典进行测试。

修复建议:

1.增加验证码,登录失败一次,验证码换一次。

2、配置登录失败次数限制策略,如在同一用户尝试登录的前提下,5分钟内连续登录失败超过6次,则禁止用户在3小时内登录系统。

3、在条件允许的情况下,增加手机接收短信验证码或邮箱接收邮件验证码。

0x02:本地加密传输测试

本地加密传输测试是针对客户端与服务器的数据传输,查看数据是否采用SSL(Security Socker Layer,安全套接层)加密方式加密。

wireshark观察登录的数据包。

修复建议:在架设web应用的服务器上部署有效的SSL证书服务。

0x03:session会话固定测试

session是应用系统对浏览器客户端身份认证的属性标识,在用户退出应用系统时,应将客户端session认证属性标识清空。

如果未能清空客户端session标识,在下次登录系统时,系统会重复利用该session标识进行会话。

攻击者可利用该漏洞生成固定Session会话,并诱骗用户利用攻击者生成的固定会话进行系统登录,从而导致用户会话认证被窃取。

测试方法:

在注销退出系统时,对当前浏览器授权SessionID值进行记录。再次登录系统,将本次授权SessionID值与上次进行比对校验。

判断服务器是否使用与上次相同的SessionID值进行授权认证,若使用相同SessionID值则存在固定会话风险。

0x04:Session会话注销测试

Session是应用系统对浏览器客户端身份认证的属性标识,在用户注销或退出应用程序系统时,系统应将客户端Session认证属性标识清空。如果未能清空Session认证会话,该认证会话将持续有效,此时攻击者获得该Session认证会话会导致用户权限被盗取。

测试方法:

在用户注销退出系统后,判断授权认证SessionID值是否依然有效。若授权SessinID依然则存在风险。

修复建议:

在用户注销或退出应用系统时,服务器应及时销毁Session认证会话信息并清空客户端浏览器Session属性标识。

0x05:seesion会话超时时间测试

在用户成功登录系统获得Session认证会话后,该Session认证会话应具有生命周期,即用户在成功登录系统后,

如果在固定时间内(例如10分钟)该用户与服务器无任何交互操作,应销毁该用户Session认证会话消息,要求用户重新登录

系统认证。

修复建议:

对每个生成的Session认证会话配置生命周期(常规业务系统建议30分钟内),从而有效降低因用户会话认证时间

过长而导致的信息泄露风险。

0x06:cookie仿冒测试

服务器为鉴别客户端浏览器会话及身份信息,会将用户身份信息存储在Cookie中,并发送至客户端存储。攻击者通过尝试修改Cookie中的身份标识,从而达到仿冒其他用户身份的目的,并拥有相关用户的所有权限。

测试方法:

对系统会话授权认证Cookie中会话身份认证标识进行篡改测试,通过篡改身份认证标识值来判断能否改变用户身份会话。

例如:cookie: user-id=admin;PHPSESSID=i7fsdfsdfsdfxxxxxxxxx5

通过篡改修cookie字段中user-id的值,来尝试登录其他用户。

修改建议:

建议客户端标识的用户敏感信息数据,使用Session会话认证方式,避免被他人仿冒。

0x07:密文比对认证测试

a.服务器加密用户名和密码再与数据库中加密值做对比。

在系统登录时密码加密流程一般是先将用户名和密码发送到服务器,服务器会把用户提交的密码经过HASH算法加密后

和数据库中存储的加密值对比,如果加密值相同,则判断用户提交密码正确。

b. 客户端hash加密(前端js加密)再与数据库中加密值做对比

但有些网站系统的流程实在前台浏览器客户端对密码进行Hash加密后传输给服务器并与数据库中加密值进行对比,

如果加密值值相同,则判断用户提交密码正确。此流程会泄露密码加密方式,导致出现安全隐患。

思考:如何判断用户名和密码是客户端加密还是服务端加密

JS代码得知是客户端加密。

利用方法,前端加密我们可以使用Burp(payloads模块中子模块Payload Processing进行爆破)。

修复建议:

将密码加密过程及密文对比过程放置在服务器后台执行。

发送用户名和密码到服务器后台,后台对用户提交的密码经过MD5算法加密后和数据库中存储的MD5密码值进行比对,

如果加密值相同,则允许用户登录。

0x08:登录失败信息测试

在用户登录系统失败时,系统会在页面显示用户登录失败信息,假如提交账号在系统中不存在,系统提示“用户名不存在”

、“账号不存在”等明确信息;假如提交账号在系统中存在,则系统提示“密码/口令错误”等间接提示信息。

攻击者可根据此类登录失败提示信息来判断当前登录账号是否在系统中存在,从而进行有针对性的暴力破解测试。

测试方法:

针对系统返回不同的登录失败提示信息进行逻辑分析,判断是否能通过系统返回的登录失败信息猜测系统账号或密码。

来自web攻防之业务安全

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容