Web安全漏洞加固手册
目录
1. W e b安全漏洞检测与修复 (2)
1.1 认证和授权类 (2)
2. 命令执行类 (12)
2.1.1 Struts2 远程命令执行 (12)
2.1.2 Jboss 远程代码执行 (13)
2.1.3 HTTP.sys 远程代码执行漏洞 (14)
2.1.4 文件包含 (14)
3. 逻辑攻击类 (15)
3.1.1 验证码功能缺失 (15)
3.1.2 并发漏洞 (15)
3.1.3 慢速HTTP攻击Slow HTTP Attack (16)
3.1.4 短信攻击 (16)
4. 注入攻击类 (17)
4.1.1 SQL注入 (17)
4.1.2 XML注入 (18)
4.1.3 CRLF注入 (19)
4.1.4 XFF注入 (19)
4.1.5 XPATH 注入 (21)
4.1.6 命令注入 (22)
4.1.7 链接或框架注入 (22)
4.1.8 Json hijacking/Json劫持注入 (23)
4.1.9 宽字节注入 (24)
5. 客户端攻击类 (25)
5.1.1 XSS跨站脚本攻击漏洞 (25)
5.1.2 跨站请求伪造(CSRF) (26)
5.1.3 不安全的HTTP方法 (27)
6. 信息泄漏类 (29)
6.1.1 目录浏览 (29)
6.1.2 Web服务器控制台地址泄漏 (29)
6.1.3 PHPInfo() 信息泄漏 (29)
6.1.4 POODLE 信息泄露漏洞 (30)
7. 其他 (34)
7.1.1 跨域访问漏洞 (34)
7.1.2 URL重定向 (35)
7.1.3 DNS域传送漏洞 (36)
7.1.4 Web服务器多余端口开放 (37)
7.1.5 PHP multipart/form-data远程DOS漏洞 (37)
7.1.6 ASP.NET Padding Oracle 攻击 (39)
7.1.7 HTTP Host 头攻击 (39)
1.Web安全漏洞检测与修复
1.1 认证和授权类
1.1.1密码明文传输
web端登录
漏洞名称密码明文传输
漏洞描述密码明文传输一般存在于web网站登录页面,用户名或者密码采用了明文传输,容易被嗅探软件截取。检测条件1、已知Web网站具有登录页面。
检测方法1、网站或者 web系统登录页面。
2、通过过对网站登录页面的请求进行抓包,工具可用burp、ireshark、filder、等等,分析其数据包中相关password 密码)参数的值是否为明文。如图利用wireshark 抓包分析的密码:
修复方案
建议按照网站的密级要求,需要对密码传输过程中进行加密得使用加密的方式传输,如使用 HTTPS,但加密的方式增加成本,或许会影响用户体验。如果不用 HTTPS,可以在网站前端用Javascript做密码加密,加密后再进行传输。
其他说明
1.1.2用户名可枚举
漏洞名称用户名可枚举
漏洞描述
存在于系统登录页面,利用登陆时输入系统存在的用户名错误密码和不存在的用户名错误密码,返回不同的出错信息可枚举出系统中存在的账号信息。
检测条件
1、已知Web网站具有登录页面。
2、登录错误回显不一至。
检测方法1、到网站或者web系统登录页面。
2、在web系统登录页面,通过手工方式,利用系统中存在的用户名和不存在的用户名,密码随意,尝试登录,查看
其回显内容。例如:输入存在的用户名admin,显如下:密码错误;
例如:输入不存在的用户名test ,回显如下:用户不存在。如图所示:
修复方案建议对网站登录页面的判断回显信息修改为一致:用户名或密码错误其他说明
1.1.3暴力攻击
漏洞名称暴力攻击、暴力破解、暴力猜解
漏洞描述暴力破解的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。若某个情况验证符合题目的全部条件,则为本问题的一个解;若全部情况验证后都不符合题目的全部条件,则本题无解。常常存在于网站的登录系统中,通过对已知的管理员用户名,进行对其登录口令的大量尝试。
检测条件1、Web网站具有登录页面
2、页面无验证码,无锁定机制。
检测方法1、到网站登录页面
2、利用 burp 对登录页面进行抓包,将其发送到 Intruder, 并设置其密码参数,如pwd=为变量,添加 payload (字典),进行攻击,攻击过程中查看其返回的字节长度,来判断是否成功。攻击效果如图所示:
修复方案防止暴力攻击的一些方法如下:
1、账户锁定
账户锁定是很有效的方法,因为暴力破解程序在5-6 次的探测中猜出密码的可能性很小。但是同时也拒绝了正常用户的使用。如果攻击者的探测是建立在用户名探测成功之后的行为,那么会造成严重的拒绝服务攻击。对于对大量用户名只用一个密码的探测攻击账户锁定无效。如果对已经锁定的账户并不返回任何信息,可能迷惑攻击2、返回信息
如果不管结果如何都返回成功的信息,破解软件就会停止攻击。但是对人来说很快就会被识破。
3、页面跳转
产生登录错的的时候就跳到另一个页面要求重新登录。比如126和校内网都是这样做的。局限性在于不能总是跳转页面,一般只在第一次错误的时候跳转,但是第一次之后又可以继续暴力探测了。
4、适当的延时
检查密码的时候适当的插入一些暂停,可以减缓攻击,但是可能对用户造成一定的影响。
5、封锁多次登录的 IP 地址
这种方法也是有缺点的,因为攻击者可以定时更换自己的IP 。
6、验证码
验证码是阻止暴力攻击的好方法,但设计不好的验证码是可以绕过的,而且对于特定目标的手工探测来说验证码是没有作用的。
其他说明
1.1.4会话标识未更新
1.1.5未授权访问
1.1.6文件上传漏洞

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。