关于xss
关于xss
个人挺喜欢安全相关的,不知道有没有机会从事这个行业。
什么是xss
xss(跨站脚本攻击) ,并不是直接攻击受害者,这是一种间接的攻击方式。
利用受害者可能访问的网站,通过这个网站把恶意代码传递给受害者。
能行成xss 攻击可能性
在一个网站中,如果接受用户的输入(比如能够评论的网站),就有形成xss攻击的可能。
什么才算是xss 攻击
javascript 在浏览器的局限性,不能操作文件等。因此能够执行脚本,还不算是xss攻击。比如输出一个 alert 不算是恶意脚本~~。
javascrpit 能够做到这些:
- Javascript 有权访问一些用户敏感信息,比如 cookie。
- Javascript 能够通过XMLHttpRequest 或者其它的一些机制发送 http请求。
- Javascript 能够通过DOM操作方法对当前页面进行修改。
恶意脚本的后果(能够做一些什么)
-
Cookie窃取: 攻击者能够通过document.cookie访问受害者与网站相关cookie,然后传送到自己的服务器,接着提取敏感信息。
-
记录用户的行为: 通过addeventlistener 监听键盘的事件。把敲击行为送到服务器。
-
钓鱼网站 : 可以在网站通过修改dom中插入一个输入框。也可以把表单的action指向自己的服务器。
xss攻击的类型
- 持久型攻击:恶意文本来自网站的数据库
- 反射型攻击 : 恶意文本来自受害者的请求
- 基于dom的攻击: 利用客户端而不是服务器漏洞发动攻击
怎么阻止xss 脚本攻击
- 编码:把代码转义成数据。
- 校验:验证有没有输入非法的字符,可以在服务器,也可以在客服端
- 黑名单
- 白名单