Pikachu6_XSS(跨站脚本攻击)

漏洞原理

漏洞危害

漏洞防御

代码分析

反射型xss(get)

反射性xss(post)

存储型xss

DOM型xss

DOM型xss-x

xss盲打

xss之过滤

xss之htmlspecialchars

xss之href输出

xss之js输出

漏洞原理

对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。

漏洞危害

1.获取用户cookie

2.钓鱼

3.Xss蠕虫

4.获取存储在浏览器的账号口令

...

漏洞防御

1.过滤输入的数据,对例如:“ ‘ ”,“ “ ”,” < “,” > “,” on* “,script、iframe等危险字符进行严格的检查。

2.前后端进行数据校验,验证输入数据类型/格式、长度、范围和内容。

3.对输出到页面的数据进行相应的编码转换,如HTML实体编码、JS编码等。

代码分析

反射型xss(get)

Xss_reflected_get.php

服务端代码显示对前端输入的message未做任何限制

漏洞利用

前端长度限制maxlength,可修改之后输入测试语句#<script>alert(/xss/)</script>

反射性xss(post)

POST_login.php

登录未进行限制校验,可以暴力破解(admin/123456)

 Xss_reflected_get.php

后端代码分析,对输入的参数未进行校验过滤,直接带入前端代码执行

漏洞利用

#<script>alert(/xss/)</script>

存储型xss

Xss_Stored.php

1.后端代码分析留言输入仅仅对sql注入做限制,数据被插入数据库,能造成存储型xss

 2.删除点代码分析,判断id值进行删除,且未做防注入过滤限制,明显存在sql注入

漏洞利用

1.存储型Xss

留言恶意语句<script>alert(/stored_xss/)</script>

访问留言页面则触发

 2.sql注入测试

删除留言明显存在sql注入,直接点击删除留言内容在id后输入测试语句,猜解数据库长度测试当length(database())=7能正常删除及数据库库名长7,接着可猜解库名、表名、字段及字段内容

DOM型xss

前端代码查看点击之后调用domxss函数,document.getElementById("dom").innerHTML;取标签的值,即用户输入的数据被传到前端dom处理在前端执行,和后端没有交互

漏洞利用

闭合,攻击

#' ><img src=x οnerrοr=alert(/xss/)>,点击click me!

DOM型xss-x

代码分析点击提交之后调用domxss函数,获取url搜索目标,去掉+, document.getElementById("dom").innerHTML获取标签内容,原理都一样,获取传参调用js函数处理在前端执行。

漏洞利用

输入测试语句' ><img src=x οnerrοr=alert(/xss/)>

点击a标签”有些费尽心机想要忘记的事情,后来真的就忘掉了”触发

xss盲打

后端代码显示对输入的内容插入数据库,进行防sql注入处理,但未进行xss防御

漏洞利用

意见提交一波

#<script>alert(/xss_blind1/)</script>

登录后台查看

xss之过滤

xss_01.php代码分析过滤了<script>标签

漏洞利用

可使用其他标签或者大小写等绕过

#<img src=x οnerrοr=alert(/xss/) />标签绕过

xss之htmlspecialchars

xss_02.php代码分析使用htmlspecialchars进行处理,理解函数预定义

 变量输入后被写入a标签

漏洞利用

  1. 变量输入后被写入a标签(可考虑伪协议:JavaScript:alert(/xss/)触发)
  2. ' 成为 '(默认不开启)

 可考虑使用伪协议触发或者事件标签触发

事   件:rv' οnfοcus='alert(/xss/)

伪协议:JavaScript:alert(/xss/)

xss之href输出

xss_03.php

1.代码分析使用了实体编码

2.输出在a标签的href属性里面

漏洞利用

变量输出在a标签href,使用伪协议测试

#JavaScript:alert(/xss/)

xss之js输出

xss_04.php代码分析这里输入内容被动态生成到网页的js代码中了,但输入并未做任何限制

  

漏洞利用

输出到如下js,直接</script>闭合测试,后接测试语句即可

 闭合标签</script><script>alert(/xss/)</script>

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值