自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

原创 htb-Beginner Track(轨道)详解

21端口开启了ftp服务器,简单来说ftp就是一个供用户上传下载文件的一个文件存储器,通过ftp协议访问。同时也开启了smb共享,nmap会自动去扫描是否存在游客登陆也就是guest,这里显然并没有开启.139和445端口139和445端口都是共享端口,139用于NetBIOS over TCP/IP,是传统的文件打印共享协议。而445则是smb协议,提供更高效的文件和打印共享功能。简单来说smb就是netbios的升级版,直接通过TCP/IP工作,避免了NetBIOS的额外开销。

2024-08-26 10:03:52 730

原创 htb-GreenHorn

Gitea是一个开源的自助 Git 服务,类似于 GitHub 或 GitLab的轻便型版本简单来说就是一个自己搭建的开源的库,只是说完全有自己掌控不依赖第三方服务商

2024-08-09 08:27:19 1231

原创 PermX-htb

直接拿’/‘跟目录创建软链接或者/etc/创建软链接,如果想直接把root/root.txt创建软链接的话,执行该权限的命令时他会告诉你无法访问没有权限,但是etc文件是可以访问的,直接使用

2024-08-05 15:27:17 1058

原创 Clicker-htb

从这里大致可以知道有web服务使用了rpcbind,是一种通信协议,允许客户端调用远程服务器上的程序或服务。简单来说RPC绑定服务充当了一个服务目录的角色,帮助客户端定位远程RPC服务的端口,从而使客户端能够与服务器进行通信这里所需要注意的是开启的nfs共享NFS共享是在NFS服务器上定义的文件系统或目录,可以被客户端挂载并访问。

2024-06-06 13:16:59 861 1

原创 htb-Mailing

Microsoft Office Outlook是微软office的组件之一,也是常用的邮件客户端之一。CVE-2024-21413 是在 Microsoft Outlook 中发现的一个重大安全漏洞,CVSS 评分 9.8。攻击者将一个带恶意链接的邮件发送给被攻击用户,当用户点击链接时,会导致NTLM窃取与远程代码执行(RCE),并且该漏洞还能使攻击者能够绕过Office文档的受保护视图。本文先讲复现过程,后讲漏洞原理。

2024-05-23 15:04:38 1599

原创 redis服务连接及常规操作和redis服务getshell

