Vulnhub打靶-ICA
基本信息靶机下载:https://download.vulnhub.com/ica/ica1.zip
攻击机器:192.168.20.128(Windows操作系统)& 192.168.20.138(kali)
提示信息:根据我们的情报网络提供的信息,ICA 正在进行一个秘密项目。我们需要找出这个项目是什么。获得访问信息后,请将其发送给我们。我们将设置一个后门程序,以便稍后访问系统。你只关注项目是什么。您可能需要经过多层安全保护。中情局完全有信心您能成功完成这项任务。祝你好运,特工!
靶机:192.168.20.0/24
目标:获取2个flag+root权限
具体流程信息收集老样子首先使用arp-scan -l对主机进行探活,发现主机IP为192.168.20.148
之后对开放的端口进行扫描,执行nmap -O -sV -p- -A 192.168.20.148,结果如下所示
靶机开放了22、80、3306、33060端口,其中80和3306端口是我们需要特别关注的两个端口,我们首先去看看80端口,如下所示
我们发现是qdpm 9.2版本,我们去浏览器搜索一下这个版本的 ...
Vulnhub打靶-Thales
基本信息靶机下载:https://download.vulnhub.com/thales/Thales.zip
攻击机器:192.168.20.128(Windows操作系统)& 192.168.20.138(kali)
提示信息:睁开你的眼睛,改变你的视角
靶机:192.168.20.0/24
目标:获取2个flag+root权限
具体流程信息收集老样子首先使用arp-scan -l对主机进行探活,发现主机IP为192.168.20.147
之后对开放的端口进行扫描,执行nmap -O -sV -p- -A 192.168.20.147,结果如下所示
开放了8080端口和22端口,其中8080端口是其http服务,我们尝试着访问8080端口,如下所示
这是一个Tomcat服务,我们知道的是Tomcat曾经爆出过很多漏洞,我们首先先用漏洞扫描工具去探测一下
首先不存在我们常见的PUT上传漏洞,我们再尝试爆破弱口令,我们这里采用msf进行漏洞检索,首先我们先搜索和tomcat登录有关的漏洞search tomcat login
之后我们选择use 0,之后就可以开始爆破 ...
Vulnhub打靶-Empire_LupinOne
基本信息靶机下载:https://download.vulnhub.com/empire/01-Empire-Lupin-One.zip
攻击机器:192.168.20.128(Windows操作系统)& 192.168.20.138(kali)
提示信息:
这个盒子被创建为中等大小,但如果你迷路了可能会很困难。
CTF 就像盒子。 你必须尽可能多地列举。
靶机:192.168.20.0/24
目标:获取2个flag+root权限
具体流程信息收集老样子首先使用arp-scan -l对主机进行探活,发现主机IP为192.168.20.146
之后对开放的端口进行扫描,执行nmap -O -sV -p- -A 192.168.20.146,结果如下所示
开放了80端口和22端口,我们首先试试80端口能否获取到有价值的信息
先使用dirsearch扫描网站目录,并没有什么有价值的信息,只有一个robots.txt,我们尝试去访问一下
我们查看源码,看到了下面这句话
<!-- Your can do it, keep trying. -->
说明我们的思路是对 ...
Vulnhub打靶-Breakout
基本信息靶机下载:https://download.vulnhub.com/empire/02-Breakout.zip
攻击机器:192.168.20.128(Windows操作系统)& 192.168.20.138(kali)
提示信息:这台靶机被设计为简单难度的靶机,但如果你迷失方向,它可能会变成中等难度。
靶机:192.168.20.0/24
目标:获取2个flag+root权限
具体流程信息收集老样子首先使用arp-scan -l对主机进行探活,发现主机IP为192.168.20.145
之后对开放的端口进行扫描,执行nmap -O -sV -p- -A 192.168.20.145,结果如下所示
这里开放了80端口,说明还是从80端口进行渗透,我们首先访问80端口,结果如下
首先还是进行后门路径的扫描吧,先使用默认字典进行扫描,如下所示
可以发现有一个/manual/index.html的路径,我们尝试访问
这是一个Apache的官网,其域名的指向显示的也是apache的官网,显然是重定向到apache的官网上去了,所以这里也并没有什么有价值的信息
同时 ...
Vulnhub打靶-napping
基本信息靶机下载:https://download.vulnhub.com/napping/napping-1.0.1.ova
攻击机器:192.168.20.128(Windows操作系统)& 192.168.20.138(kali)
提示信息:甚至管理员也可以在工作中睡着
靶机:192.168.20.0/24
目标:获取2个flag+root权限
具体流程信息收集老样子首先使用arp-scan -l对主机进行探活,发现主机IP为192.168.20.143
之后对开放的端口进行扫描,执行nmap -O -sV -p- -A 192.168.20.143
开放端口为22和80,重点关注80端口即可,浏览器访问80端口
我们首先扫一下目录,看看能不能有什么发现
但是这几个页面都没有啥用,我们先试着注册一个用户登录进去,看看能不能有什么新的发现吧
这里有一个框可以输入网址,当我们输入网址后,点击下面的here可以直接跳转,如下所示
这里我们可以联想到ssrf漏洞,因为服务器会去请求我们给的资源地址,我们只需要构造恶意的文件地址,但是由于管理员会检查我们提交的URL,我 ...
Vulnhub打靶-jangow
基本信息靶机下载:https://www.vulnhub.com/entry/jangow-101,754/
攻击机器:192.168.20.128(Windows操作系统)& 192.168.20.138(kali)
提示信息:这个框的秘密是枚举!
靶机:192.168.20.0/24
目标:获取2个flag+root权限
具体流程信息收集首先使用arp-scan -l查询IP,结果如下所示
所以我们靶机对应的IP为192.168.20.142
再使用nmap扫描靶机的端口,命令为nmap -O -sV -p- -A 192.168.20.142
我们发现开启了80端口和21端口,即开启了http服务和ftp服务,我们先从80端口入手,浏览器访问80端口,如下所示
首先还是先进行目录扫描,我们先使用dirsearch的默认字典看看有没有泄露,但是除了一些资源地址并没有什么新的发现
我们这里发现了一个.backup文件,试着访问,信息如下
是一个sql配置备份文件,在这里没什么作用,但是先把信息记录下来,后面可能会有用处
$servername = "loc ...
Vulnhub打靶-Earth
基本信息靶机下载:https://download.vulnhub.com/theplanets/Earth.ova
攻击机器:192.168.20.128(Windows操作系统)
靶机:192.168.20.0/24
目标:获取5个flag+root权限
基本步骤信息收集我们将靶机开启,首先使用nmap探活,查看主机精确IP,如下所示
我们靶机的IP为192.168.20.140,开放80、443、22端口,首先使用浏览器访问80端口,发现显示结果如下
显示400BadRequest,就很疑惑,尝试使用443https协议访问也是有问题的,我们上网找一下这方面的相关解释
大概率是因为我们不能直接通过IP访问,需要找到其正确的URL地址,我们使用nmap进行更详细的信息探测,使用命令如下
nmap -O -sV -p- -A 192.168.20.140
我们发现关键信息,给了DNS解析地址,即earth.local和terratest.earth.local,我们在host文件中加入对应的解析地址,如下所示
在浏览器中我们直接使用域名进行访问,如下所示
漏洞初探我去试了 ...
Vulnhub打靶-matrix_breakout_2_morpheus
基本信息靶机下载:https://pan.baidu.com/s/1kz6ei5hNomFK44p1QT0xzQ?pwd=y5qh提取码: y5qh
攻击机器:192.168.20.128(Windows操作系统)
靶机:192.168.20.0/24
目标:获取2个flag+root权限
具体流程信息收集信息收集三板斧,nmap扫描+目录扫描,这里就不再赘述,直接贴结果,如下所示
由nmap的结果,我们可以知道靶机IP为192.168.20.133,开放的端口为22,80,81,我们首先对80端口进行探测,浏览器访问80端口,如下所示
页面大致意思就是告诉我们现在对于ssh服务我们不能利用,所以我们得从80端口寻找突破口,进而突破对ssh服务的限制,我们接下来进行路径扫描,这里真的得靠平时积累的字典了,扫到了就是扫到了,没扫到是真的寄了,我们这里使用gobuster进行路径扫描,使用kali自带的目录字典,输入的命令如下
gobuster dir -u http://192.168.20.133 -x php,txt,jsp,asp -w "C:\Users\Admi ...
Vulnhub打靶-admx_new
基本信息靶机下载:https://pan.baidu.com/s/1n__Xi5zpDxtNvuR_Be-2Dg?pwd=76wa提取码: 76wa
攻击机器:192.168.20.128(Windows操作系统)
靶机:192.168.20.0/24
目标:获取2个flag+root权限
本次靶机难度较为简单,不涉及内网穿透等内容,是我第一次尝试红队攻击,故在此记录
具体流程信息收集首先我们拿到一个靶机,第一个要做的事情就是进行信息收集,看看靶机是否开放了某些具有漏洞的服务可以让我们进行渗透,由于靶机是部署在我虚拟机下的,所以我可以通过我的攻击机器知道靶机的网段是192.168.20.0/24,所以我们首先使用nmap扫描网段下存活的所有主机
执行命令nmap -sn 192.168.20.0/24
192.168.20.1是我自己主机的IP地址,192.168.20.2是网关出口,192.168.20.128是我的攻击主机,所以这里存疑的只有192.168.20.132以及192.168.20.254,所以我们直接扫描这两个IP地址开放的端口来进行进一步确认
执行命令nmap ...
WEB攻防-通用漏洞-CRLF注入&URL重定向&资源处理拒绝服务
CRLF注入CRLF注入漏洞发生在应用程序未能正确过滤用户输入中的回车(CR,\r,%0d)和换行(LF,\n,%0a)字符时。在HTTP协议中,HTTP头部字段和正文之间通过一个CRLF序列分隔,每个头部字段之间也通过CRLF序列分隔。攻击者可以利用这一点,在响应头中插入新的头部字段,或者在响应正文中插入内容。
接下来举个例子,当我们请求www.baidu.com的时候,请求头是这样的:
GET / HTTP/1.1 Host:www.baidu.com
当我们请求www.baidu.com/search的时候,请求头会变成这样:
GET /search HTTP/1.1 Host:www.baidu.com
当我们恶意插入换行符号且网站并没对换行符号过滤的时候,就可以将请求写成www.baidu.com/search%0Host:www.hack.com,这样我们的请求头就会变成
GET /search HTTP/1.1Host: www.hack.comHost:www.baidu.com
这时候就会出现两种情况:
1.访问www.hack.com
2.报错
接下来我们就用一个实 ...
第一届“帕鲁杯”应急响应wp
帕鲁杯应急响应是我做过的第一个模拟真实生产场景的应急响应题目,以往做过的都是单个靶机,这一次首次挑战具有拓扑网络结构的应急响应题,更考验综合能力以及对于各个系统的应急响应,所以写下这篇wp以作记录,下面是对于该题的描述
其网络拓扑结构如下所示
其相关资产情况如下所示
签到 提交:[堡垒机的flag标签的值]第一题是签到题,比较简单,我们直接打开JumpServer 开源堡垒机并登录进去
找到标签列表,里面有遗留下来的flag值,故签到题的答案为
[BrYeaVj54009rDIZzu4O]
提交攻击者第一次登录时间 格式为:[2024/00/00/00:00:00]我们查看登录日志,如下所示
LAN表示从内网登录,所以这个登录记录是最可疑的,我们直接提交本次记录的时间,可以发现是正确的
[2024/04/11 14:21:18]
提交攻击者源IP 格式为:[0.0.0.0]查看登录日志,我们可以发现192.168.1.4是登录最多的IP地址,所以我们直接提交192.168.1.4即可
[192.168.1.4]
提交攻者使用的cve编号 格式为:[CVE-0000-0000]由 ...
WEB攻防-通用漏洞-python反序列化及魔术方法
前置知识点python反序列化和php反序列化类似,相当于把程序运行时产生的变量,字典,对象等实例变换成字符串的形式存储起来,以便后续调用。
python中反序列化的库主要有两个,pickle和cPickle,这两个库在运行效率上有区别以外,其他地方没有任何区别,下面将以pickle为例,介绍pickle的常用函数方法
1.文件格式pickle.dump(obj,file) #将对象序列化后保存在文件中pickle.load(file) #读取文件,将文件中的序列化内容反序列化为对象2.字节流pickle.dumps(obj) #将对象序列化成字符串格式的字节流pickle.loads(bytes_obj) #将字符串格式的字节流反序列化为对象
python反序列化相对于Java反序列化和PHP反序列化都要简单一些,其主要的函数就只有dump和load,且其魔术方法也比较少,一般的pop链不会太长,下面我们介绍python反序列化的魔术方法
__reduce__() #对象被序列化和反序列化时调用__reduce_ex__() #对象被序列化和反序列化时调用__setstate__( ...
WEB攻防-通用漏洞-JAVA反序列化
首先,Java序列化和反序列化的概念和PHP序列化和反序列化的概念类似,都是将对象转变为字节流(序列化)或者将字节流转变为对象(反序列化),只是实现的方式可能略有不同,我们接下来来认识一些序列化和反序列化的接口,如下所示
Java:Serializable Extemalizable接☐、fastjson、jackson、gson、ObjectInputStream.read,ObjectobjectInputStream.readUnshared,XMLDecoder.read.ObjectYaml.loadXStream.fromXML.ObjectMapper.readValue.JSON.parseObjectPHP:serialize()unserialize()Python:pickle
java序列化之后的数据具有一定的特性,如果一段数据以rO0AB开头,我们可以确定这串就是JAVA序列化base64加密的数据,如果以aced开头,那么这段就是java序列化的16进制数据
原生API-Ysoserial_URLDNS使用序列化操作:
private static void ...
WEB攻防-通用漏洞-PHP反序列化之魔术方法
序列化和反序列化序列化:serialize(),将对象转化为数组或者字符串等格式
反序列化:unserialize(),将数组或字符串等格式转化成对象
为什么要进行序列化和反序列化?是因为我们在传递和保存对象时,为了保证对象的完整性和可传递性,我们将对象转换为有序字节流,以便在网络上传输或者保存在本地文件中。
反序列化漏洞在PHP中存在一些魔术方法,可以控制优先执行什么或者初始化什么,但是如果魔术方法适用不当,就会造成反序列化漏洞,其原理是未对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化过程,从而导致代码执行、SQL注入等不可控后果,其中一些常见的魔术方法如下所示
触发:unserialize 函数的变量可控,文件中存在可利用的类,类中有魔术方法:__construct(): //构造函数,当对象 new 的时候会自动调用__destruct(): //析构函数当对象被销毁时会被自动调用__wakeup(): //unserialize()时会被自动调用__invoke(): //当尝试以调用函数的方法调用一个对象时,会被自动调用__call ...
WEB攻防-通用漏洞-文件包含漏洞、伪协议绕过
漏洞简介包含:程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,而无需再次编写,这种调用的过程被称为包含
文件包含漏洞:文件包含函数的参数没有经过过滤或严格定义,并且参数可以被用户控制,这样就可能包含非预期文件。如果文件中存在恶意代码,无论是什么类型,都会被解析并执行
PHP中文件包含函数有以下四种:require()、require_once()、include()、include_once()
(1)require找不到被包含的文件时会产生致命错误(E_COMPILE_ERROR),并停止脚本;(2)require_once和require类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含。(3)include找不到被包含的文件时只会产生警告(E_WARNING),脚本将继续执行。(4)include_once和include类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含。
本地文件包含(LFI)1.无限制本地文件包含漏洞
无限制本地文件包含漏洞是指代码中没有为包含文件指定特定的前缀或者.php、.html等扩展名,因此攻 ...
WEB攻防-通用漏洞-XML、XXE及绕过
XXE是什么?XML作为一种常用于Web应用程序的数据格式。XML文档可以定义实体,它们是存储文档中其他地方重复使用的数据的方式。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。
XXE(XML外部实体注入)是一种针对应用程序处理XML数据的方式的攻击,在这种攻击中,攻击者利用应用程序对XML输入的处理不当,引入恶意内容,可能导致未授权的数据访问、服务拒绝攻击甚至远程代码执行。
XXE漏洞发生在应用程序解析XML输入的时候,没有禁止外部实体的加载,导致可能加载恶意外部程序,进而引发各种危害
判定XML传输对于这个漏洞,最重要的是要判断是否使用了XML进行数据的传输,我们可以通过以下两个特征来进行判断,我们抓取数据提交的数据包,查看Accept和X-Requested-With,如下所示
当出现application/xml以及XMLHttpRequest的时候我们就可以判断其使用了XML进行了数据传输,这个时候我们就可以测试一下是否存在XXE漏洞
XXE读取文件相关payload如下所示 ...
WEB攻防-通用漏洞-CSRF、SSRF漏洞利用
CSRFCSRF全称Cross-site request forgery,即跨站请求伪造,也被称为“One Click Attack”,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用,举个最基本的例子,就是别人给你发了一个奇怪的链接,你点了之后虽然什么都没有输,但是自己的QQ号被盗取了,。即该攻击可以在受害者不知情的情况下以受害者名义伪造请求,执行恶意操作,具有比较大的危害性。
CSRF攻击的两个条件:
目标用户已经登录了网站,能够执行网站的功能
目标用户访问了攻击者构造的URL
CSRF黑盒判断的条件:
看验证来源是否一致
看凭据是否有token
看关键操作是否有进行验证
原理图如下所示:
后台自动添加管理员当我们处在管理员后台界面的时候,即已登录状态
之后点了别人发过来的url链接,http://127.0.0.1:8081/web/add.html,访问这个地址,我们可以发现我们的管理界面被添加了一个新的管理用户
其实原理就是这个链接所代表的就是添加用户的数据包,当触发后,会以自己的浏览器将这个数据包发出去,然后后端就会认为是管理员进行了增加用户的操作,进而 ...
WEB攻防-通用漏洞-XSS绕过与修复
无过滤情况下常见标签<script><script>alert("xss");</script>
<img><img src=1 onerror=alert("xss");>
<input><input onfocus="alert('xss');">
通过autofocus属性执行本身的focus事件,这个向量是使焦点自动跳到输入元素上,触发焦点事件,无需用户去触发
<input onfocus="alert('xss');" autofocus>
<details><details ontoggle="alert('xss');">使用open属性触发ontoggle事件,无需用户去触发<details open ontoggle="alert('xss');" ...
WEB攻防-通用漏洞—XSS跨站之权限维持、钓鱼
XSS后台植入Cookie&表单劫持前提条件:已经取得了web权限,我们可以直接在代码中写入XSS语句
有人可能会奇怪,为什么取得了web权限还要写入XSS,是因为我们要对后台的权限进行长期的控制(权限维持),我们可以通过借助XSS盗取cookie,利用xss平台实时监控cookie等凭据进行权限维持,即使修改后台登录账号密码,我们也可以获得相关权限,同时不会被后门工具识别。
当我们进入到页面后,我们可以在xss平台上接收到相关的cookie信息,如下所示
但是,有时候我们窃取了cookie也不能实现成功登录,因为对方可能采取的不是cookie来进行身份鉴别,而是使用sessionid来实现身份鉴别,这时候即使你获取了cookie,也不能实现登录,这个时候我们就要想办法获取到其明文的账号和密码。
这里我们首先看看其将账号密码发送到哪个文件中,我们通过浏览器抓包可以发现,账号密码被送入login_check.php中
我们先随便输入一个账号密码,查看提交的数据,如下所示
我们再次观察login_check.php,可以发现login_check.php通过$metinfo ...
WEB攻防-通用漏洞-XSS跨站之特殊类型XSS
MXSSMXSS,也称为变异性的XSS,简单来说,MXSS原本的Payload是无害的,并不会产生XSS,但是由于一些特殊的原因,如反编码等导致Payload发生变异进而导致XSS,遇见的几率很小,老版本的QQ曾经有这个漏洞,但是已经被修复了,所以这种类型的XSS的参考意义也不大,了解即可。
UXSSUXSS是利用浏览器或者浏览器扩展漏洞来制造产生XSS并执行代码的一种攻击类型,这种类型的漏洞通常不是网站的问题,而是浏览器自身存在这个问题。
相关示例视频可以参考这个:【转载】MICROSOFT EDGE uXSS POC CVE-2021-34506_哔哩哔哩_bilibili
我们的源代码如下所示:
<b><u>行之在线测试 </u></b><br> Políticas de PrivacidadeUsaremos seus dados pessoais para resolver disputas, solucionar problemas e aplicar nossos Termos e Condições de Us ...