(26)【xss环境搭建一条龙】【pm、bf使用】轻量xss平台、Postman、beef-xss功能模块利用_pmbf-程序员宅基地

技术标签: web安全  网络安全  0X01【web安全】从0到1  

目录

​XSS平台搭建:

​第一步:先下载源文件

​第一个(来源:清华大学蓝莲花战队):

​第二个(网上发布的,在真实机上搭建失败,打算虚拟机终端搭建):

​XSS工具使用:

​postman:

​下载:

​使用教程:

​对比老版: 

​基本功能介绍:

​界面导航理解 

​Environments配置环境变量 

​将请求中不变的数据参数化 

​Postman Tests 

​集合测试 

​beef-xss:

​可能会用到:

​使用方法:

​第一步:启动beef 

​第二步: 放Hook(钩子) 

​第三步:开始摆起来 

​Commands(命令)

​颜色的含义: 

​Details(细节,这就是上钩主机的相关信息) 

​Browser(浏览器,就是检测浏览器相关特性) 

​Chrom Extensions(Chrom延伸) 

​Debug(调试) 

​Exploits(漏洞利用,虽然还没认真看,听见名字就觉得挺不错) 

​Host(主机) 

​IPEC(通信) 

​Metasploit(一个框架,获取、开发并对计算机软件漏洞实施攻击,内置在MSF中) 

​Misc(杂项) 

​Network(网络) 

​Persistence(就是为了持续性Hook住目标) 

​Phonegap(开源的开发框架,让开发者使用 HTML 、 Javascript 、CSS等Web APIs开发跨平台的移动应用程序) 

​Social Engineerin(社会工程学,永远的经典) 

​ offline(离线的)


XSS平台搭建:

 

第一步:先下载源文件

 

第一个(来源:清华大学蓝莲花战队):

 XSS平台项目名称:BlueLotus_XSSReceiver

作者:firesun(来源:清华大学蓝莲花战队)

GITHub(更全,轻量级无需数据库):asw3asw/BlueLotus_XSSReceiver (github.com)

 gitee下载地址(gitee需要注册,貌似很正规):BlueLotus_XSSReceiver: XSS平台 CTF工具 Web安全工具 (gitee.com)

 第二个(网上别人发布的):

(不推荐,因为不全面,而且我试了一遍,可能比第一个更繁琐一点)

GitHub(需要数据库):https://github.com/78778443/xssplatform

第一个(来源:清华大学蓝莲花战队):

 

在地址栏中输入本地搭建的网站,目录下的BlueLotus_XSSReceiver-master

提示信息:

(我安装环境:phpstudy下的MySQL,直接解压到WWW下的)

手动安装方法:

将config-sample.php改名为config.php

删除install.php即可(这个删除其实可以不删除,往后看)。

修改config-sample.php改名为config.php(这步没错)

 install.php(删了以后就没有这个安装页面,就没地方点登录了)

 然后点击登录

如果删除了话,其实下次多打一点,把登录页面URL也打出来

localhost:8080/BlueLotus_XSSReceiver-master/login.php

默认密码在修改了的config.php文件里,打开看一看

输入后台密码后然后就登录进去了

 (比需要配置数据库连接的快很多,可能出现的错误也能很快解决)

 

 

第二个(网上发布的,在真实机上搭建失败,打算虚拟机终端搭建):

 

(我是在真实机上搭建的,出现了404错误,且尝试各方方法,检测各种配置文件)

(我打算在虚拟机的终端上进行搭建,终端才是真的可靠)

(走过的每一步都是有用的,下面的过程可以当坑,来吸取我失败经验)

第二步:将XSS源码放在网站目录下

也就是将下载解压后的文件,放在WWW下(我用的是phpstudy集成环境)

第三步:提前下好一个MySQL管理工具(主要是方便操作一点)

点击管理,跳转到登录页面

 

密码为数据库密码 (忘记了就再修改一下,修改密码不需要知道原密码)

新建一个数据库,我取名为xssplatform(数据库平台)

现在里面是什么都还没有的

第四步:连接到数据库

更改config.php配置文件

根据自己的实际情况更改用户密码,数据库名 

第五步:导入到数据库

检查config.php配置都没问题(炒你鱿鱼算了)

准备使用其他的数据库软件,最后如果不行就尝试命令行导入(希望不到最后一步)

官方软件:MySQL Workbench

工具:Navicat for MySQL

MySQL Workbench

 

UPDATE oc_module SET
code=REPLACE(code,'http://xsser.me','http://localhost:8080/xssplatform-master')

 

 

 

 注册帐号,将config.php中的invite改为normal,即为开放注册

 

 

 

 

 

 

