xss (跨站脚本攻击)
概括:XSS是前端漏洞,它是在浏览器上触发的,是用户和用户之间的攻击,无关服务器。
参考链接:
www.freebuf.com/articles/we… (基础+绕过思路)
XSS 攻击的危害包括
1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
3、盗窃企业重要的具有商业价值的资料
4、非法转账
5、强制发送电子邮件
6、网站挂马
7、控制受害者机器向其它网站发起攻击
XSS漏洞类型
1.DOM型XSS
DOM 型 XSS 其实是一种特殊类型的反射型 XSS,它是基于 DOM 文档对象模型的一种漏洞。 在网站页面中有许多页面的元素,当页面到达浏览器时浏览器会为页面创建一个顶级的 Document object 文档对象,接着生成各个子文档对象,每个页面元素对应一个文档对象,每个文档对象包含属性、方法和 事件。可以通过 JS 脚本对文档对象进行编辑从而修改页面的元素。也就是说,客户端的脚本程序可以通过 DOM 来动态修改页面内容,从客户端获取 DOM 中的数据并在本地执行。基于这个特性,就可以利用 JS 脚本 来实现 XSS
2.反射型XSS
反射型 XSS,非持久化,需要欺骗用户自己去点击链接才能触发 XSS 代码。 反射型 xss 攻击的方法,攻击者通过发送邮件或诱导等方法,将包含有 xss 恶意链接发送给目标用户,当 目标用户访问该链接时,服务器将接收该用户的请求并进行处理,然后服务器把带有 xss 恶意脚本发送给 目标用户的浏览器,浏览器解析这段带有 xss 代码的恶意脚本后,就会触发 xss
3.存储型XSS
储型 XSS,持久化,代码是存储在服务器中的数据库里,如在个人信息或发表文章等地方,可以插入代 码,如果插入的数据没有过滤或过滤不严,那么这些恶意代码没有经过过滤将储存到数据库中,用户访问 该页面的时候,没有进行编码过滤输出到浏览器上,就会触发代码执行,造成 xss 攻击。
XSS容易出现的功能点
1.用户输入:包括表单、搜索框、评论框、留言板、登录框
2.分页和排序:Web应用可能使用URL参数来控制分页和排序,如果未对这些参数进行适当的过滤和转义,可能会导致反射型XSS
3.数据可视化和报表:在展示数据可视化和报表时,Web应用可能使用用户输入的参数来生成图表。如果未对这些参数进行适当的过滤和转义,可能导致反射型XSS
4.路径导航:Web应用可能在路径导航中包含用户输入的内容。如过没有正确处理这些输入,可能导致反射型XSS
5.URL参数:攻击者可以修改URL参数,例如在查询字符串中注入恶意脚本,以执行攻击。
6.Cookie:攻击者可以利用Cookie来存储恶意脚本,并在用户访问Web应用程序时将其注入到页面中。
7.HTTP响应:攻击者可以通过修改Web应用程序发送的HTTP响应来注入恶意脚本,例如在响应的HTML、JavaScript或CSS代码中注入恶意代码。
8.第三方组件:Web应用程序可能包含来自第三方的组件,例如广告、社交媒体插件等,这些组件可能存在安全漏洞,使得攻击者可以利用它们来注入恶意脚本。
9.富文本编辑器:富文本编辑器允许用户以富文本格式创建和编辑内容,但可能会存在安全漏洞。
10.AJAX:AJAX(异步JavaScript和XML)是一种在Web应用程序中动态加载数据的技术,攻击者可以利用AJAX来注入恶意脚本。
11.WebSocket:WebSocket是一种在Web应用程序中实现实时通信的技术,攻击者可以利用WebSocket来注入恶意脚本。
12.JSONP:JSONP(JSON with Padding)是一种在Web应用程序中实现跨域请求的技术,攻击者可以利用JSONP来注入恶意脚本。