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张图片

XSS危害

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

2、网站挂马;

3、会话劫持;

4、cookie被盗取;

5、用户提取;

6、账号被盗;

7、DDOS;

8、蠕虫攻击;

xss实战

1. 反射型 XSS(get)

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

xss靶场实战_第2张图片

xss靶场实战_第3张图片

xss靶场实战_第4张图片

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

xss靶场实战_第5张图片

xss靶场实战_第6张图片

xss靶场实战_第7张图片

3. 存储型 XSS

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

xss靶场实战_第8张图片

4. DOM 型 xss

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

xss靶场实战_第9张图片

 

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

' οnclick='alert(1)

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

xss靶场实战_第10张图片

5. xss 之盲打

输入 poc 并进行提交

xss靶场实战_第11张图片

xss靶场实战_第12张图片 登录后台查看提交内容时便会弹窗

xss靶场实战_第13张图片

 

6. xss 之过滤

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

xss靶场实战_第14张图片

测试发现输入 script 不会过滤,而输入

xss靶场实战_第15张图片

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

  • & ==> &
  • " ==> "
  • ' ==> '
  • < ==> <
  • > ==> >

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

javascript:alert(1)xss靶场实战_第16张图片

也可以通过事件闭合来执行 JS 代码:'οnclick='alert(1)xss靶场实战_第17张图片 

8. xss 之 href 输出

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

xss靶场实战_第18张图片

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

xss靶场实战_第19张图片

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

 xss靶场实战_第20张图片

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

'

xss靶场实战_第21张图片

你可能感兴趣的:(xss,网络安全)