尝试在终端导入(成功导入了)

 

 

 

 

 

 

 

 

 

 

 

 

 

XSS工具使用:

 

postman:

 

下载:

 

下载地址(官网):Postman API Platform | Sign Up for Free

 

postman是免安装的,双击程序,既可以运行了

若个人使用,选择下面的跳过(skip)即可,这时会进入到postman主界面,至此postman安装成功。

若团队使用,可以进行注册,注册后使用账号可以加入团队工作区

使用教程:

对比老版:

 

 新建一个后,页面差不多是这样了(最新版的)

 (版本怎么变,万变不离其宗,核心东西都差不多)

老版的这个左边是横着的,但是不影响聪明的我(先参考参考老版的)

基本功能介绍:

Collections(这个一般是主要使用的)、APIs、Environments(环境)、Mock Services(模拟服务)、Monitors(监视)、History(历史记录)

老版的左边没有这3个

界面导航理解

 

NEW新建请求----请求方法----URL地址-----发送

Authorization:访问API,需要相应的授权,如Username、Password、Token等
Headers:请求头信息
Body:请求体信息
Pre-request Script:请求之前 先执行脚本,使用设置环境的预请求脚本来确保在正确的环境中运行测试
Tests:测试,它设置检查点来验证响应状态是否正常、检索的数据是否符合预期

设置请求方法(post那里)-----设置请求体类型(body下面)

 

接口响应数据解析

Pretty(格式后展示)、Raw(原始数据)、Preview(预览)、visualize(可视化)

 

Environments配置环境变量

 

在测试过程中,都是使用一个测试地址,就可以把被测地址设置为环境变量

值可以设置多个,最后点save

 可以选择环境变量

 

Globals(全局的)可以添加到全局变量

将请求中不变的数据参数化

 

 将数据参数化,能够避免测试的时候的重复,可以进行自动化迭代测试

并使用{ {TEST}}来包裹参数

例:

第一步:现将变量配置为全局环境

将要变量参数和对应的值输入进去,再点击save

 

第二步:将全局变量用{ {}}包裹起来,如:{ {URL}}

 能找到配置的环境,就能显示蓝色

 如果没有的话就是红色的

第三步:就能Send了 

Postman Tests

 

 为了协助验证结果,点击Tests能够在请求中添加自己选的JavaScript代码(对比成功或失败状态、预期结果)

第一步:

点击Test-----在右侧的js代码中选择一个预期的测试结果(左侧就会自动写入测试代码)

点击一个200状态码试试,点击Send

 (我忘记把URL改回来了,哈哈哈)

第二步:

点击Test Results(测试结果)

然后看见和预期是一样的200状态码 

(也可以添加多个js测试代码同时测试)

集合测试

 

(上一个测试的升级版)

集合测试(能被导入和导出)所以测试的结果能够更好的分享或保存(不过注册了这个软件的,好像有团队协作模式)

第一步:点到Collections然后点击加号,新建一个Collection

命名要命好,最好是写上描述,方便日后的管理 

 

第二步:首先,先新建测试项

 

再点击右键,类似方法,再添加多个request

可以对每一个request进行命名,可以方便区分

(然后可以看到Test Collection下面已经添加了多个不同的test了)

第三步:

将这些集合进行测试

二次的测试结果都出来了 

 点view summary(可以查看概况)

 

beef-xss:

 

可能会用到:

 

 安装:

Linux中安装beef以及启动

查看密码/hook:

“忘记BeEF账号密码(权限不足问题)”之查看账号密码,BeEF的基本启动和使用,Hook使用方法及相关机器信息查看和命令使用

使用方法:

 

第一步:启动beef

 

第一次启动后需要手动设置密码

方法一:在终端输入beef-xss

 

方法二:

如果安装成功,直接搜beef,会出现beef的启动终端,然后会出现界面

(按道理说还多了一步,但是总感觉简单了)

第二步: 放Hook(钩子)

 

 这个钩子其实在启动beef的时候里面包含了示例(就好像没有一个动作是多余的,哈哈哈)

让我重新打开终端进行查看(每一步重复都是一次进步)

看到没有,宝

Web UI(就是beef登录的网页)

Hook(钩子)

Example(多贴心,还给出了例子)

拿钩子到XSS存储型靶场里去试一下,把钩子上传进去(因为是测试,把安全等级调为low)

没有下载DVWA的可以用pikachu的XSS

(里面的ip放的自己的ip)

第三步:开始摆起来

 

 然后在beff的控制端可以看见一个上线的主机(这个就是……,哈哈哈)

 

Commands(命令)

 

 点击相应的主机后,点击commands(命令),执行相关模块对目标主机进行入侵

颜色的含义:

 

