自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2022DASCTF MAY 挑战赛-fxygo

ssti+jwt伪造。

2025-01-23 10:23:42 413

原创 Vue基础学习

点击sum加1

2025-01-20 17:10:27 1076

原创 春秋杯-WEB

从而找到DownUnderCTF2022的题目。通过返回包,可以看到PHP版本为8.1.31。可以看到主页那里有个登录测试之后为ssti。fenjing梭哈即可得到payload。通过github脚本进行读取flag。看到题目名字为file_copy,当输入路径时会返回目标文件的大小,id改为1admin改成true。一个为上传位置,另一个为解压位置。先随便创建一个账号,然后登录。通过代码审计可以得出链接位置。拼接得到软链接的路径。

2025-01-17 19:28:56 698

原创 楚慧杯-Web

仔细阅读代码后发现要得到Flag很简单:先传参wq让其等于"二仙桥",而后利用extract函数覆盖变量pubcky让其不等于"二仙桥"即可执行反序列化代码。序列化代码中,__wakeup()函数是在对象被实例化后立即调用的,只要让其中的yuki(即where_you_go)等于molly的值(也就是"dont_tell_you")就可以得到Flag了,那怎么让where_you_go等于我们想要的值呢?可以看到p0pmart.php这个文件存在反序列化漏洞,绕过后即可读到Flag。

2024-12-20 20:49:23 729

原创 ciscn2024

但是,突然想到2023CISCN-gosession中go语言的ssti更改了python的app.py,所以app.py是可以更改的,而这个题中app.py可以直接被读取到,所以直接读取到app.py里面去就行了。自己本地搭建一个,并修改下代码,让他变成可以看到回显的ssti,先绕过黑名单再说。然后准备写文件,试了1.txt这些也不太行,其实这时候已经没有啥思路了,本来想提权的,但是到处翻,在/run/log找到flag,就不提权了。进行解密,一个个排出来,就可以得到密码了。然后就得到flag了。

2024-12-20 20:46:08 654

原创 [SCTF2019]Flag Shop

使用robots.txt,看到/static/secretkey.txt,但是源码在filebak中,不知道为什么语法为Ruby的语法所以思路为Ruby模版注入。发现secret的输出方式,其中ruby预定义变量里,在$'后会最后一次匹配字符串,所以进入代码后is working不被ruby代码解析,然后使用ERB模版进行注入。所以传入/work?SECRET=&name=is working得到:构造后,将jwt解码得到flag

2024-12-11 20:22:24 1144

原创 gin框架学习

gin框架是一个用Go语言编写的web框架,其主要可以用于微服务开发等项目使用。

2024-12-11 20:19:36 1785

原创 JDBC学习

rbac为我自己本地的数据库,可以进行替换,后面的characterEncoding是更改编码方式为utf-8,serverTimezone为设置时区。其中数据库可以提前导入到IDEA的数据库配置连接中。在test里面进行测试链接是否成功。在web中测试是否可以返回到前端。

2024-12-06 22:28:44 332

原创 SpringSecurity学习

SpringSecurity是一个作用于身份认证和权限控制的框架,其针对的主要就是网站的安全问题。

2024-12-05 22:11:44 741

原创 SpringBoot学习

Spring Boot是基于简化Spring的应用开发而设计出来的一款开源框架,=就是一个javaweb的开发框架,类似于SpringMVC,但是更加简便。其可以减少项目的配置和启动时间,并且简化项目部署的难度但是Spring Boot本身并不提供Sping框架的核心特征和拓展,其整合了所有框架,并且mave整合了所有jar包,使用十分简便快速。

2024-12-05 22:11:04 1858

原创 Go-Web之net&http包

在Go语言中,net和http包是构建网络应用程序时非常常用的两个包。它们分别提供了处理底层网络通信和HTTP协议的功能。

2024-12-03 10:27:50 1561

原创 Go-Web之TCP网络连接

这段代码主要就是提供一个网络服务,在本机的8080端口创建一个tcp服务器,连接到就会向客户端发送消息。这段代码主要是向127.0.0.1:8080发送了一个Hello的语句,并接收其返回的语句进行输出。在Go语言中构建TCP服务器主要通过net库。这个代码可以和上一个相连接。在两个控制台分别启动代码即可。

2024-11-27 21:02:02 2019

原创 春秋云镜-Time