Redis,英文全称是(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。redis服务于传统服务器不同,redis是内存数据库,Redis的数据是存在内存中的。它的读写速度非常快,每秒可以处理超过10万次读写操作,因此redis被。

2024-05-13 12:03:15 922

原创 htb-WifineticTwo Pixie-dust attack 是利用路由器芯片随机密钥(nonce)生成的漏洞,离线破解 WPS PIN 的一种无线攻击方案

Pixie-dust attack 是利用路由器芯片随机密钥(nonce)生成的漏洞,离线破解 WPS PIN 的一种无线攻击方案wps psk在 WPA PSK 中,使用预共享密钥(Pre-Shared Key,PSK)来对无线网络进行加密,并确保只有知道该密钥的用户才能访问网络使用 WPA PSK 时,用户需要在无线路由器上配置一个预共享密钥(通常是一个密码)。然后,所有连接到该网络的设备都需要使用相同的预共享密钥来加密和解密通信。这种方式确保了网络通信的保密性,因为只有知道预共享密钥的用户

2024-04-22 10:31:19 1503 1

原创 vulhub weblogic全系列靶场

Oracle WebLogic Server 是一个统一的可扩展平台,专用于开发、部署和运行 Java 应用等适用于本地环境和云环境的企业应用。它提供了一种强健、成熟和可扩展的 Java Enterprise Edition (EE) 和 Jakarta EE 实施方式。

2024-04-17 22:30:39 1353 1

原创 vulhub靶场shiro系列漏洞复现CVE-2010-3863、CVE-2016-4437(shiro550)、CVE-2020-1957、shiro721

是一个强大的并且简单使用的java权限框架.主要应用认证(Authentication),授权(Authorization),cryptography(加密),和Session Manager.Shiro具有简单易懂的API,使用Shiro可以快速并且简单的应用到任何应用中,无论是从最小的移动app到最大的企业级web应用都可以使用。在Apache Shiro 1.1.0以前的版本中,shiro没有对url做防护,导致可以通过'../' './' '/'这些来达到未授权访问来绕过权限验证。

2024-04-11 11:19:49 1276

原创 ctf_show笔记篇(web入门---SSTI)

模板引擎是为了让用户界面以及业务数据分离开才产生的,模板引擎会生成特定的文档,然后通过模板引擎生成前端html代码,然后再获取用户数据再放到渲染函数里渲染,最后将生成的html代码个渲染好的数据结合拿给浏览器呈现给用户。

2024-04-08 10:49:31 1205

原创 ctf_show笔记篇(web入门---SSRF)

ssrf产生原理:服务端存在网络请求功能/函数,例如:file_get_contens()这一类类似于curl这种函数传入的参数用户是可控的没有对用户输入做过滤导致的ssrf漏洞ssrf利用:用于探测内网服务以及端口探针存活主机以及开放服务探针是否存在redis服务(未授权访问, 相当于是可以访问到redis服务并且开发人员不严谨没有设置密码, 因为默认是没有密码的, 或者说开发者设置了密码但是是弱口令), 利用定时任务反弹shell

2024-04-04 13:21:15 1275

原创 ctf_show笔记篇(web入门---jwt)

JSON Web Token(JWT)通常由三部分组成简单地说jwt就是一串字符串,类似于序列化这种,把用户的信息保存在字符串里JWT全称是,如果从字面上理解感觉是基于JSON格式用于网络传输的令牌。实际上,JWT是一种紧凑的Claims声明格式,旨在用于空间受限的环境进行传输,常见的场景如HTTP授权请求头参数和URI查询参数。JWT会把Claims转换成JSON格式,而这个JSON内容将会应用为JWS结构的有效载荷或者应用为JWE结构的(加密处理后的)原始字符串,通过消息认证码(或者简称MAC。

2024-04-02 15:58:08 1702

原创 ctf_show笔记篇(web入门---XSS)

这里简单对xss做一个了解:xss分为反射型和储存型反射型:一般是由攻击者选择攻击对象,对攻击对象发一个带有xss窃取cookie的页面的url,被攻击者点击就会动过document.cookie将用户信息一并发送给攻击方的服务器。反射型XSS一般发生在浏览器,当受害者访问含有XSS代码的页面时浏览器解析并执行XSS代码造成信息泄露。存储型:攻击方将恶意代码插入在存在漏洞的网站上,任何访问网站的人都会遭到攻击,比起反射型xss,存储型xss危害更大,范围更广。

2024-04-01 09:58:08 1732 2

原创 HTB devvortex靶机记录

做这个靶机的师傅们我先提一句,不知道是否是因为网速还是其他因素影响,登录后台管理后,有大概率会被其他人挤下去,所以做这道题的师傅可以考虑在没人的时候去做。端口有了服务有了现在就是扫域名以及目录,扫域名我一般喜欢用oneforall,这里扫出来以dev开头的子域名dev.devvortex.htb。直接去登陆,这个靶场真的太烦了,只要有人和你一起用,他要是也登的话就会把你挤掉,还是晚上打比较好。到这里就要注意了,登录不上去可能不是你的问题,而是有其他玩家正在登录或者使用。

2024-03-28 20:56:39 437

原创 ctf_show笔记篇(web入门---phpCVE)

CVE-2019-11043漏洞是PHP的一个远程代码执行漏洞,该漏洞产生与Nginx利用fastcgi_split_path_info在处理带有 %0a 的请求时,会因为遇到换行符(%0a)导致PATH_INFO为空,最终可导致任意代码执行。头指定的地址)并通过dbgp协议与其通信,我们通过dbgp中提供的eval方法即可在目标服务器上执行任意PHP代码。x+-oProxyCommand=echo 'base64编码后的命令'|base64 -d|sh}漏洞名称:PHP-CGI远程代码执行漏洞。

2024-03-22 09:34:52 1310

原创 ctf_show笔记篇(web入门---反序列化)

例如$a = 1 $b = 2, 这时让$b = &$a, 再给$a 重新赋个值 $a = 3, 这个时候$b就会一直跟着$a变化, $a是什么$b就是什么。利用php处理畸形的序列化的处理措施, 当php收到畸形的序列化时, 会因为对此序列化的不放心, 会第一时间处理掉它, 所以能直接让处理他的顺序排在了最前面。这时, 如果传入一个|O:5:"Class"类似于这样的序列化, php就会自动把|前面的当作键名用, 反而会反序列化|后的值。