绿色模块:适用当前用户,并且执行结果对用户不可见

红色模块:不适用当前用户,有些红色模块也可以执行

橙色模块:模块可用,但结果对用户可见

灰色模块:模块为在目标浏览器上测试过

Details(细节,这就是上钩主机的相关信息)

 

Browser(浏览器,就是检测浏览器相关特性)

 

 eg:

此模块将检查浏览器是否有Foxit Reader插件。

 点击右下角Execute(执行)后,历史记录中双击一个历史记录,就可以查看到命令执行的结果

(下面都是这样了,我就不一一重复这么多了)

 

 

Chrom Extensions(Chrom延伸)

 

eg:(打开第一个看看是什么究竟是何种妖魔鬼怪)

打开一个新选项卡,然后执行javascript代码。 Chrome扩展需要具有“标签”权限,以及访问域。

双击command[num]查看结果

Debug(调试)

 

 eg:(老规矩,打开一个个功能试试)

此模块将通过DNS,客户端发送到服务器的数据。牛肉的DNS服务器用于重建通过DNS挤出的数据的块。
确保:
 - 启用DNS扩展,
 -  DNS服务器正在侦听端口53,
 - 挂钩的浏览器正在解析通过牛肉的DNS服务器指定的域。

默认情况下,用于挤出数据的所有DNS请求返回NXDOMAIN响应。

 双击----查看结果

Exploits(漏洞利用,虽然还没认真看,听见名字就觉得挺不错)

 

eg:(第一个)

此模块利用CVE-2012-0053以便阅读受害者的cookie,即使使用HttpOnly属性发出。如果目标服务器正在运行Apache HTTP Server 2.2.0至2.21,则漏洞仅适用。

 没结果,说明没这漏洞

Host(主机)

 

eg: 

