CN115580494B - 一种弱口令的检测方法、装置和设备 - Google Patents

一种弱口令的检测方法、装置和设备 Download PDF

Info

Publication number
CN115580494B
CN115580494B CN202211568529.4A CN202211568529A CN115580494B CN 115580494 B CN115580494 B CN 115580494B CN 202211568529 A CN202211568529 A CN 202211568529A CN 115580494 B CN115580494 B CN 115580494B
Authority
CN
China
Prior art keywords
response
password
result
user name
login
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211568529.4A
Other languages
English (en)
Other versions
CN115580494A (zh
Inventor
张笑尘
叶铠逞
朱文雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Changting Future Technology Co ltd
Original Assignee
Beijing Changting Future Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Changting Future Technology Co ltd filed Critical Beijing Changting Future Technology Co ltd
Priority to CN202211568529.4A priority Critical patent/CN115580494B/zh
Publication of CN115580494A publication Critical patent/CN115580494A/zh
Application granted granted Critical
Publication of CN115580494B publication Critical patent/CN115580494B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例提供了一种弱口令的检测方法、装置和设备,属于网络安全技术领域,该检测方法包括:获取目标站点的登录表单;解析所述登录表单,采用二次确认的方法,获得所述登录表单的用户名字段名和密码字段名;遍历已获取的用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,通过登录响应相似度比较,获取属于疑似弱口令的用户名和密码对,所述属于疑似弱口令的用户名和密码对是从所述已获取的用户名和密码对中筛选获取;基于所述属于疑似弱口令的用户名和密码对,进行二次验证,获得所述目标站点的登录表单的弱口令检测结果。本申请实施例优化了弱口令的漏洞检测,提高弱口令的检测速度,降低误报率。

Description

一种弱口令的检测方法、装置和设备
技术领域
本申请各实施例属于信息安全领域,具体而言,涉及一种弱口令的检测方法、装置和设备。
背景技术
弱口令作为安全漏洞的一种,是指***登录口令的设置强度设置不高,容易被攻击者猜到或破解,存在极大的安全风险。
现有技术中,在web应用表单中,一般根据不同的表单实现形式,进行表单用户名和密码的配置进而进行站点适配,该方法无法在单个任务中检测多个站点的弱口令的漏洞问题,且容易误报。而且,在现有技术中,在web应用表单中,往往需要手动配准登录成功标志,无法有效的甄别登录成功与否,造成检测误报。
基于此,需要一种新的弱口令的检测方法。
发明内容
本说明书实施例提供一种弱口令的检测方法、装置和设备,以优化弱口令的漏洞检测,提高弱口令的检测速度,降低误报率。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供一种弱口令的检测方法,所述方法包括:
获取目标站点的登录表单;
解析所述登录表单,采用二次确认的方法,获得所述登录表单的用户名字段名和密码字段名;
遍历已获取的用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,通过登录响应相似度比较,获取属于疑似弱口令的用户名和密码对,所述属于疑似弱口令的用户名和密码对是从所述已获取的用户名和密码对中筛选获取;
基于所述属于疑似弱口令的用户名和密码对,进行二次验证,获得所述目标站点的登录表单的弱口令检测结果。
本说明书实施例提供一种弱口令的检测装置,所述装置包括:
获取模块,获取目标站点的登录表单;
解析模块,解析所述登录表单,采用二次确认的方法,获得所述登录表单的用户名字段名和密码字段名;
筛选模块,遍历已获取的用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,通过登录响应相似度比较,获取属于疑似弱口令的用户名和密码对,所述属于疑似弱口令的用户名和密码对是从所述已获取的用户名和密码对中筛选获取;
验证模块,基于所述属于疑似弱口令的用户名和密码对,进行二次验证,获得所述目标站点的登录表单的弱口令检测结果。
本说明书实施例还提供一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取目标站点的登录表单;
解析所述登录表单,采用二次确认的方法,获得所述登录表单的用户名字段名和密码字段名;
遍历已获取的用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,通过登录响应相似度比较,获取属于疑似弱口令的用户名和密码对,所述属于疑似弱口令的用户名和密码对是从所述已获取的用户名和密码对中筛选获取;
基于所述属于疑似弱口令的用户名和密码对,进行二次验证,获得所述目标站点的登录表单的弱口令检测结果。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:通过获取目标站点的登录表单;解析所述登录表单,采用二次确认的方法,获得所述登录表单的用户名字段名和密码字段名;遍历已获取的用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,通过登录响应相似度比较,获取属于疑似弱口令的用户名和密码对,所述属于疑似弱口令的用户名和密码对是从所述已获取的用户名和密码对中筛选获取;基于所述属于疑似弱口令的用户名和密码对,进行二次验证,获得所述目标站点的登录表单的弱口令检测结果,能够优化弱口令的漏洞检测,提高弱口令的检测速度,降低误报率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分,本领域技术人员应该理解的是,这些附图未必是按比例绘制的,在附图中:
图1为本说明书实施例提供的一种弱口令的检测方法的流程示意图;
图2为本说明书实施例提供的一种弱口令的检测方法的示意图;
图3为本说明书实施例提供的一种弱口令的检测装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
弱口令(weak password),通常认为容易被别人猜测到或被破解工具破解的口令均为弱口令。弱口令指的是仅包含简单数字和字母的口令。常见弱口令有:数字或字母连排或混排,键盘字母连排(如:123456,abcdef,123abc,qwerty,1qaz2wsx等);生日,姓名+生日;短语密码(如:5201314,woaini1314等)。常见的web应用表单弱口令扫描检测模型,一般是根据不同的表单实现方式,单独进行表单用户名和密码的配置来对站点进行适配,这通常会造成无法在单个任务中检测多个站点的表单弱口令漏洞的问题。且多数模型无法有效甄别登录成功的请求响应,造成检测误报。在web站点登录表单实现方式多种多样的现状下,需要一种新的弱口令检测方法。
图1为本说明书实施例提供的一种弱口令的检测方法的流程示意图。从程序角度而言,流程的执行主体为具有计算功能的终端,例如电脑、平板电脑等。如图1所示,该检测方法包括如下步骤:
步骤S101:获取目标站点的登录表单。
在本说明书实施例中,目标站点为存活站点,且运行良好。具体的,目标站点为web站点。
步骤S103:解析所述登录表单,采用二次确认的方法,获得所述登录表单的用户名字段名和密码字段名。
在本说明书实施例中,获得登录表单后,需要进一步进行登录表单的解析,以获取登录表单的用户名字段名和密码字段名。
在本说明书实施例中,所述解析所述登录表单,采用二次确认的方法,获得所述登录表单的用户名字段名和密码字段名,具体包括:
基于节点树,对所述登录表单进行解析,获得所述登录表单的属性值;
基于本地模式库,对所述登录表单的属性值进行模式匹配,获得疑似用户名字段名及疑似密码字段名;
利用无头浏览器对所述疑似用户名字段名及所述疑似密码字段名进行验证,获得所述登录表单的用户名字段名及所述密码字段名。
在本说明书实施例中,基于节点树,对所述登录表单进行解析,获得所述登录表单的属性值,其中,节点树为DOM树(Document Object Model,即文档结构模型)。基于节点树对登录表单进行解析为现有技术,在此不再赘述。需要特别说明的是,登录表单的属性值至少包括:id(唯一标识)、class(分类)和name(名称)属性值。
在本说明书实施例中,本地模式库为预设模式库,具体而言是用户名字段名与密码字段名的集合。利用本地模式库,通过登录表单与本地模式库的匹配,可以尝试用户名字段名与密码字段名,获得登录表单的疑似用户名字段名和疑似密码字段名。
在本说明书实施例中,进一步对登录表单的疑似用户名字段名和疑似密码字段名进行二次验证。具体实施例中,采用无头浏览器进行页面渲染和尝试,进行二次验证。无头浏览器是指可以在图形界面情况下运行的浏览器。
在本说明书实施例中,所述方法进一步包括:
若基于所述本地模式库和/或所述无头浏览器无法获取所述登录表单的用户名字段名及所述密码字段名,则采用枚举法或穷举法的方法,获取所述登录表单的用户名字段名及所述密码字段名。
步骤S105:遍历已获取的用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,通过登录响应相似度比较,获取属于疑似弱口令的用户名和密码对,所述属于疑似弱口令的用户名和密码对是从所述已获取的用户名和密码对中筛选获取。
将已获取的用户名和密码对作为登录表单的用户名字段名和密码字段名的输入,进行登录请求;进一步判断登录请求的返回值中是否含有登录成功标志,若含有登录成功标志,则证明存在弱口令漏洞。在具体实施例中,登录成功标志的具体形式在此不做限定。
在本说明书实施例中,所述遍历已获取的用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,通过登录响应相似度比较,获取属于疑似弱口令的用户名和密码对,具体包括:
遍历所述已获取的用户名和密码对,使得所述用户名和密码对作为所述登录表单的输入,获得登录响应相似度结果,所述请求相似度结果是基于请求响应获得的相似度;
基于所述请求相似度结果,获得属于疑似弱口令的用户名和密码对。
在本说明书实施例中,相似度为两个HTTP请求的响应内容的相似度。一般而言,相似度最低标记为1,当相似度标记为0时,视为两个HTTP请求的响应无法计算相似度,不具备可比性。
在本说明书实施例中,所述遍历所述已获取的用户名和密码对,获得登录响应相似度结果,具体包括:
从所述已获取的用户名和密码对中选择两组用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,获得第一响应结果及第二响应结果;
将所述第一响应结果与第二响应结果进行可比性检查,获得登录响应相似度结果;
若所述登录响应相似度结果不为0,则对所述第一响应结果与所述第二响应结果进行响应头的相似度计算,获得响应头的相似度计算结果;
若所述响应头的相似度计算结果不为0,则对所述第一响应结果与所述第二响应结果进行响应体的相似度计算,获得响应体的相似度计算结果;
将所述响应头的相似度计算结果及所述响应体的相似度计算结果进行加权,获得请求相似度结果;
若所述请求相似度结果满足预设相似度,则所述选择的两组用户名和密码对属于疑似弱口令的用户名和密码对;
遍历所述已获取的用户名和密码对,获得属于疑似弱口令的用户名和密码对。
在本说明书实施例中,将所述响应头的相似度计算结果及所述响应体的相似度计算结果进行加权,获得登录响应相似度结果,在具体实施例中,可以按照19:1的比重,对所述响应头的相似度计算结果及所述响应体的相似度计算结果进行加权,获得登录响应相似度结果。
在本说明书实施例中,预设相似度可以根据具体业务场景而定。在本说明书的一个实施例中,当请求相似度高于95的两个HTTP响应,视为相似;高于90低于95,视为疑似;低于90,视为无关。
需要特别说明的是,当响应相似度结果为0,则结束计算。当响应头的相似度计算结果为0时,则结束结算。
在本说明书实施例中,用户名和密码对是基于弱口令字典,采用笛卡尔积生成的。
在本说明书实施例中,所述将所述第一响应结果与第二响应结果进行可比性检查,获得登录响应相似度结果,具体包括:
判断所述第一响应结果与所述第二响应结果中的状态码是否相等;
若所述第一响应结果与所述第二响应结果中的状态码相等,则判断所述第一响应结果与所述第二响应结果中的返回内容类型是否相同;
若所述第一响应结果与所述第二响应结果中的返回内容类型相同,则判断所述第一响应结果与所述第二响应结果中的返回内容类型是否属于响应头黑名单中的字段,从而获得所述登录响应相似度结果。
一般而言,响应状态码包括消息状态码、成功状态码、重定向状态码、请求错误状态码、服务器错误状态码。由于本申请针对的弱口令的检测,因此,更关注响应状态码为重定向状态码的情况,具体的,重定向状态码可以表示为3xx,意为以3开头的三位十进制数字表示的状态码。
基于此,进一步地,在本说明书实施例中,所述若所述响应相似度结果不为0,则对所述第一响应结果与所述第二响应结果进行响应头的相似度计算,获得响应头的相似度计算结果,具体包括:
若所述响应头相似度结果不为0,则获取所述第一响应结果与所述第二响应结果中的响应头,获得第一响应头及第二响应头;
比较响应状态码为重定向状态码的第一响应头与第二响应头中的位置字段;
若所述响应状态码为重定向状态码的第一响应头与第二响应头的位置字段不同,则将所述第一响应头与所述第二响应头中Cookie键值相等的频率作为所述响应头的相似度计算结果。
在本说明书实施例中,所述若所述响应头的相似度计算结果不为0,则对所述第一响应结果与所述第二响应结果进行响应体的相似度计算,获得响应体的相似度计算结果,具体包括:
所述若所述响应头的相似度计算结果不为0,则获取所述第一响应结果与所述第二响应结果中的响应体,获得第一响应体及第二响应体;
若所述第一响应体与所述第二响应体均为空,则将所述响应头的相似度计算结果作为所述响应体的相似度计算结果;
若所述第一响应体与所述第二响应体不为空,且所述第一响应体与所述第二响应体的类型为非结构化文档,则通过统计所述第一响应体与所述第二响应体的词频确定所述响应体的相似度计算结果;
若所述第一响应体与所述第二响应体不为空,且所述第一响应体与所述第二响应体的类型为结构化文档,则基于所述第一响应体与所述第二响应体对应的Token序列进行文本相似度计算,作为所述响应体的相似度计算结果。
在本说明书实施例中,结构化文档即可作为xml\html的文档,非结构化文档为不可作为xml\html的文档。
在本说明书实施例中,若所述第一响应体与所述第二响应体不为空,且所述第一响应体与所述第二响应体的类型为结构化文档,则基于所述第一响应体与所述第二响应体对应的Token序列进行文本相似度计算,作为所述响应体的相似度计算结果,具体包括:
若所述第一响应体与所述第二响应体不为空,且所述第一响应体与所述第二响应体的类型为结构化文档,则将所述第一响应体与所述第二响应体分别生成第一结构树和第二结构树,其中,第一结构树为第一响应体对应的结构树,第二结构树为第二响应体对应的结构树;
将所述第一结构树及所述第二结构树中符合白名单的节点删除,获得处理过的第一结构树及处理过的第二结构树;
将处理过的第一结构树与处理过的第二结构树进行序列化,生成Token序列,该Token序列包括第一Token序列及第二Token序列,其中,第一Token序列为处理过的第一结构树对应的Token序列,第二Token序列为处理过的第二结构树对应的Token序列;
对第一Token序列与第二Token序列进行文本相似度计算,作为响应体的相似度计算结果。
在本说明书实施例中,将处理过的第一结构树与处理过的第二结构树进行标记化,生成Token序列。在具体实施例中,可以采用是AST生成算法,以生成Token序列,即基于AST算法生成的AST,提取Token序列。AST生成算法,即Abstract Syntax Tree抽象语法树,为解析树的一种。Token序列即标记序列,Token序列生成的过程记为标记化的过程。
为了进一步理解本说明书实施例提供的方法,下面将结合具体的实施例予以说明。
(1)获取待比较的两个HTTP 请求的响应(Response),记为R_1 和R_2。
(2)可比性检查。具体而言,1)判断R_1与R_2的状态码(status code),如果不相等,则响应相似度视为0并结束计算。2)基于HTTP响应头中“Content-Type”字段,判断R_1与R_2的返回内容类型,如果不相等,则响应相似度视为0并结束计算。3)比对内置响应头黑名单,如果两个响应的“Content-Type”字段值在黑名单中,则无法比对响应,响应相似度视为0并结束计算。
(3)分别分割出R_1和R_2的响应头(Response Header)H_1和H_2。进行响应头的相似度计算,具体地,1)对于响应状态码为3xx 的,比较响应头中的“Location”字段,如果不相等的,则响应头相似度为0。2)分别获取H_1 和H_2的Cookie C_1和C_2,计算两者Cookie中的键值相等的频率作为最终响应头相似度。
(4)分别分割出R_1和R_2的响应体(Response Body)B_1和B_2。如果响应体均为空,则直接将响应头的相似度作为最终相似度返回并结束计算。如果不都为空则进行响应体的相似度计算,具体地,1)如果响应体的类型不可作为html、xml等结构化文档。则对B_1,B_2进行文本相似度计算,通过统计词频并计算共有词所占比例得到最终响应体相似度。2)如果响应体的类型可作为html、xml等结构化文档。分别对B_1, B_2生成结构树A_1和A_2。3.)分别处理A_1和A_2,将两者中符合无需比对白名单中的类型的节点删除。 4)分别处理过白名单后的A_1 和 A_2,生成序列化的Token序列T_1 和T_2。5)利用文本相似度算法计算T_1和T_2的相似度,作为最终响应体相似度。
(5)根据19:1的比重对响应头相似度和响应体相似度进行加权计算。最终得到HTTP请求相似度。
(6)对于相似度高于95的两个HTTP响应,视为相似;高于90低于95的,视为疑似;对于低于90的,视为无关。
步骤S107:基于所述属于疑似弱口令的用户名和密码对,进行二次验证,获得所述目标站点的登录表单的弱口令检测结果。
在本说明书实施例中,所述基于所述属于疑似弱口令的用户名和密码对,进行二次验证,获得所述目标站点的登录表单的弱口令检测结果,具体包括:
保持所述疑似弱口令的用户名或所述疑似弱口令的密码不变,随机生成字符串作为新的用户名或新的密码,判断所述疑似弱口令的用户名或所述疑似弱口令的密码是否有效,以进行二次验证,获得所述目标站点的登录表单的弱口令检测结果。
在本说明书实施例中,保持所述疑似弱口令的用户名或所述疑似弱口令的密码不变,随机生成字符串作为新的用户名或新的密码,判断所述疑似弱口令的用户名或所述疑似弱口令的密码是否有效,具体包括:
保持所述疑似弱口令的用户名不变,随机生成字符串作为新的密码;基于疑似弱口令的用户名及新的密码发送登录请求,获得第二请求响应;若所述第二请求响应与第一请求响应的相似度高于预设阈值,则所述疑似口令的密码有效,所述第一请求响应为第一次发生登录请求获得的;
或者保持所述疑似弱口令的密码不变,随机生成字符串作为新的用户名;基于所述疑似密码及所述新的用户名发送登录请求,获得第三请求响应;若所述第三请求响应与所述第一请求响应的相似度高于预设阈值,则所述疑似弱口令的用户名有效。
在本说明书实施例中,预设阈值的设定根据具体业务场景而定,在此不做限定。随机生成字符串的方式可以采用任意方法,在此不做限定。
在本说明书实施例中,目标站点的登录表单的弱口令检测结果的具体表现形式可以为:输出表单弱口令漏洞及检测成功的用户名和密码
为了进一步理解本说明书实施例提供的检测方法,下面将结合具体的实施例予以说明。图2为本说明书实施例提供的一种弱口令的检测方法的示意图。如图2所示,该检测方法包括如下步骤:
步骤S201:对目标站点进行解析,获得站点登录页面的表单。
步骤S203:解析所述站点登录页面的表单,获得用户名字段名及密码字段名。
在本说明书实施例中,基于登录页面的表单中输入框的多个属性,根据模式匹配等手段,匹配出用户名字段名及密码字段名。
步骤S205:基于所述用户名字段名及所述密码字段名进行第一次登录请求,获得第一请求响应。
步骤S207:将基于弱口令字典获得的用户名和密码对进行登录请求,直至获得属于疑似弱口令的用户名和密码对。
在本说明书实施例中,基于弱口令字典获得的用户名和密码对,发送请求,记录请求响应的快照;将请求响应的快照与第一请求响应使用相似度算法进行比对。如果相似程度低于预设阈值,则当前使用的用户名和密码作为疑似弱口令的用户名和密码,跳出循环。
步骤S209:对所述疑似弱口令的用户名及密码对进行二次验证,获取有效的疑似用户名及有效的疑似密码。
在本说明书实施例中,保持所述疑似弱口令的用户名不变,随机生成字符串作为新的密码;基于疑似弱口令的用户名及新的密码发送登录请求,获得第二请求响应;若所述第二请求响应与第一请求响应的相似度高于预设阈值,则所述疑似口令的密码有效,所述第一请求响应为第一次发生登录请求获得的;
或者保持所述疑似弱口令的密码不变,随机生成字符串作为新的用户名;基于所述疑似密码及所述新的用户名发送登录请求,获得第三请求响应;若所述第三请求响应与所述第一请求响应的相似度高于预设阈值,则所述疑似弱口令的用户名有效。
步骤S211:输出表单弱口令漏洞及检测成功的用户名和密码,所述检测成功的用户名和密码为所述有效的疑似用户名及所述有效的疑似密码。
采用本说明书实施例提供的检测方法,能够优化弱口令的漏洞检测,提高弱口令的检测速度,降低误报率。
本说明书实施例提供了一种弱口令的检测方法,基于同样的思路,本说明书实施例提供一种弱口令的检测装置。图3为本说明书实施例提供的一种弱口令的检测装置的示意图,如图3所示,该检测装置包括:
获取模块301,获取目标站点的登录表单;
解析模块303,解析所述登录表单,采用二次确认的方法,获得所述登录表单的用户名字段名和密码字段名;
筛选模块305,遍历已获取的用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,通过登录响应相似度比较,获取属于疑似弱口令的用户名和密码对,所述属于疑似弱口令的用户名和密码对是从所述已获取的用户名和密码对中筛选获取;
验证模块307,基于所述属于疑似弱口令的用户名和密码对,进行二次验证,获得所述目标站点的登录表单的弱口令检测结果。
在本说明书实施例中,所述解析所述登录表单,采用二次确认的方法,获得所述登录表单的用户名字段名和密码字段名,具体包括:
基于节点树,对所述登录表单进行解析,获得所述登录表单的属性值;
基于本地模式库,对所述登录表单的属性值进行模式匹配,获得疑似用户名字段名及疑似密码字段名;
利用无头浏览器对所述疑似用户名字段名及所述疑似密码字段名进行验证,获得所述登录表单的用户名字段名及所述密码字段名。
在本说明书实施例中,所述方法进一步包括:
若基于所述本地模式库和/或所述无头浏览器无法获取所述登录表单的用户名字段名及所述密码字段名,则采用枚举法或穷举法的方法,获取所述登录表单的用户名字段名及所述密码字段名。
在本说明书实施例中,所述遍历已获取的用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,通过登录响应相似度比较,获取属于疑似弱口令的用户名和密码对,具体包括:
遍历所述已获取的用户名和密码对,使得所述用户名和密码对作为所述登录表单的输入,获得登录响应相似度结果,所述登录响应相似度结果是基于请求响应获得的相似度;
基于所述登录响应相似度结果,获得属于疑似弱口令的用户名和密码对。
在本说明书实施例中,所述遍历所述已获取的用户名和密码对,使得所述用户名和密码对作为所述登录表单的输入,获得登录响应相似度结果,具体包括:
从所述已获取的用户名和密码对中选择两组用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,获得第一响应结果及第二响应结果;
将所述第一响应结果与第二响应结果进行可比性检查,获得登录响应相似度结果;
若所述登录响应相似度结果不为0,则对所述第一响应结果与所述第二响应结果进行响应头的相似度计算,获得响应头的相似度计算结果;
若所述响应头的相似度计算结果不为0,则对所述第一响应结果与所述第二响应结果进行响应体的相似度计算,获得响应体的相似度计算结果;
将所述响应头的相似度计算结果及所述响应体的相似度计算结果进行加权,获得请求相似度结果;
若所述请求相似度结果满足预设相似度,则所述选择的两组用户名和密码对属于疑似弱口令的用户名和密码对;
遍历所述已获取的用户名和密码对,获得属于疑似弱口令的用户名和密码对。
在本说明书实施例中,所述将所述第一响应结果与第二响应结果进行可比性检查,获得登录响应相似度结果,具体包括:
判断所述第一响应结果与所述第二响应结果中的状态码是否相等;
若所述第一响应结果与所述第二响应结果中的状态码相等,则判断所述第一响应结果与所述第二响应结果中的返回内容类型是否相同;
若所述第一响应结果与所述第二响应结果中的返回内容类型相同,则判断所述第一响应结果与所述第二响应结果中的返回内容类型是否属于响应头黑名单中的字段,从而获得所述响应相似度结果。
在本说明书实施例中,所述若所述响应相似度结果不为0,则对所述第一响应结果与所述第二响应结果进行响应头的相似度计算,获得响应头的相似度计算结果,具体包括:
若所述响应头相似度结果不为0,则获取所述第一响应结果与所述第二响应结果中的响应头,获得第一响应头及第二响应头;
比较响应状态码为重定向状态码的第一响应头与第二响应头中的位置字段;
若所述响应状态码为重定向状态码的第一响应头与第二响应头的位置字段不同,则将所述第一响应头与所述第二响应头中Cookie键值相等的频率作为所述响应头的相似度计算结果。
在本说明书实施例中,所述若所述响应头的相似度计算结果不为0,则对所述第一响应结果与所述第二响应结果进行响应体的相似度计算,获得响应体的相似度计算结果,具体包括:
所述若所述响应头的相似度计算结果不为0,则获取所述第一响应结果与所述第二响应结果中的响应体,获得第一响应体及第二响应体;
若所述第一响应体与所述第二响应体均为空,则将所述响应头的相似度计算结果作为所述响应体的相似度计算结果;
若所述第一响应体与所述第二响应体不为空,且所述第一响应体与所述第二响应体的类型为非结构化文档,则通过统计所述第一响应体与所述第二响应体的词频确定所述响应体的相似度计算结果;
若所述第一响应体与所述第二响应体不为空,且所述第一响应体与所述第二响应体的类型为结构化文档,则基于所述第一响应体与所述第二响应体对应的Token序列进行文本相似度计算,作为所述响应体的相似度计算结果。
在本说明书实施例中,所述基于所述属于疑似弱口令的用户名和密码对,进行二次验证,获得所述目标站点的登录表单的弱口令检测结果,具体包括:
保持所述疑似弱口令的用户名或所述疑似弱口令的密码不变,随机生成字符串作为新的用户名或新的密码,判断所述疑似弱口令的用户名或所述疑似弱口令的密码是否有效,以进行二次验证,获得所述目标站点的登录表单的弱口令检测结果。
本说明书实施例还提供一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取目标站点的登录表单;
解析所述登录表单,采用二次确认的方法,获得所述登录表单的用户名字段名和密码字段名;
遍历已获取的用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,通过登录响应相似度比较,获取属于疑似弱口令的用户名和密码对,所述属于疑似弱口令的用户名和密码对是从所述已获取的用户名和密码对中筛选获取;
基于所述属于疑似弱口令的用户名和密码对,进行二次验证,获得所述目标站点的登录表单的弱口令检测结果。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (9)

