xss靶场实战

靶场链接:https://pan.baidu.com/s/1ors60QJujcmIZPf3iU3SmA?pwd=4mg4 
提取码:4mg4 

XSS漏洞原理

XSS又叫CSS(Cross Site Script),跨站脚本攻击。因为与html中的css样式同,所以称之为XSS。在OWASP top 10 2013年度中排第三名,在OWASP top 10 2017年度中排第7名。

  属于web应用中计算机安全漏洞,是恶意的web访问者将脚本植入到提供给用户使用的页面中,通常是使用JavaScript编写的危险代码,当用户使用浏览器访问页面时,脚本会被执行,从而达到攻击者目的。

XSS漏洞介绍

XSS攻击最终目的是在网页中嵌入客户端恶意代码,最常用的攻击代码是JavaScript语言,但也会使用其他的脚本语言,例如:ActionScript、VBScript。而如今的互联网客户端脚本基本上是基于JavaScript,所以如果想要深入研究xss,必须要精通JavaScript。

xss换句话说,JavaScript能够到什么效果,xss的胃里就有多大。这完全不是危言耸听。JavaScript可以用于获取用户的cookie弹出窗口,那么存在xss漏洞的网站,xss就可以用来盗取用户cookie,废掉页面,导航到恶意网站!更高端的xss代码完全可以进行监控你的键盘操作,模仿windows注销界面,诱导你输入开机密码!而攻击者需要做的仅仅是向你的代码中注入JavaScript代码!

XSS 的本质是:恶意代码未经过滤,与网站正常的代码混在一起;浏览器无法分辨哪些脚本是可信的,导致恶意脚本被执行。

而由于直接在用户的终端执行,恶意代码能够直接获取用户的信息,或者利用这些信息冒充用户向网站发起攻击者定义的请求。

在部分情况下,由于输入的限制,注入的恶意脚本比较短。但可以通过引入外部的脚本,并由浏览器执行,来完成比较复杂的攻击策略。

XSS攻击流程

XSS危害

1、网站弹框(刷流量);

2、网站挂马;

3、会话劫持;

4、cookie被盗取;

5、用户提取;

6、账号被盗;

7、DDOS;

8、蠕虫攻击;

xss实战

1. 反射型 XSS(get)

直接输入的话有字数长度限制,无法在输入框中输入完整 JS 代码

2. 反射性 xss(post) 直接插入 JS 代码便可执行,可以看出请求方式为 POST,参数保存在请求体的 message 中:

3. 存储型 XSS

提交 JS 代码如下,提交后每次打开这个页面都会触发弹窗

<script>alert(1)</script>

4. DOM 型 xss

输入任意数值点击提交,会在表单下面新生成一个 <a> 标签,输入的数值保存在 href 属性中

 

构造 poc 如下,闭合前面的单引号并通过点击事件弹窗:

' οnclick='alert(1)

再次点击新生成的链接便会弹窗

5. xss 之盲打

输入 poc 并进行提交

<script>alert(1)</script>

 登录后台查看提交内容时便会弹窗

 

6. xss 之过滤

直接输入 JS 代码,可以看到被代码过滤

测试发现输入 script 不会过滤,而输入 <script 和 </script 会过滤,可过滤的依据便是匹配 <script 或 </script ,可以直接通过大小写绕过过滤

<Script>alert(1)</Script>

7. xss htmlspecialchars htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体,预定义的字符有:

  • & ==> &amp;
  • " ==> &quot;
  • ' ==> &#039;
  • < ==> &lt;
  • > ==> &gt;

由于提交的数据会插入到 <a> 标签的 href 属性中,可以直接通过 javascript: 伪协议执行 JS 代码:

javascript:alert(1)

也可以通过事件闭合来执行 JS 代码:'οnclick='alert(1) 

8. xss 之 href 输出

尝试使用闭合事件的方式进行注入,发现单引号和双引号都被转义

因此只能通过 javascript: 伪协议来执行 JS 代码 javascript:alert(1)

9. xss js 输出随意输入一个数值 111 ,可以看到数值被集成到了网页的 JavaScript 代码中

 

只要闭合集成的 JavaScript 代码便可实现 XSS:

'</script><script>alert(1)</script>

  • 43
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值