XSS:当一个目标的站点,被我们用户去访问,在渲染HTMl的过程中,出现了没有预期到的脚本指令,然后就会执行攻击者用各种方法注入并执行的恶意脚本,这个时候就会产生XSS。
涉及方:
- 用户(通过浏览器去访问网页)
- 攻击者(通过各种办法让用户访问页面执行恶意脚本,盗取信息)
- Web服务器(存储并返回恶意脚本)
XSS的危害
挂马
网页挂马是指在一个程序中利用木马生成器生成一个网码,加上一些代码,可以让木马程序再打开网页的时候就立即执行。
盗取用户的Cookie
盗取了用户的关键信息后,就可以模拟去做一些事情:包含但不局限于转账请求、恶意信息发送请求、未知文件下载请求、删除目标文章、恶意篡改数据、嫁祸。
蠕虫病毒
- 爆发 Web2.0 蠕虫病毒
- 蠕虫式的DDoS攻击
- 蠕虫式挂马攻击、刷广告、刷流量、破坏网上数据
其它
- DDoS(拒绝服务)客户端浏览器。
- 钓鱼攻击,高级的钓鱼技巧。
- 劫持用户 Web 行为,甚至进一步渗透内网。
XSS种类
反射型
指发出一个请求的时候,XSS的恶意代码出现在我们的访问链接之中,它作为一部分的数据提交到我们的服务器,服务器解析之后进行响应,代码就会随着响应传回到浏览器中。
比如我们在输入框中输入字符,并且检索,网页也会把结果返回到页面上:
URL里面有什么请求字符,就把请求字符反射到前端页面上:
如果我们把值替换成<script>
标签呢?
<script>
标签的内容就会成为网页的一部分了,浏览器看到<script>
标签就会执行,弹出警示框:
看到这里,我们可能觉得这个小弹窗没什么的,但是真正要进行攻击的黑客只是用这个弹窗来检测网页是否有漏洞,然后再进行更深层次的攻击。
存储型
举一个最常见的评论例子:
当我们提交之后,信息会被保存在服务器里,也就造成了所有浏览此网页看到此评论的人都会执行此脚本,用户不知情,用户越多,中招的人数也就越多,没有乱点链接也中招,想想就可怕。
DOM型
我们来分析:
URL地址#(hash)的参数不会发送给服务器
Img标签做了字符串拼接
把id为tabContent的html设置为变量名为html的值
接下来我们看有没有可以被注入的方法呢? 我们可以看到chooseTab函数被注入了一个要命的值(location.hash),也就是URL上 # 的值,这也就是黑客最想找到值,黑客就可以修改 # 后面的值,从而触发 JQ 的 html() 方法
如下代码明显是执行不了src属性,就会触发onerror并执行脚本
如果这段字符被加在URL后面并执行的话
因为网页的源码同时存在可以被操作的属性和方法,导致网页文档结构被修改,页面就会触发脚本的加载
防御敌情
对一些敏感信息进行保护,比如 cookie 使用 http-only,使得脚本无法获取。
可以使用验证码,避免脚本伪装成用户执行一些操作。
输入处理:
- 包括用户输入、URL参数、POST请求参数
- 黑名单脚本过滤,如:
<script>alert(...)</script>
,标签替换,只留中间 - 白名单过滤,如:像用户名密码,正则匹配用户输入,限制输入位数,限制输入字符等
输出处理
<script>alert(...)</script>
对输出的编码做转译< : <
> : &1t;
& : &am;
" : quot;
' : '
\ : \\
/ : \/
; : ;
XSS拦截转换
- node
最后
XSS存在的最根本原因是我们对url中的参数或者用户需要输入的地方没有做一个充分的过滤,所以就会有一些不合法的参数或者输入内容能够到我们的 Web服务器 ,最后用户访问前端页面的时候,就可能将这段代码拉过来又执行了一遍,对我们程序或者我们程序猿本身而言,XSS的防范至关重要。
网络安全学习路线 (2024最新整理)
第一阶段:安全基础
网络安全行业与法规
Linux操作系统
计算机网络
HTML PHP Mysql Python基础到实战掌握
第二阶段:信息收集
IP信息收集
域名信息收集
服务器信息收集
Web网站信息收集
Google hacking
Fofa网络安全测绘
第三阶段:Web安全
SQL注入漏洞
XSS
CSRF漏洞
文件上传漏洞
文件包含漏洞
SSRF漏洞
XXE漏洞
远程代码执行漏洞
密码暴力破解与防御
中间件解析漏洞
反序列化漏洞
第四阶段:渗透工具
MSF
Cobalt strike
Burp suite
Nessus Appscea AWVS
Goby XRay
Sqlmap
Nmap
Kali
第五阶段:实战挖洞
漏洞挖掘技巧
Src
Cnvd
众测项目
热门CVE漏洞复现
靶场实战
学习资料的推荐
学习框架已经整理完毕,现在就差资料资源了,我这里整理了所有知识点对应的资料资源文档,大家不想一个一个去找的话,可以参考一下这些资料!
1.视频教程
2.SRC技术文档&PDF书籍
3.大厂面试题
特别声明:
此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。