然后,用impacket工具包中的GetNPUsers.py进行密码破解。这里只有上传到tmp目录下才能有权限执行。然后直接kali中登录,抓取flag就行。然后上传fscan和毒液进行代理和扫描。根据扫描结果,可以看到那个后台登录。尝试cve-2021-34371。尝试端口,发现7474有界面。然后,用大佬的脚本提权用户名。没开放80端口,网站看不到。然后代理到本机和kali上。直接抓包上sqlmap跑。得到很多密码和flag2。并且看到是Nei4j的。windows远程连接。用猕猴桃抓取hash。

2024-11-20 23:11:34 371

原创 SQL注入整理,不太全

在CTF比赛中,攻击者通常需要通过分析目标应用程序的代码和网络流量来确定注入点,并尝试不同的注入方法来绕过验证和获取敏感信息。基于错误的注入利用应用程序在处理SQL查询时产生的错误信息来获取敏感数据。CTF中的SQL注入是一种常见的攻击技术,攻击者通过构造恶意的输入来绕过应用程序对用户输入的验证和过滤,从而执行未经授权的数据库操作。始终返回 true,因此查询将返回所有用户记录,而不是仅与提供的用户名和密码匹配的记录。基于堆叠查询的注入是一种高级的注入技巧,它可以使攻击者在单个请求中执行多个SQL查询。

2024-11-20 23:07:18 816

原创 [安洵杯 2019]iamthinking-parse_url绕过thinkphp6.0反序列化

首先,序列化以*__destruct()*开始,我们可以搜索这个函数,最后,我们找到位于vendor/tothink/think-orm/src/Model.php中的这个函数。所以往下走,看到getChangedDate()函数,这个函数也没啥,后面那个if当data不为空时就已经触发不了了,所以我们跟进checkAllowFields函数。前面那个if可以不要管,默认就是不能触发的,然后就是checkData()函数,这个函数如果我们跟进去其实可以发现就是个void。

2024-11-19 23:18:19 1046

原创 go语言进阶之字节池与工作池

字节切片(Byte Slice)通常是指用于表示一段连续的字节数组的结构。其核心思想在于提供对自己序列的灵活访问和操作其中,字节指数据存储的基本单位,切片指从一段数据结构中提取出的一部分内容。在很多编程语言中,字节切片是用来处理原始二进制数据的一种方式,字节切片通常没有固定长度,可以动态调整。字节池是一种内存管理机制,通常用于优化内存的分配和释放,尤其是在高频率的内存操作中,它通过预先分配一块内存池,并跟进需求从池中获取或释放内容,避免了频繁的进行内存分配和释放操作。

2024-11-19 23:13:54 1650

原创 SQL注入注入方式(大纲)

PHP在处理提交数据前就会进行一次url解码,然后urldecode()函数又进行了一次解码。若mysql_real_escape_string()在urldecode()之前,则不会过滤urldecode()产生的单引号。例如:构造id=1%2527(%25=%),解码一次后会变成1%27,再进行解码变成id=1‘,单引号引起注入。如果存在Base64_decode()函数,并且没在后面有过滤直接拼接到SQL语句中,则导致了SQL注入。在进行GBK编码时,将%df%5c看成一个宽字符,得到。

2024-11-17 22:32:27 1274

原创 春秋云镜-2022网鼎杯

通过certipy-ad创建一个机器账号Test2,并且设置DNS Host Name为域控的 XR-DC01.xiaorang.lab。然后,Schannel 将证书传递到 LDAPS, 修改 LDAP 配置 (例如配置 RBCD / DCSync), 进而获得域控权限。进入网站,发现是wordpress,这种一般都不会有啥直接漏洞,应该是插件漏洞,或者弱口令。爆破密码,弱口令admin,123456,之前lazysysadmin好像打过。然后申请证书模版,打了两次,不成功就继续打。

2024-11-17 22:25:14 1189

原创 羊城杯2024,python反序列化

然后直接传入即可反弹shell,本来以为是第二个反序列化点进行触发的,再加上没有读取到密匙,所以卡了挺久,而真正的触发点在get_cookie中的cookie_decode函数那个反序列化点,进行反弹。只要绕过就行,使用opcode语句进行手搓payloud,反弹shell,然后附上加密脚本。这个是secret_code 这个卡了好久,就是没看到这个东西。审代码可以发现他的解密逻辑和构造逻辑。同样读取app.py。

2024-11-16 20:15:50 237

原创 ISCTF2024

先审源码,纯js题这段代码实现了一个基本的用户认证系统,包括用户注册、登录、和受保护的页面(/index),所有这些功能都使用express和一些其他中间件来处理 HTTP 请求和 Cookie 管理。