1.一种弱口令的检测方法,其特征在于,所述方法包括:
获取目标站点的登录表单;
解析所述登录表单,采用二次确认的方法,获得所述登录表单的用户名字段名和密码字段名;
遍历已获取的用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,通过登录响应相似度比较,获取属于疑似弱口令的用户名和密码对,所述属于疑似弱口令的用户名和密码对是从所述已获取的用户名和密码对中筛选获取;
基于所述属于疑似弱口令的用户名和密码对,进行二次验证,获得所述目标站点的登录表单的弱口令检测结果;
所述方法进一步包括:
若基于本地模式库和/或无头浏览器无法获取所述登录表单的用户名字段名及所述密码字段名,则采用枚举法或穷举法的方法,获取所述登录表单的用户名字段名及所述密码字段名。
2.如权利要求1所述的检测方法,其特征在于,所述解析所述登录表单,采用二次确认的方法,获得所述登录表单的用户名字段名和密码字段名,具体包括:
基于节点树,对所述登录表单进行解析,获得所述登录表单的属性值;
基于本地模式库,对所述登录表单的属性值进行模式匹配,获得疑似用户名字段名及疑似密码字段名;
利用无头浏览器对所述疑似用户名字段名及所述疑似密码字段名进行验证,获得所述登录表单的用户名字段名及所述密码字段名。
3.如权利要求1所述的检测方法,其特征在于,所述遍历已获取的用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,通过登录响应相似度比较,获取属于疑似弱口令的用户名和密码对,具体包括:
遍历所述已获取的用户名和密码对,使得所述用户名和密码对作为所述登录表单的输入,获得登录响应相似度结果,所述登录响应相似度结果是基于登录请求响应获得的相似度;
基于所述登录响应相似度结果,获得属于疑似弱口令的用户名和密码对。
4.如权利要求3所述的检测方法,其特征在于,所述遍历所述已获取的用户名和密码对,使得所述用户名和密码对作为所述登录表单的输入,获得登录响应相似度结果,具体包括:
从所述已获取的用户名和密码对中选择两组用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,获得第一响应结果及第二响应结果;
将所述第一响应结果与第二响应结果进行可比性检查,获得登录响应相似度结果;
若所述登录响应相似度结果不为0,则对所述第一响应结果与所述第二响应结果进行响应头的相似度计算,获得响应头的相似度计算结果;
若所述响应头的相似度计算结果不为0,则对所述第一响应结果与所述第二响应结果进行响应体的相似度计算,获得响应体的相似度计算结果;
将所述响应头的相似度计算结果及所述响应体的相似度计算结果进行加权,获得请求相似度结果;
若所述请求相似度结果满足预设相似度,则所述选择的两组用户名和密码对属于疑似弱口令的用户名和密码对;
遍历所述已获取的用户名和密码对,获得属于疑似弱口令的用户名和密码对。
5.如权利要求4所述的检测方法,其特征在于,所述将所述第一响应结果与第二响应结果进行可比性检查,获得登录响应相似度结果,具体包括:
判断所述第一响应结果与所述第二响应结果中的状态码是否相等;
若所述第一响应结果与所述第二响应结果中的状态码相等,则判断所述第一响应结果与所述第二响应结果中的返回内容类型是否相同;
若所述第一响应结果与所述第二响应结果中的返回内容类型相同,则判断所述第一响应结果与所述第二响应结果中的返回内容类型是否属于响应头黑名单中的字段,从而获得所述登录响应相似度结果。
6.如权利要求4所述的检测方法,其特征在于,所述若所述登录响应相似度结果不为0,则对所述第一响应结果与所述第二响应结果进行响应头的相似度计算,获得响应头的相似度计算结果,具体包括:
若所述响应头相似度结果不为0,则获取所述第一响应结果与所述第二响应结果中的响应头,获得第一响应头及第二响应头;
比较响应状态码为重定向状态码的第一响应头与第二响应头中的位置字段;
若所述响应状态码为重定向状态码的第一响应头与第二响应头的位置字段不同,则将所述第一响应头与所述第二响应头中Cookie键值相等的频率作为所述响应头的相似度计算结果。
7.如权利要求4所述的检测方法,其特征在于,所述若所述响应头的相似度计算结果不为0,则对所述第一响应结果与所述第二响应结果进行响应体的相似度计算,获得响应体的相似度计算结果,具体包括:
若所述响应头的相似度计算结果不为0,则获取所述第一响应结果与所述第二响应结果中的响应体,获得第一响应体及第二响应体;
若所述第一响应体与所述第二响应体均为空,则将所述响应头的相似度计算结果作为所述响应体的相似度计算结果;
若所述第一响应体与所述第二响应体不为空,且所述第一响应体与所述第二响应体的类型为非结构化文档,则通过统计所述第一响应体与所述第二响应体的词频确定所述响应体的相似度计算结果;
若所述第一响应体与所述第二响应体不为空,且所述第一响应体与所述第二响应体的类型为结构化文档,则基于所述第一响应体与所述第二响应体对应的Token序列进行文本相似度计算,作为所述响应体的相似度计算结果。
8.如权利要求1所述的检测方法,其特征在于,所述基于所述属于疑似弱口令的用户名和密码对,进行二次验证,获得所述目标站点的登录表单的弱口令检测结果,具体包括:
保持所述疑似弱口令的用户名或所述疑似弱口令的密码不变,随机生成字符串作为新的用户名或新的密码,判断所述疑似弱口令的用户名或所述疑似弱口令的密码是否有效,以进行二次验证,获得所述目标站点的登录表单的弱口令检测结果。
9.一种弱口令的检测装置,其特征在于,所述装置包括:
获取模块,获取目标站点的登录表单;
解析模块,解析所述登录表单,采用二次确认的方法,获得所述登录表单的用户名字段名和密码字段名;
筛选模块,遍历已获取的用户名和密码对作为所述登录表单的用户名字段名和密码字段名的输入,通过登录响应相似度比较,获取属于疑似弱口令的用户名和密码对,所述属于疑似弱口令的用户名和密码对是从所述已获取的用户名和密码对中筛选获取;
验证模块,基于所述属于疑似弱口令的用户名和密码对,进行二次验证,获得所述目标站点的登录表单的弱口令检测结果;
所述装置进一步包括:
若基于本地模式库和/或无头浏览器无法获取所述登录表单的用户名字段名及所述密码字段名,则采用枚举法或穷举法的方法,获取所述登录表单的用户名字段名及所述密码字段名。
CN202211568529.4A 2022-12-08 2022-12-08 一种弱口令的检测方法、装置和设备 Active CN115580494B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211568529.4A CN115580494B (zh) 2022-12-08 2022-12-08 一种弱口令的检测方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211568529.4A CN115580494B (zh) 2022-12-08 2022-12-08 一种弱口令的检测方法、装置和设备

