xss简介
XSS是指恶意攻击者利用网站对用户提交的数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去,使别的用户访问都会执行相应的嵌入代码
xss的原理
1、攻击者对含有漏洞的服务器发起xss攻击
2、诱导受害者点击打开受到攻击的URL
3、受害者在Web浏览器中打开URL,恶意脚本就被执行
xss有什么危害
1、盗取各类用户账户,如机器登录帐号、用户网银帐号、各类管理员帐号
2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
3、盗窃企业重要的具有商业价值的资料
4、非法转账
5、强制发送电子邮件
6、网站挂马
7、控制受害者机器向其它网站发起攻击(重定向语句)
8、窃取cookie
xss有哪些类型
反射型xss(get/post)
攻击者事先制作好攻击链接, 需要欺骗用户自己去点击链接才能触发XSS代码
将攻击者构造的payload发送到后端,然后由后端再返回给前端
pikachu靶场(get)
输入XSS语句,发现长度限制
通过提交发现url栏可以修改传参,直接在此写入xss语句,弹窗成功
pikachu靶场(post)
可尝试暴力破解登录或右上角提示查看账号密码
写入xss语句,出现弹窗
DOM型xss
需要用户点击,数据不到后端,直接由前端js进行处理
pikachu靶场
输入语句,并点击出现what do you see?点击试试出现弹窗
存储型xss
将攻击者构造的恶意代码,存储到数据库中,并且在网站页面上自动执行代码。
pikachu靶场
随意记录一串数字951357发现其记录在留言板上
写入xss语句并重新进入,发现其语句以存储在数据库中,弹窗成功
常用的xss攻击方式(触发)
(1)<script>alert(1)</script>
(2)在<a>标签内不能使用<script>标签,应使用<img>标签
123"><img src='1223' οnclick=alert(1)><"
(3)资源类型是url使用伪协议javascript:alert(1)
xss盲打
<script>alert(1)</script>
用此地址登录查看
出现弹窗并成功登入后台
xss过滤
大小写绕过<sCript>alert(1)</scRipt>
双写绕过123"><Scrscriptipt>alert(1)</sCrscriptipt>
大小写绕过
xss之htmlspecialchars
htmlspecialchars转义特殊字符
&:转换为&
":转换为"
':转换为成为 '
<:转换为<
>:转换为>
伪协议javascript:alert(1)
使用伪协议xss之href输出
可以写入URL
使用伪协议
xss之js输出
闭合<script>标签:</script><script>alert(1)</script> <script>
查看页面源码发现我输入的payload到了script标签上来了,顺便还把script标签给闭合了 ,所以先闭合script标签