黑客技术:一个“登录框”引发的安全问题(4)

alt

风险分析:

攻击者通过填写他人的手机号,使用软件burpsuite的intruder功能重复提交发送短信的请求包,达到短时间内向他人的手机上发送大量垃圾短信的目的。

修复方案:

1、合理配置后台短信服务器的功能,对于同一手机号码,发送次数不超过3-5次,并且可对发送的时间间隔做限制。

2、页面前台代码编写时,加入禁止针对同一手机号进行的次数大于N次的发送,或者在页面中加入验证码功能,并且限制发送的时间间隔。

恶意锁定问题

漏洞描述:

通过不断的输入错误的密码可恶意锁定任意账号

测试方法:

针对测试账户,不断输入错误的密码,直至将其锁定

示例:

alt

风险分析:

若系统认证功能无防自动化处理模块,攻击者可编写脚本批量锁定系统账号。

修复方案:

1.账户锁定之后应不能继续使用认证功能

2.认证功能防自动化操作,如添加图形验证码。

密码明文传输

漏洞描述:

认证过程中传输未加密(用户名密码等敏感数据明文传输)。

测试方法:

通过对网站登录页面的请求进行抓包,工具可用burp、wireshark、filder、等等,分析其数据包中相关password(密码)参数的值是否为明文。如图利用wireshark抓包分析的密码:

示例:

1.输入用户名密码

alt

2. 使用burpsuite进行数据包拦截

alt

风险分析:

攻击者通过在局域网中嗅探网络流量,获取明文传输的认证凭证,如用户名密码、SESSIONID等敏感信息。

修复方案:

建议按照网站的密级要求,需要对密码传输过程中进行加密得使用加密的方式传输,如使用HTTPS, 但加密的方式增加成本,或许会影响用户体验。如果不用 HTTPS,可以在网站前端用 Javascript 做密码加密,加密后再进行传输。

反射型跨站脚本攻击

漏洞描述:

跨站脚本攻击的英文全称是Cross Site Script,为了和样式表区分,缩写为XSS。发生的原因是网站将用户输入的内容输出到页面上,在这个过程中可能有恶意代码被浏览器执行。跨站脚本攻击,它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。已知的跨站脚本攻击漏洞有三种:1)存储式;2)反射式;3)基于DOM。

测试方法:

1、GET方式跨站脚本:

在输入的参数后逐条添加以下语句,以第一条为例,输入?name=
文本输入框:需要对页面上所有可以提交参数的地方进行测试。具体跨站脚本的测试语句根据实际情况的不同而不同,可自行构造,以及触发事件等切换,这里只列出了一些最常见构造语句。

示例:登录窗口用户名处存在反射型XSS注入

alt

点击登陆,成功弹出内容

alt

风险分析:

攻击者可以使用该漏洞构造钓鱼链接,诱骗受害者访问并填写用户名和密码,从而窃取用户的认证凭据

修复方案:

1、总体修复方式:验证所有输入数据,有效检测攻击;对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行。具体如下 :

2、输入验证:某个数据被接受为可被显示或存储之前,使用标准输入验证机制,验证所有输入数据的长度、类型、语法以及业务规则。

3、输出编码:数据输出前,确保用户提交的数据已被正确进行entity编码,建议对所有字符进行编码而不仅局限于某个子集。

4、明确指定输出的编码方式:不要允许攻击者为你的用户选择编码方式(如ISO 8859-1或 UTF 8)。

5、注意黑名单验证方式的局限性:仅仅查找或替换一些字符(如”<” “>“或类似”script”的关键字),很容易被XSS变种攻击绕过验证机制。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyxsdz.html