他的模块通过某些AVS自动检测到JavaScript代码(目前支持Kaspersky,Avira,Avast(ASW),Bitdefender,Norton,Web博士的检测

结果是没有检测到

IPEC(通信)

 

 eg:(有点坑)

使用协议间的开发/通信(IPEC)挂钩的浏览器将在“目标地址”输入字段中指定的目标上向ActiveFAX RAW Server套接字(默认为3000)发送消息。该模块可以通过ActiveFAX服务器向(Premium)Faxnumber发送传真。

目标地址可以位于挂钩的浏览器的子网上,这些子网可能无法直接从Internet访问。

显示发送了(感觉靶机bbq了)

此时靶机好像瓦特了

提示信息是:

您的浏览器发送了此服务器无法理解的请求。
请求标头字段的大小超过服务器限制。

 

 

(接下来就不把每个commands都试一遍了)

Metasploit(一个框架,获取、开发并对计算机软件漏洞实施攻击,内置在MSF中)

 

eg:

此模块将用户将用户重定向到Metasproit侦听器上的Autopwn端口,然后依靠Metasploit来处理生成的shell。如果加载Metasploit扩展,则此模块将将URL预先填充到预启动的侦听器。否则,请输入您希望将用户重定向到的URL。

Misc(杂项)

 

eg:

创建一个不可见的iframe。

Network(网络)

 

eg:

扫描Web服务器的IP范围,允许使用CORS的交叉源请求。 HTTP响应返回牛肉。

注意:将IP地址范围设置为“常见”以扫描公共LAN地址列表。

Persistence(就是为了持续性Hook住目标)

 

eg:

此模块将使用一个浏览器攻击,以确保牛肉钩将留在用户离开域(手动将其更改为URL栏中)

Phonegap(开源的开发框架,让开发者使用 HTML 、 Javascript 、CSS等Web APIs开发跨平台的移动应用程序)

 

 eg:

显示用户警报

Social Engineerin(社会工程学,永远的经典)

 

eg:

将文本转换为MP3并在挂钩的浏览器上播放。注意:此模块需要安装跛脚和截止圈。

 

 

 offline(离线的)

 

 当用户离线以后,你啥操作都执行不了了(且行且珍惜吧)

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_53079406/article/details/123718492

智能推荐

JWT(Json Web Token)实现无状态登录_无状态token登录-程序员宅基地

文章浏览阅读685次。1.1.什么是有状态?有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的session。然后下次请求,用户携带cookie值来,我们就能识别到对应session,从而找到用户的信息。缺点是什么?服务端保存大量数据,增加服务端压力 服务端保存用户状态,无法进行水平扩展 客户端请求依赖服务.._无状态token登录

SDUT OJ逆置正整数-程序员宅基地

文章浏览阅读293次。SDUT OnlineJudge#include<iostream>using namespace std;int main(){int a,b,c,d;cin>>a;b=a%10;c=a/10%10;d=a/100%10;int key[3];key[0]=b;key[1]=c;key[2]=d;for(int i = 0;i<3;i++){ if(key[i]!=0) { cout<<key[i.

年终奖盲区_年终奖盲区表-程序员宅基地

文章浏览阅读2.2k次。年终奖采用的平均每月的收入来评定缴税级数的,速算扣除数也按照月份计算出来,但是最终减去的也是一个月的速算扣除数。为什么这么做呢,这样的收的税更多啊,年终也是一个月的收入,凭什么减去12*速算扣除数了?这个霸道(不要脸)的说法,我们只能合理避免的这些跨级的区域了,那具体是那些区域呢?可以参考下面的表格:年终奖一列标红的一对便是盲区的上下线,发放年终奖的数额一定一定要避免这个区域,不然公司多花了钱..._年终奖盲区表

matlab 提取struct结构体中某个字段所有变量的值_matlab读取struct类型数据中的值-程序员宅基地

文章浏览阅读7.5k次,点赞5次,收藏19次。matlab结构体struct字段变量值提取_matlab读取struct类型数据中的值

Android fragment的用法_android reader fragment-程序员宅基地

文章浏览阅读4.8k次。1,什么情况下使用fragment通常用来作为一个activity的用户界面的一部分例如, 一个新闻应用可以在屏幕左侧使用一个fragment来展示一个文章的列表,然后在屏幕右侧使用另一个fragment来展示一篇文章 – 2个fragment并排显示在相同的一个activity中,并且每一个fragment拥有它自己的一套生命周期回调方法,并且处理它们自己的用户输_android reader fragment

FFT of waveIn audio signals-程序员宅基地

文章浏览阅读2.8k次。FFT of waveIn audio signalsBy Aqiruse An article on using the Fast Fourier Transform on audio signals. IntroductionThe Fast Fourier Transform (FFT) allows users to view the spectrum content of _fft of wavein audio signals

随便推点

Awesome Mac:收集的非常全面好用的Mac应用程序、软件以及工具_awesomemac-程序员宅基地

文章浏览阅读5.9k次。https://jaywcjlove.github.io/awesome-mac/ 这个仓库主要是收集非常好用的Mac应用程序、软件以及工具,主要面向开发者和设计师。有这个想法是因为我最近发了一篇较为火爆的涨粉儿微信公众号文章《工具武装的前端开发工程师》,于是建了这么一个仓库,持续更新作为补充,搜集更多好用的软件工具。请Star、Pull Request或者使劲搓它 issu_awesomemac

java前端技术---jquery基础详解_简介java中jquery技术-程序员宅基地

文章浏览阅读616次。一.jquery简介 jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互 jQuery 的功能概括1、html 的元素选取2、html的元素操作3、html dom遍历和修改4、js特效和动画效果5、css操作6、html事件操作7、ajax_简介java中jquery技术

Ant Design Table换滚动条的样式_ant design ::-webkit-scrollbar-corner-程序员宅基地

文章浏览阅读1.6w次,点赞5次,收藏19次。我修改的是表格的固定列滚动而产生的滚动条引用Table的组件的css文件中加入下面的样式:.ant-table-body{ &amp;amp;::-webkit-scrollbar { height: 5px; } &amp;amp;::-webkit-scrollbar-thumb { border-radius: 5px; -webkit-box..._ant design ::-webkit-scrollbar-corner

javaWeb毕设分享 健身俱乐部会员管理系统【源码+论文】-程序员宅基地

文章浏览阅读269次。基于JSP的健身俱乐部会员管理系统项目分享:见文末!

论文开题报告怎么写?_开题报告研究难点-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏15次。同学们,是不是又到了一年一度写开题报告的时候呀?是不是还在为不知道论文的开题报告怎么写而苦恼?Take it easy!我带着倾尽我所有开题报告写作经验总结出来的最强保姆级开题报告解说来啦,一定让你脱胎换骨,顺利拿下开题报告这个高塔,你确定还不赶快点赞收藏学起来吗?_开题报告研究难点

原生JS 与 VUE获取父级、子级、兄弟节点的方法 及一些DOM对象的获取_获取子节点的路径 vue-程序员宅基地

文章浏览阅读6k次,点赞4次,收藏17次。原生先获取对象var a = document.getElementById("dom");vue先添加ref <div class="" ref="divBox">获取对象let a = this.$refs.divBox获取父、子、兄弟节点方法var b = a.childNodes; 获取a的全部子节点 var c = a.parentNode; 获取a的父节点var d = a.nextSbiling; 获取a的下一个兄弟节点 var e = a.previ_获取子节点的路径 vue

推荐文章

热门文章

相关标签