基于Web环境的互联网应用有着其它平台没有的优势,易于维护、更新迭代更快、使用方便、跨平台等。 而缺点也同样明显,那就是性能远远没有桌面应用好,使得相对没那么受欢迎。 随着科技的发展,尤其是近几年来设备的更新换代以及新型浏览器的出现,Web应用的性能有了极大的提升。 基于web环境的互联网应用越来越多,而与之伴随的Web安全问题也更加凸显。 本人对web安全也了解不多,趁此摸鱼的时间,查一查相关资料,在此记录一下。
1.资源枚举 枚举url获取网站文件、枚举错误信息获取网站信息
2.参数操纵 包括了SQL注入、XPath注入、cgi命令执行,还有XXS和会话劫持等,前三个的攻击主要是在服务端触发的,后二者的攻击则是侧重于客户端。
3.会话劫持
4.XSS 全称(Cross Site Scripting) 跨站脚本攻击, 是Web程序中最常见的漏洞 XSS指攻击者在网页中嵌入客户端脚本(js/css), 当用户浏览此网页时,脚本就会在用户客户端上执行,从而达到攻击目的,比如获取用户cookie,导航到恶意网站,携带木马等。 1)反射型XSS,又称非持久型XSS 攻击者通过电子邮件等方式将包含注入脚本的恶意链接发送给受害者,当受害者点击该链接时,注 入脚本被传输到目标服务器上,然后服务器将注入脚本“反射”到受害者的浏览器上,从而在该浏览器上执行了这段脚本。 2)存储型XSS 3)DOM XSS 4)XSS payload
5.CSRF(cross-site request forgery),翻译为跨站请求伪造 与XSS非常相似,但XSS是利用用户对当前网站的信任来发起攻击,而CSRF是利用网站对用户的信任来发起攻击。
对于CSRF攻击,我们所能做的可以有: 1). 检查报头中的Referer参数确保请求发自正确的网站(但XHR请求可调用setRequestHeader方法来修改Referer报头); 2). 对于任何重要的请求都需要重新验证用户的身份; 3). 创建一个唯一的令牌(Token),将其存在服务端的session中及客户端的cookie中,对任何请求,都检查二者是否一致。
6.钓鱼攻击 指的是网站的伪造,比如ta0bao.com,然后在其中应用XSS等方式发起攻击。
7.拒绝服务(DoS)指的是向网站发起洪水一样的请求(Traffic Floor),导致服务器超负荷并关闭. 处理方法常规是采用QoS(Quality of Service)的软硬件解决方案。
攻击层面指的是有恶意的人可能会从哪些地方来入手制造麻烦,常见的攻击层面有三种: 一. 传统WEB应用程序
二. Web服务
三. AJAX应用程序 即上述的“一”和“二”的合集
综上所述,我们可以这样审视我们的WEB站点:
虽然我们有一些必要的手段来防止WEB攻击,但永远不会有一枚silver bullet来彻底解决问题,先不谈那些数不胜数的已知的、可被攻击的漏洞,对于谜一样的0-day漏洞,我们所能做的只是提前发现并及时修补它们。