pikachu漏洞平台学习笔记2_Cross-site Scripting(跨站脚本攻击)

1.漏洞描述

使用工具hackbar

XSS(跨站脚本)概述

Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:
    1.反射性XSS;
    2.存储型XSS;
    3.DOM型XSS;


XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:
  输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
  输出转义:根据输出点的位置对输出到前端的内容进行适当转义;

2.反射型xss(get)

输入

<script>alert("hello")</script>

发现有长度限制,检查元素

将长度改为9999

再次输入

2.反射型xss(post)

再次输入,发现失败,显示username,password错误,那就登陆康康,登陆成功后再次输入,成功~

3.存储型xss

填写1,显示1,再次攻击

4.DOM型XSS

DOM型XSS其实是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞。

在网站页面中有许多页面的元素,当页面到达浏览器时浏览器会为页面创建一个顶级的Document object文档对象,接着生成各个子文档对象,每个页面元素对应一个文档对象,每个文档对象包含属性、方法和事件。可以通过JS脚本对文档对象进行编辑从而修改页面的元素。也就是说,客户端的脚本程序可以通过DOM来动态修改页面内容,从客户端获取DOM中的数据并在本地执行。基于这个特性,就可以利用JS脚本来实现XSS漏洞的利用。

dom型xss不知为何,攻击失败,可能是出了故障,明天试一试

5.xss之盲打

同上,不同的是这个是提交给后台,管理员中招的,值得一提的是后台地址为

登陆进去立即就被攻击了

6.xss之过滤

这篇博客讲的很好https://www.cnblogs.com/dogecheng/p/11556221.html

(1)前端绕过,抓包重放,修改html前端代码,比如限制输入字符数目

(2)大小写,比如<SCRIPT>ALert(111)</ScRipt>,但如果后台使用正则表达式匹配,或者将输入字符进行转换再限制,就不一定能绕过

(3)双写,<scri<script>pt>alert(111)</scri</script>pt>后台可能去除<script>标签,但有可能只去掉一次

(4)注释<scri<!--test-->pt>alert(111)</sc<!--test-->ript>,注释可能绕过过滤

<img src=x οnerrοr=alert('xss')>
将alert('xss')进行URL编码,可以执行吗?
<img src=x οnerrοr=alert%28%27xss%27%29>

它并不会执行,因为属性标签并不会正常解析这些编码

<img src=x οnerrοr=alert('xss')>
将alert('xss')进行HTML编码
<img src=x οnerrοr=&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x27;&#x78;&#x73;&#x73;&#x27;&#x29;>

当它输出到前端的时候,浏览器会对这个编码进行翻译,从而弹窗

7.xss之htmlspecialchars

htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。

预定义的字符是:

  • & (和号)成为 &
  • " (双引号)成为 "
  • ' (单引号)成为 '
  • < (小于)成为 <
  • > (大于)成为 >
javascript:alert(1)

8.xss之href输出

payload:

javascript:alert(1)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值