CISCN刷题笔记分享

CISCN2023 烧烤摊 题目中很多中文直接跑程序看每个逻辑都是什么意思,然后看到这种计算money直接就想到负数、整数溢出,确实是这样的 然后就有个scanf("%s",buf),很明显的栈溢出,题目是静态链接,没有system函数,于是打ret2syscall 看题目中有sh,并且没有pie,想着execve("sh",0,0)结果发现不行,试了一下发现只有system函数才允许是sh,$

· 422浏览 · 2024-09-28 04:47
2024御网杯Pwn方向全部题解

pwn1 题目代码很简单,直接从rsp位置开始读,然后ret。同时题目中还有/bin/sh字符串 发现只可以控制rax寄存器的值,因此考虑srop。同时read返回值会存到rax中,甚至可以不用题目给的gadget,通过read返回值设置rax=15,进行srop from pwnlib.util.packing import u64 from pwnlib.util.packing i

· 445浏览 · 2024-09-27 12:03
2024御网杯WEB&MISC WP全解

WEB input_data 使用工具https://github.com/kost/dvcs-ripper ./rip-svn.pl -u http://101.200.58.4:10005/.svn 下载下来.svn目录 然后查看结构发现几个文件 cd进去目录,然后cat 文件名字即可看到 flag{5674938f-803d-4c41-8f84-a77f5164bb4f} Flag:

· 1328浏览 · 2024-09-27 02:10
crypto_格上误差问题

lwe_误差学习 lwe是格问题的一种,简单描述就是使用使用格基规约在已知矩阵、目标向量的情形下求出误差向量,并从而得到初始向量 从cvp问题的角度来看这个问题就是在由A的列向量构成的格空间里找B的最近向量 误差向量 误差来自一些导致式子出现了数据错误的操作,比如浮点数转化为整型的时候丢失了小数部分,这时候就产生了误差 误差向量则是对应的初始向量在矩阵中计算后经过上述操作之后导致所得到的向量和目标

· 547浏览 · 2024-09-26 16:45
2024 ByteCTF ezobj&OnlyBypassMe WriteUp

ByteCTF 2024 Web ezobj 源码: <?php ini_set("display_errors", "On"); include_once("config.php"); if (isset($_GET['so']) && isset($_GET['key'])) { if (is_numeric($_GET['so']) &

· 589浏览 · 2024-09-20 14:11
2024-Bytectf-bashgame分析

源码分析 首先拿到题目附件可以得知 package main import ( "ByteCTF/lib/cmd" "github.com/gin-gonic/gin") func main() { r := gin.Default() r.POST("/update", func(c *gin.Context) {

· 557浏览 · 2024-09-19 09:51
BYTECTF2024 web题解

BYTECTF2024 web题解 ezobj 源码 <?php ini_set("display_errors", "On"); include_once("config.php"); if (isset($_GET['so']) && isset($_GET['key'])) { if (is_numeric($_GET['so']) && $_

· 726浏览 · 2024-09-19 06:24
bytectf字节跳动 从ezheap分析force进阶打低版本io

例题分析 静态分析 add free 这明显不是一个free功能 而是一个加密解密的过程 show edit 输入多少字节就读入多少字节,这里明显存在一个堆溢出 思路 由于没有free函数 我们可以用house of orange 前期的思路去泄露libc地址,然后通过堆溢出改写top chunk为-1,把堆地址控到tcache头,然后污染,提取出hook函数的地址 并进行修改,改为og

· 506浏览 · 2024-09-19 02:56
2024 ByteCTF大师赛 Web方向 题解WriteUp(部分)

OnlyBypassMe 题目描述:OnlyBypassMe 开题 先扫一下后台吧 /swagger-ui/index.html /v3/api-docs /swagger-ui/index.html是一个管理api的UI界面,这边标题下面有一个登录接口文档/v3/api-docs/login(应该是扫出来第二个敏感路由的一部分) 用于更新用户头像有两个接口。updateAvatarV1版

· 1488浏览 · 2024-09-19 02:22
由Snake YAML反序列化漏洞引出的出网与不出网情况下C3P0链子的利用

前言 今天打了PolarCTF秋季个人挑战赛的一个压轴题:不出网情况下Snake YAML配合c3p0反序列化链Hex字节码加载利用,正好学习总结一下出网与不出网情况下gadget的利用 C3P0 则是其中一个开源的 JDBC 连接池,目前默认使用 C3P0 连接池的有 hibernate 框架。JDBC 是 Java DataBase Connectivity 的缩写,它是 Java 程序访问数

· 496浏览 · 2024-09-21 17:12
PolarCTF网络安全2024秋季个人挑战赛PWN方向详细题解

[TOC] find 直接的栈溢出,同时发现后门 exp from pwnlib.util.packing import u64 from pwnlib.util.packing import u32 from pwnlib.util.packing import u16 from pwnlib.util.packing import u8 from pwnlib.util.packing

· 948浏览 · 2024-09-21 12:30
pwn-ret2mprotect全解

1.前言 ret2mprotect是栈溢出的一项,当我们经过ret2text,ret2shellcode,re2libc后我们就有可以会遇到这样一个攻击手段,但是我发现网上大部分对这个并没有仔细的解释每一步的用法和意思,可以会让很多刚入门的人出现疑问,提出为什么,那么今天我就写一个我认为的全解吧,如果有不足或者错误希望有师傅可以提出来,大家一起交流学习。 mprotect函数原型 ret2mpr

· 462浏览 · 2024-09-21 11:25
DASCTF2024八月挑战赛Pwn方向复现

randArray 审计完发现没有什么漏洞,最后竟然是add时候存在整数溢出,0x800000000000000F*8=0x78,这种溢出还是很常见的,但是容易忽略 { void *result; // rax puts("How many?"); __isoc99_scanf("%llu", &size); getchar(); result = malloc(

· 589浏览 · 2024-09-18 10:09
CTFshow——2024西瓜杯复现及总结

前言 这是暑假的一场比赛,但是是一直没复现,最后还是了一个时间复现的,总的来说还是学到了很多新知识 锻炼 1.CodeInject 题目描述:热身题目,一血从速 用分号拼接命令即可 "");system('cat /000flag*' 即eval("var_dump("");system('ls');"); 2.tpdoor 题目描述:public目录不可写 下载官方源码: <?ph

· 1486浏览 · 2024-09-16 07:08
羊城杯Re方向题解

pic 有点不同的RC4. 多线程爆破五位字符。 #include <stdio.h> #include <string.h> #include <pthread.h> #define THREADNUM 8 #define CHAR_RANGE (127 - 32 + 1) / THREADNUM unsigned char png_head[8] = {

· 438浏览 · 2024-09-13 07:37