2024-11-16 20:13:38 1090

原创 iscc2023

地址02:42:ac:18:00:02:,机器码提示给你了/machine_id。下载附件,得到一个excel表格,里面空白,但是可以改后缀.zip然后解压,看。得到acff8a1c-6825-4b9b-b8e1-8983ce1a8b94。得到pin252-749-991,输入给/console,得到flag。就是那句话首字母,加上玩游戏通关后有提示就是后面的字母。这狗玩意flag和密文一样c了,搞得我随波逐流搞好久。进入后发现是一个计算,写一个python脚本。最后扫码得到flag。

2024-11-15 01:16:36 676

原创 go语言进阶之并发模式

并发模式是指在程序设计中同时处理多个任务或进程的方式,以提高效率和响应性。

2024-11-12 21:14:28 2158

原创 羊城杯2020Easyphp

我们可以进行尝试绕过,只要绕过单引号就行,然后使用&字符进行同时执行。当然我们现在还不知道要传啥Cookie,我们到robots.txt里面看看。将木马传入2.php中配合蚁剑进行查看env得到flag。看到可以返回最后一个文件,所以我们可以注入一句话木马。尝试过后可以发现,题目绕过了read后面的编码。我们可以尝试双重urlencode进行绕过。发现Cookie要为GWHT,其实可以猜到。看到url,可以想到伪协议读取。同样,我们也可以伪协议进行读取。由我们的代码可以知道有绕过。然后我们可以看到搜索框,

2024-11-12 21:13:26 666

原创 Go语言进阶之Context控制并发

Context是Go语言中一个用于传递请求范围的上下文信息的标准库包,其主要用于处理并发操作中请求的生命周期的管理。

2024-11-11 19:59:04 412

原创 2024强网杯Proxy

这段代码就是创建一个自定义的http客户端,并设置重定向规则,如果请求不是绝对url,就阻止重定向。首先是定义了一段结构体,这段结构体定义了代理请求的格式,也就是说我们需要传入参数的格式与内容。这段代码主要作用就是处理响应的错误,以及读取响应体内容和返回状态码与头信息。创建v2路由组,并添加一个POST的请求/api/proxy路由。创建一个/v1路由组,并添加POST请求的api/flag路由。这个路由的作用就是执行readflag命令,得到flag。分析代码,这个代码使用的是gin框架,

2024-11-06 20:23:13 590

原创 go语言进阶之同步原语

在Go语言中,资源竞争指多个goroutine同时访问共享资源,导致程序的行为不可预测或者不一致。资源竞争通常发生在对同一变量进行读写操作时,如果没有正确的同步机制来控制访问可能会引发资源竞争!可以运行后看到发生了资源竞争,导致不为1000。

2024-11-05 21:07:21 3787

原创 go语言进阶之并发基础

什么是并发,也就是我们常说的多线程,多个程序同时执行。

2024-10-29 19:09:53 3994

原创 2024年NSSCTF秋季招新赛-WEB

The future Revenge这个题是一个cve,之前basectf的fin出了这个题CVE-2024-2961

2024-10-28 16:37:01 1959 1

原创 Litctf-web

取反绕过,自增应该也行试了下没过。${_}=""输出上一次执行结果。$_++也为1也可以应该。

2024-10-28 11:40:15 512

原创 narak

并且我们当前这个用户对这些文件可读可写,那么提权思路就有了,我们可以通过在这些sh脚本中写入一个修改root用户密码的命令,这样当我们通过ssh用户登录到inferno这个账号上的时候,我们这些motd的sh脚本就会被以root用户的权限执行,这时候我们写入的修改root用户密码的命令也会被执行,之后我们只需要切换到root用户即可完成提权。当我们通过ssh登录成功的时候,我们如果留意的话,我们会发现输出的那些欢迎信息和日期等等,如果这些输出以上信息的脚本是以root权限运行的。成功访问,成功连接。

2024-10-27 00:10:12 558

原创 Me-and-My-Girlfriend-1

找到了alice的笔记,意思是我喜欢这个公司,并且希望找到一个比bab好的伴侣。注册用户cat,观察url有url_id=,改为5,发现alice用户。看到my_secret进入目录。看到alice有可以执行php命令的root权限。find找到flag2。使用浏览器查看,使用xff伪造本地用户。sudo -l查看用户权限。使用php回调bash提权。所以发现130为目标靶机。将不可见的type删除。nmap扫描存活主机。然后向root进发。