2024-03-19 11:26:50 2131

原创 ctf_show笔记篇(web入门---代码审计)

在dao.php文件找到了当最后销毁序列化时调用close(__destruct魔法函数), 这里就要用到__construct魔法函数, 当执行new实例化的时候就会调用, 一会儿再去找哪里实例化了dao这个类, 将$this->config=new config()修改为$this->conn->=apt()这里$this->config->cache_dir指向了config类里的cache_dir变量, 刚好又是个public公共便变量可以修改。这里的'问好'像下面一样加密一下。

2024-03-13 09:31:18 1563

原创 ctf_show笔记篇(web入门---sql注入)171-189

例如:原理,flag是十六进制的,最大到f所以可以用后面的英文来替换。利用into outfile来将查询到的表的内容写入到服务器的文件里。但这种情况一般需要知道web的地址例如/var/www/html/再利用python或者其他或者人工逆向替换回来。

2024-03-12 10:15:05 1358 3

原创 ctf_show笔记篇(web入门---文件上传)

这里利用.user.ini文件,只要访问同目录下的php文件就能把目标png文件当作php文件加载。可以直接写payload获得flag,不用在继续$_POST之类的。自行搜索绕过一下其他的和153题无异。这里就关系到了网站中间件的设置问题。使用GIF89a在文件最上方添加。但是会验证图片头信息。

2024-03-06 10:36:58 988

原创 文件上传{session文件包含以及条件竞争、图片文件渲染绕过(gif、png、jpg)}

session.upload_progress.name是打开的,他会将post传输的和session.upload_progress同名的post参数个拉取到session里变成类似于变量的东西。png图片就复杂一点,大致原理就是,再png图片特定位置添加webshell,会导致src值改变,网站会验证src值所以这里需要利用到国外大佬写的脚本。在我们上传的图片的基础上修改格式内容尺寸之类的,并且会对部分内容进行更新替换,最后将处理过后的图片生成一个新的保存在指定的位置。jpg图片也是差不多的原理。

2024-03-06 09:07:36 1236

原创 这里做一篇关于wsl2更新到最新版本使用镜像网络,但是docker创建的容器不能被访问的问题(困扰了我一整天)

在windows2023年9月的一次更新中,wsl2支持了新的网络模式镜像模式,他能够通过localhost地址从wsl2内部连接到windows的127.0.0.1地址##相当于是和本地主机拥有同一个ip原wsl2是不支持的,虽说是net网络模式,可访问主机,主机也可访问wsl2,同时也可上网,但是不能被网络访问,如果要做反弹shell这一类的就没有办法,而镜像网络就解决了这个问题。

2024-03-05 16:41:04 5284 8

原创 ctf_show笔记篇(web入门---php特性)

原理:当md5函数加密数组时会报错NULL,当两a和b同时都是数组时,md5(a)===md5(b)等于NULL===NULL。如果b=0那么会自己去判断a是什么进制,例如a=0x开头则是18进制,0开头则是8进制,也可以直接设置b=10进制之类的。把数组的键值和键名当作变量名和变量值,例如a[b]=c那么extract(a[b]) b=c。把数组的键值和键名当作变量名和变量值,例如a[b]=c那么extract(a[b]) b=c。

2024-03-02 17:33:26 1469

原创 ctf_show笔记篇(web入门---文件包含)

原:file=php://filter/write=convert.base64-decode/resource=a.php。url转换两次后:####浏览器会先自动url解码一次,第二次则是urldecode。原content=

2024-03-02 17:31:17 1281

原创 ctf_show笔记篇(web入门---命令执行)

