从攻击者的角度了解web安全 | 青训营

47 阅读2分钟

web安全问题非常常见,需要重视。

一、xss攻击

xss是指在开发维护的页面中攻击者通过一种方式注入恶意脚本,当用户访问页面时,恶意脚本就会被执行,从而完成攻击,造成用户隐私泄露等后果。xss主要利用开发者盲目信任用户提交的内容和开发者将string转化为DOM来进行攻击。xss通常难以从UI上感知,攻击者暗地执行脚本;xss可以窃取用户信息,例如token和cookie;xss还可以绘制UI,例如出现弹窗,诱导用户点击或填写表单。

xss按照性质可以分为几大类。第一种为存储型xss,将恶意脚本存入数据库中,当用户访问页面时,涉及到读取数据,用户就会被攻击,这类xss因为对全部用户可见因此危害最大;第二种为反射型xss,这种攻击类型不涉及数据库,而是从URL上完成攻击;第三种是基于DOM的攻击,这种攻击不需要服务器的参与,恶意攻击的发起和执行完全在浏览器完成;第四种是基于mjtation的xss攻击,它利用了浏览器渲染DOM的特性,按浏览器进行区别攻击。

二、CSRF攻击

CSRF是Cross-site request forgery的缩写,能够在用户不知情的前提下,利用用户权限例如cookie,构造指定HTTP请求,窃取或修改用户敏感信息。

三、Injection攻击

最常见的injection攻击是SQL injection,SQL参数在请求上恶意注入,请求达到服务器端后,构造SQL语句,并且运行SQL代码,导致攻击者获取其他数据或修改甚至删除数据等。

injection还有命令行或系统命令等攻击方式。SSRF(Server-Side Request Forgery)服务器端伪造请求与injection原理类似。

通过本节课的学习我对各类攻击类型有了简单了解,也明白了web安全的重要性。