2024-10-27 00:06:34 488

原创 lazysysadmin

看到worpress,这是个博客搭建框架,有完整流程看内容。看到old,一般有备份文件,可能有用户名和密码。查看配置文档wp-config.php内容。2 修改404页面,写入webshell。老流程,ifconfig->nmap。看到445端口,为用户的共享端口。看到名字togie,可能是用户名。3 访问404页面,反弹shell。更改内容为webshell,上传。打开博客/wordpress/Windows访问共享文件。看到数据库的用户名和密码。反弹shell,到kali。打开share共享文件。

2024-10-26 00:50:02 302

原创 Lampiao

进入/sites/default目录 cat /settings.php,其为配置文件。影响范围linux内核>=2.6.22(2007年)-》2016.10.18修复。进入/CHANGELOG.txt看到日志,和其版本号Drupal 7.54。看到有很多地址,比如robots.txt,去瞅瞅。火狐瞅瞅,1898端口,像一个人的blog。看到Required 为yes的就是必填项。扫到80,22,1898端口。脏牛(Dirty COW)ls看到已经传入文件了。老样子,nmap一套。

2024-10-26 00:48:40 135

原创 零基础学习python爬虫与小说爬取

然后就是python的编译器破解,这里我使用的是Pycham的专业版,社区版也可以。找到自己喜欢的一本小说,进入第一章内容,右键点击源码查看器观察html内容。然后我们可以使用requests库查看网站的html内容。然后,我们回到网页,点击下一章,观察url有什么不同。首先,我们先导入我们配置好的库,并找一个小说网站。可以看到这个就是我们查看的网站的html内容。然后使用xpath进行读取我们想要的内容。所以我们可以使用for循环来遍历小说内容。可以找到我们想下载下来的小说部分的内容。

2024-10-25 18:00:46 1608 1

原创 xpath爬虫

本来应该爬猪八戒网的,但是现在搞了个二次认证,不太好爬取。几行就没了,比re和bs4都快,但是可能没有re灵活。xpath是在XML文档中搜索内容的一门语言。蹭蹭blog(以得到同意,不要模仿)主要依靠lxml类中的etree。html是xml的一个子集。可以发现比bs4简单。

2024-10-25 16:18:19 349

原创 python-flask框架不出网反序列化解法(新版内存马)

当网页请求进入Flask时, 会实例化一个Request Context. 在Python中分出了两种上下文: 请求上下文(request context)、应用上下文(session context). 一个请求上下文中封装了请求的信息, 而上下文的结构是运用了一个Stack的栈结构, 也就是说它拥有一个栈所拥有的全部特性. request context实例化后会被push到栈_request_ctx_stack中, 基于此特性便可以通过获取栈顶元素的方法来获取当前的请求.()或.pop()替换.

2024-10-25 16:17:08 1134

原创 Go语言基础(Golong入门看这一篇就够了)

在Go语言中方法和函数是俩个概念。方法必须有一个接收者,这个接收者是一个类型,方法就会和这个类型绑定,称为这个类型的方法。type Age uint //定义一个新类型Age,也就是对uint重命名func (age Age) String() { //接收Age类型的参数,方法为String()age :=Age(55) //定义Age类型的age参数age.String() //调用String方法。

2024-10-24 00:35:51 4116 2

原创 PHP基础

tirm() 去除字符串左右两边的空格或特殊符号。ltrim() 去除字符串左边的空格或特殊符号。rtrim() 去除字符串右边的空格或特殊符号。

2024-10-23 16:39:11 833

原创 java反序列化基础

总的来说, 双亲委派就是按照从下到上的加载流程进行加载,如果有满足条件的类加载器进行加载了就不继续往上请求,相反如果类加载器无法加载就会向上进行委派,直到有可以加载的类加载器加载为止。而双亲委派也只是名字翻译问题,其实是单线程的委派。意义以及作用:让java具有动态性,用p神的话来说就是,将java这种静态的语言附上动态特性(一段代码,改变其中变量,将会导致这段代码产生功能性的变化。reflection:不知道初始化类的对象是什么,通过反射去获取类的信息,并且可以通过反射拿到所有方法,拿到方法可以调用。

2024-10-22 17:34:34 1029

原创 NSSRound#17 Basic web

一个登录界面看到页面名字Robots?转到robots.txt看到加密。

2024-10-22 17:31:08 284

空空如也

空空如也

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

TA关注的人

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