XSS原理及利用(基础篇)

一.XSS原理:

      跨站脚本攻击(Cross Site Scripting),攻击者通过畸形的输入,往Web页面中插入恶意的javaScript代码,当用户浏览网页时嵌入的恶意JavaScript代码会被执行,从而达到攻击用户的目的。

二:XSS的危害:

1.获取Cookie信息

Cookie中一般会存储加密后用户的登录凭证信息,当你登录后浏览器会携带上Cookie进行访问,相当于一直登录的状态,XSS就可以获取用户的Cookie信息,返回给攻击者,攻击者就可以利用这个凭证直接登录你的账号,使用你能使用的所有功能

2.XSS Wrom攻击(蠕虫)

对网站进行大量破坏,破坏力和影响力非常大(多数在有存储型XSS的地方)

3.获取用户的系统信息

      利用XSS可以识别用户的浏览器信息、用户所使用的软件、用户真实IP等信息

三.XSS类型:

反射型-XSS: 将用户输入的恶意代码直接传到服务器端(不保存),后台未经过任何过滤,直接将输入数据返回给浏览器去执行

存储型-XSS:将用户输入的恶意代码存储在服务器端,当其他用户访问这个页面的时候就会执行这些恶意代码,这种XSS具有很强的稳定性(一般这种XSS存在于与数据库交互的地方,比如:登录名)

DOM-XSS :也是属于反射型XSS的一种,纯粹发生在客户端的XSS攻击。通过修改页面的DOM节点形成的XSS,称之为DOMBased XSS。

四.存储型XSS实例(利用的是DVWA平台)

1.这里是一个留言模块,随便输入Name值和Message值

XSS原理及利用(基础篇)_第1张图片

2.留言成功,页面直接把信息返回了回来

XSS原理及利用(基础篇)_第2张图片

3.查看页面源代码,ctrl+f搜索自己刚刚输入的值,找到位置

4.现在我们插入XSS语句试试,,插入后就直接弹窗了

XSS原理及利用(基础篇)_第3张图片

5.点击确定看到页面上我们刚刚输入的javascript代码没有了

XSS原理及利用(基础篇)_第4张图片

6.这里是应为代码已经被解析掉了,我们可以通过查看源代码进行查看

 

五.闭合语句

      有些时候你会发现,你输入语句但是没有被解析,下面我们做一个小实验:

1.我们输入正常的弹窗语句,发现并没有弹窗

XSS原理及利用(基础篇)_第5张图片

2.点击右键,查看源代码进行分析

看到这里被当做了一串字符串了,要想执行我们的代码语句就必须要前面的语句,先用双引号”闭合value属性,然后再加一个大于号>闭合input标签,我们的payload就成了">

3.这时我们在输入构造的payload,就可以弹窗了

常用的闭合语句:

">

‘>

六.基础过滤绕过:

1.大小写绕过

2.script标签重复绕过

ipt>alert(1)ipt>

3. ASCII编码绕过

String.fromCharCode(60,115, 99, 114, 105, 112, 116, 62, 97, 108, 101, 114, 116, 40, 49, 41, 60, 47,115, 99, 114, 105, 112, 116, 62)

4.超链接绕过

123

5.16进制编码绕过

<script>alert(1)</script>

6.过滤尖括号的绕过

'οnclick='alert(1)

'οnmοusemοve='alert(1)

7.Unicode编码绕过

8.利用iframe的scr来弹窗绕过