${PWD::${##}}???${PWD::${##}}?${USER:~A}?$IFS????.???####我的环境$USER是root,ctfshow的不是所以这里是正常的

2024-03-02 17:30:08 1795

原创 ctf_show笔记篇(web入门---爆破)

这一题很像是版本漏洞,通过看提示从php4.2.0开始就不用mt_scrand(seed)来播种,会自动播种,如果设置了mt_scrand(seed)并且seed有值,那就会生成伪随机数(俗称假的随机数),生成的数字就会固定。首先呢,他会验证这中间部分是否日期,如果长度或者大小都不正确的话,会直接弹窗且不发包,这里我直接用bp爆破模式添加了三个放payload的位置。这里有和24题一样的漏洞,使用了mt_srand()播种就会生成特定的随机值,这里我们需要传入同样的随机值让rand的变量为零才能进入if。

2024-03-02 17:27:16 700

原创 ctf_show笔记篇(web入门---信息收集)

php探针是用php语言编写的一个程序,可以用来查看服务器的状态,比如服务器操作系统信息,服务器CPU、内存和硬盘的使用状况,php版本和组件信息,数据库版本信息,实时网速等。可以非常方便地了解服务器的运行状态雅黑php探针:url/tz.php可将这些写入目录扫描使用的字典里,可以跟方便的扫东西。

2024-03-02 17:25:00 745

原创 无字母数字rce总结(自增、取反、异或、或、临时文件上传)

临时文件上传通过上传文件然后用符号.调用执行文件第一个知识点:通过post上传文件,此时php会在linux里的零时文件夹保存文件,且文件一定是php加上六个随机的字符 /tmp/php??????这个应php保存的临时文件会有一个特性,就是这6个随机的字符会出现大写的情况例如:普通文件/tmp/adcabcabcphp保存的临时文件/tmp/phpAvxAsa第二个知识点:现在直到了文件上传的位置以及特性那么现在要怎么利用它shell下支持使用. 来

2024-02-29 16:28:47 2756 1

原创 ctf_show(web入门笔记)整理换位置继续写

###重新整理后将每一篇重新发布,一篇里发太多了,不好梳理也很卡。####可以关注我的ctfshow专栏,已经全部转到那里了。

2023-12-27 15:03:40 690

原创 [WUSTCTF2020]朴实无华1

这里利用到intval的漏洞,传入科学计数法时只会要e之前的数字,如果传入1e10,intval(1e4)=1,但是intval(1e4+1)=10001,因为这里是科学计数法加算数,所以会先计算了,在取值,所以理论上来说只要e前面的数字小于2000,并且科学计算以后大于2001就能绕过。首先strstr(1,2)会匹配1里2出现的地方以后的剩余的所有字符(空格用/**/替换)跑buuctf的题需要限速显示,不然跑太快了会429报错。这里需要让他原本弱等于md5以后的自己。打开以后,点击ie浏览器的图标。

2023-12-25 09:58:39 586

原创 dirsearch安装及简单使用(###linux系统和windows系统)

首先windows安装需要配置python环境,如果有的话可以跳过官方下载地点:Welcome to Python.org拖到最下面选择要下载的打开以后直接一步一步跟着走就配置好了点击这里下载压缩包解压以后放在你想放的位置(##这里随意)C:\Users\37380\Desktop\dirsearch-master(不用和我一样)然后配置环境变量点击path,然后新建,放入dirsearch.py的路径点击确认就好在cmd里面输入dirsearch -h出现一下情况就说明安装成功,就可以使用了一般linux

2023-12-25 09:16:27 3079 1

原创 [BJDCTF2020]Mark loves cat1

从代码来看这里包含了flag.php文件,并且结尾输出了flag.php文件里的$flag变量所以我们只需要绕过中间的所有设置就能自动获得flag这里直接来看我们不传入东西会触发的if函数(最后是需要什么都不触发,等执行到结尾自动输出flag)####这里最重要的就是不会改变flag且不会提前结束从代码来看有三个条件传入flag传入的flag不等于flag$_GET['flag']不等于$x,$x不等于'flag'这里的payload:?查看源代码得到flag。

2023-12-18 10:30:02 994

原创 关于ctf反序列化题的一些见解([MRCTF2020]Ezpop以及[NISACTF 2022]babyserialize)

这里对php反序列化做简单了解在PHP中,序列化用于存储或传递 PHP 的值的过程中,同时不丢失其类型和结构。serialize()函数序列化对象后,可以很方便的将它传递给其他需要它的地方,且其类型和结构不会改变如果想要将已序列化的字符串变回 PHP 的值,可使用用unserialize()当在反序列化后不同的变量和引用方法会调出不同的php魔法函数php魔法函数__wakeup():在执行unserialize时,会最先调用这个函数__sleep():在执行serialize时

2023-12-14 21:44:08 1360

原创 [GWCTF 2019]我有一个数据库1

#我的上一篇博客附上了dirsearch的下载地址以及简单用法。这里扫出来了phpmyadmin/index.php。这里能看到phpmyadmin的版本信息。直接把phpinfo.php放出来了。然而这道题是想让我们通过版本漏洞做题。这里看起来不像是加密应该是编码错误。这里访问robots.txt。用dirsearch扫了一遍。这里我附上版本漏洞复现的博客。其实遇到这种的页面要做的事。这里能看到它所有的信息。这里并没有能找到可控点。

2023-12-11 10:04:44 481

原创 [NCTF2019]Fake XML cookbook1

xml注入其实和sql注入类似,利用了xml的解析机制如果系统没有将‘’进行转义,那么攻击者就可以修改或者添加xml信息例如:这里是正常的注册的xml用户输入假如我添加一个呢,这样是否就将我们输入的用户名变成了权限用户输入

2023-12-11 09:25:52 849

原创 [GXYCTF2019]禁止套娃1

这里我使用的是dirsearch来进行扫描的,每次扫buuctf的题时扫描速度太快他会一直报错429,就像下图箭头指向的一样,所以无论使用什么工具去扫描都得限速以及限制每次扫描时间。这里先使用读取session的方式来做一次(###拓展###最后补充了一个做法,不过。这里随便加一个head头,他的值用来执行命令,最后加了\\来注释后面的内容。就像是下面图片方框里的,直接通过浏览器访问可直接下载,说明存在git泄露。这里是从下往上读的,所以夹\\注释掉后面读取的上面的head头信息。

2023-12-08 16:27:38 1193

原创 [BUUCTF 2018]Online Tool1

首先是进行判断http信息头里是否在HTTP_X_FORWARDED_FOR并且是否有参数 $_SERVER[“HTTP_X_FORWARDED_FOR”] 的值才是客户端真正的IP(如果是多层代理,该值可能是由客户端真正IP和多个代理服务器的IP组成,由逗号“,”分隔)将给字符串增加一个单引号并且能引用或者转义任何已经存在的单引号,这样以确保能够直接将一个字符串传入 shell 函数,并且还是确保安全的。这里用的两个函数其实就是确保命令到system或者exec里执行时是安全的。

2023-12-06 15:00:26 1131

原创 [BJDCTF2020]ZJCTF,不过如此1

如果指定了 limit,则仅替换 limit 个匹配,如果省略 limit 或者其值为 -1,则所有的匹配项都会被替换。replacement可以包含\\n形式或$n形式的逆向引用,n可以为0到99,\\n表示匹配pattern第n个子模式的文本,\\0表示匹配整个pattern的文本。括号内需要用到什么函数就填什么函数,这里我们需要用到getFlag()函数里的eval来执行命令。我们需要利用到getFlag()这个函数,但是并没有引用,所以就得想办法让可以使用这个函数。直接去查看网站根目录。

2023-12-05 09:28:14 536

原创 [BSidesCF 2020]Had a bad day1

​php伪协议的利用在做题之前让我们先来了解一下php伪协议的一些知识点在正常的语法中php伪协议是这样的php://filter/read或者write=********/resource=xxxx但是在php伪协议中是靠关键字来匹配参数的,那么其余的部分按照他的规矩来说应该可以随意写成自己所想的样子例如:php://filter/read=*****/随便写/resource=xxxxxxx​

2023-12-04 14:47:36 467

原创 [网鼎杯 2020 朱雀组]phpweb1

call_user_func函数类似于一种特别的调用函数的方法,它可以调用php内部函数也可以调用用户自定定义的函数。这里我的思路是通过反序列化传入参数绕过网站对func的防护,通过反序列化后执行system函数。call_user_func()这里似乎是利用的这个函数然后执行用户输入的然后去调用内部函数。####这里其实可以通过一个php的特性绕过直接执行命令,但是还是先按着作者的想法来做。随便输了几个函数,他这里就报出了call_user_func()func传输函数,而p则是传输参数的内容。

2023-12-04 11:25:57 962

原创 [BJDCTF2020]The mystery of ip1

当前使用的一些框架,比如python的flask,php的tp,java的spring等一般都采用成熟的的MVC的模式,用户的输入先进入Controller控制器,然后根据请求类型和请求的指令发送给对应Model业务模型进行业务逻辑判断,数据库存取,最后把结果返回给View视图层,经过模板渲染展示给用户。漏洞触发的原因未经任何处理就将其作为 Web 应用模板内容的一部分,模板引擎在进行目标编译渲染的过程中,执行了用户插入的可以破坏模板的语句,因而可能导致了敏感信息泄露、代码执行、GetShell 等问题。

2023-11-23 21:34:52 1281

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除