XSS基础学习
XSS基础学习
一、xss漏洞简介
XSS攻击全称跨站脚本攻击,是利用网页开发时留下的漏洞,构造恶意代码植入web网站,当用户访问时,就会产生xss攻击
二、xss攻击分类以及区别
类型 | 简介 | 攻击方法 | 区别 |
---|---|---|---|
反射型 | 非持久化、需要用户自己点击才会触发 | 构造钓鱼邮件 | 主要是get类型、不和数据库交互,直接由前端进行反馈 |
dom型 | 特殊类型的反射型xss、基于 DOM 文档对象模型的一种漏洞 | 不与服务器进行交互 | |
存储型 | 此类 XSS 不需要用户单击特定 URL 就能执行跨站脚本,攻击者事先将恶意代码上传或储存到漏洞服务器中,只要受害者浏览包含此恶意代码的页面就会执行恶意代码 | 一般出现在网站留言、评论、博客日志等交互处 | 恶意脚本存储到客户端或者服务端的数据库中 |
三、XSS渗透测试步骤
- 找到输入点、输入任意字符串,查看输出位置。
- 查看网页源代码,在源码中查看输出位置。
- 查看输出位置的内容与输入内容之间的关系,构建闭合和拼接脚本
- 利用
script
或者onclick
或者alert()
进行测试,确认是否存在XSS注入点 - 开始利用该注入点完成各类复杂操作,实现攻击目的
四、payload以及一些编码绕过
这边推荐一篇先知社区的文章
五、xss靶场搭建
靶场xss-labs,docker环境下部署
[root@ruoyi ~]# docker search xss-labs
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
vulfocus/xss-labs 4
rookle/xss-labs Based on tanyiqu/xss-labs. 1
tanyiqu/xss-labs 0
hominsu/xss-labs XSS labs pre-built docker environments, supp… 0
zzxiexin/xss-labs 0
vulshare/xss-labs 0
markstartvices/xss-labs 0
adfacarfefad/xss-labs 0
tooy/xss-labs 0
[root@ruoyi ~]# docker push vulfocus/xss-labs
//查看xss-labs的镜像id
[root@ruoyi ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
vulfocus/xss-labs latest 7b49d6cf64e1 2 years ago 714MB
//创建容器
[root@ruoyi ~]# docker run -d --name=xss-labs -p 9995:80 7b49d6cf64e1