Publications (2)

Publication Number Publication Date
CN115580494A CN115580494A (zh) 2023-01-06
CN115580494B true CN115580494B (zh) 2023-04-07

Family

ID=84590422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211568529.4A Active CN115580494B (zh) 2022-12-08 2022-12-08 一种弱口令的检测方法、装置和设备

Country Status (1)

Country Link
CN (1) CN115580494B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115879096A (zh) * 2023-02-03 2023-03-31 北京江民新科技术有限公司 弱口令检测方法以及存储介质
CN117081727B (zh) * 2023-10-17 2024-01-23 北京长亭科技有限公司 一种弱口令检测方法以及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109241460A (zh) * 2018-08-01 2019-01-18 杭州安恒信息技术股份有限公司 一种解决网页弱口令探测繁琐配置的方法和***
CN112149111A (zh) * 2020-08-25 2020-12-29 杭州安恒信息技术股份有限公司 基于深度学习的弱口令检测方法、装置和电子装置

Also Published As

Publication number Publication date
CN115580494A (zh) 2023-01-06

Similar Documents

Publication Publication Date Title
JP6530786B2 (ja) Webページの悪意のある要素を検出するシステム及び方法
CN115580494B (zh) 一种弱口令的检测方法、装置和设备
US11818170B2 (en) Detection of phishing campaigns based on deep learning network detection of phishing exfiltration communications
US9485275B2 (en) Detection of spoofing of remote client system information
CN103685307A (zh) 基于特征库检测钓鱼欺诈网页的方法及***、客户端、服务器
CN112989348B (zh) 攻击检测方法、模型训练方法、装置、服务器及存储介质
CN113704328B (zh) 基于人工智能的用户行为大数据挖掘方法及***
CN107808095B (zh) 用于检测网页的异常元素的***和方法
EP3637292A1 (en) Determination device, determination method, and determination program
CN104852916A (zh) 一种基于社会工程学的网页验证码识别方法及***
CN112948725A (zh) 基于机器学习的钓鱼网站url检测方法及***
Manasrah et al. DGA-based botnets detection using DNS traffic mining
TW201126367A (en) Detection methods and devices of web mimicry attacks
CN113704772B (zh) 基于用户行为大数据挖掘的安全防护处理方法及***
CN108804501B (zh) 一种检测有效信息的方法及装置
CN112600864A (zh) 一种验证码校验方法、装置、服务器及介质
CN115801455B (zh) 一种基于网站指纹的仿冒网站检测方法及装置
EP3306511B1 (en) System and methods of detecting malicious elements of web pages
CN113992390A (zh) 一种钓鱼网站的检测方法及装置、存储介质
CN111901310A (zh) 一种网站安全测试方法、装置、电子设备及存储介质
CN113626815A (zh) 病毒信息的识别方法、病毒信息的识别装置及电子设备
WO2021133592A1 (en) Malware and phishing detection and mediation platform
Palka et al. Dynamic phishing content using generative grammars
Sun et al. Padetective: A systematic approach to automate detection of promotional attackers in mobile app store
CN117811784A (zh) 一种弱口令的检测方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant