xss攻防

参考资料:https://www.bilibili.com/video/BV1R4411u7Rk?t=442

dns解析被劫持

本地hosts文件被篡改,劫持到恶意网站;DNS解析服务器被篡改,解析到恶意网站。

引用第三方库的js等代码资源

第三方库的资源被攻击了,包含到自己网站中使用则也不安全

缓存问题,缓存投毒

访问网站时会加载很多资源到本地以便于再访问该网站时直接从本地读取资源来加载网页。如果被攻击者收集到你喜欢访问的网站以后,他们会先准备一个钓鱼网站引诱你访问,提前把你喜欢访问的比如百度,知乎,动漫网,电影网等篡改好的缓存资源提前加载到你的本地中。当你再访问喜欢的网站后,就会去直接读取本地的缓存资源。这些缓存资源都被攻击者动过手脚。

  • 不要访问恶意网站,不要连接陌生WIFI

文件问题

由于开发,学习或者其他需求,有人会在网上下载一些代码文件来使用,这些文件是否为官网提供的,官网是否被攻击;使用下载功能下载时,缓存里面的文件是否已被攻击、替换;引用了第三方负载均衡功能里面的资源,这些缓存文件是否早就被植入恶意代码。

浏览器的插件问题

在安装各种功能性的插件时,开发者有没有在插件里面植入恶意代码

web开发问题

开发代码时引入的漏洞,产生反射型和存储型xss

html编码

十进制:<    十六进制:<     别名:< >等
分号可有可无,实体字符的引号可有可无
不同进制可混用

js编码

八进制 \141\154\145
十六进制 \x61\x6c\x65
unicode \u0061\u006c\u0065

url编码

* encodeURI / decodeURI
不转译 ASCII字母 数字 字符
* encodeURIComponent / decodeURIComponent
不转译 ASCII字母 数字 ~!*()'
* escape / unescape   不推荐
不转译 字母、数字、@+—*/
对字符串进行编码,不适合url

Base64编码

可以把图片转成base64编码放到css中一起去下载,可减少网络请求

xss的本质是代码与数据未分离

1.提前闭合标签
2.注释后续代码

  • 攻击者想办法把输入的数据变成了代码。

Payload


1.autofocus是光标聚焦时执行
2.onerror是加载图片错误时执行
3.页面装载时执行
4.js脚本
5.点击时执行

  • 练习环境https://xss.haozi.me
    主要是输入的数据放到哪里去了
<div> <script>alert(1)</script> </div>
<textarea></textarea> <script>alert(1)</script> </textarea>

猜你喜欢

转载自www.cnblogs.com/sec875/p/12614450.html
xss