12 2024 档案
2024第一届Solar杯应急响应挑战赛WP
摘要:对于一个只学了2个月的小白来说这种比赛难度还是太高了,还要沉淀一下QAQ 附件链接:https://pan.baidu.com/s/1MPFLliLcLeJCdhYLSp8oVw?pwd=ky34 所有附件解压密码均为:KzXGabLkDjs&j@3a&fAayNmD 1、内存取证-1 题目描述 题
第二届“长城杯”铁三赛小组WP(解题量少警告)
摘要:三、解题过程 1、Web安全 Safe_Proxy 操作内容: 网页源代码为Python from flask import Flask, request, render_template_string import socket import threading import html app =
PolarCTF-Pwn(困难)刷题WP
摘要:1、ret2libc 前期准备: int __fastcall main(int argc, const char **argv, const char **envp) { char s[112]; // [rsp+0h] [rbp-70h] BYREF setvbuf(stdin, 0LL, 2,
用IDEA编译jar文件
摘要:1、选择项目结构 2、改一下输出目录,再创建清单 3、这里最好不换目录,直接点确定 4、点文件夹按钮选择主类 把右边编译输出拖到左边,然后点确定 5、编译Artifacts 选构建即可输出
PolarCTF-Web 刷题WP
摘要:1、坦诚相见 比赛结束前最后十分钟想着抢个flag做的,但是怎么都没想出来,比赛结束之后有感而发写一下 方法1:绕过,用分号隔开每个指令,因为屏蔽了flag所以用通配符绕过 cd ..;cd ..;cd ..;sudo cat flg 方法2:ls cat no.php发现过滤内容 rm no.ph
NSSCTF Pwn刷题 WP
摘要:1、[SWPUCTF 2021 新生赛]nc签到 思路 提权 EXP /bin/sh cat flag 总结 nc的使用 2、[SWPUCTF 2021 新生赛]gift_pwn 思路 ida看存在栈溢出 ssize_t vuln() { _BYTE buf[16]; // [rsp+0h] [rb
2024PolarCTF冬季赛个人WP
摘要:1.Misc 1-1 Sign-in questions 本题思路如下: 对mp3文件进行binwalk提取获得一个rar文件 里面有key.txt和公众号二维码 获得flag 1-6 妖精纪元 本题思路如下: 解压发现一个加密的压缩包和一个docx文件 尝试对文档进行binwalk提取,获得2BF
PolarCTF-Misc 刷题WP
摘要:随缘更新~ 1、0和255 附件是python代码和输出内容 发现是图片转RGB值,于是转逆向的代码获得flag.png # -*- coding = utf-8 -*- # @software:PyCharm from PIL import Image image_list = ... # 获取图
PolarCTF-Pwn(中等)刷题WP
摘要:1、没人能拒绝猫猫 ida看主函数 int __fastcall main(int argc, const char **argv, const char **envp) { _BYTE buf[32]; // [rsp+0h] [rbp-50h] BYREF _QWORD s2[6]; // [r
PolarCTF-Pwn(简单)刷题WP
摘要:1、sandbox ida查看box函数,发现对输入的字符做了检查(sh、cat、flag) if ( strchr(buf, 's') || strchr(buf, 'h') || strstr(buf, "cat") || strstr(buf, "flag") || strchr(buf, '
了解checksec显示的各种参数和保护
摘要:Arch:内核(32位/64位) RELRO 在Linux系统安全领域数据可以写的存储区就会是攻击的目标,尤其是存储函数指针的区域。所以在安全防护的角度来说尽量减少可写的存储区域对安全会有极大的好处. GCC, GNU linker以及Glibc-dynamic linker一起配合实现了一种叫做r
贪心策略(未完结)
摘要:每次都试图解决问题的尽量大的一部分 如兑换硬币,先以最多数量的最大面值来迅速减少找零面值 首先确定基本结束条件(最直接的情况——其面值正好等于某种硬币) 减小问题的规模 递归算法: #!/user/bin/env python3 # -*- coding: utf-8 -*- def recMC(c
Python递归(未完结)
摘要:两个特点: 1、调用自身 2、结束条件 为什么func3打印321而func4打印123的原因(看套娃图理解,大框为func,小框为print)(3从外到内,4从内到外) 示例:汉诺塔问题 一共n个盘子,把上面的n-1个盘子看成一个整体 把n-1个盘子从A经过C移动到B 把第n个盘子从A移动到C(移
位运算(未完成)
摘要:1、如果n & (n-1)=0,则n为2的幂 2、 题1:找出唯一成对的数 1-1000这1000个数放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次。每个数组元素只能访问一次,设计一个算法,将它找出来;不用辅助存储空间,能否设计一个算法实现? 性质:AA=0,B0=B 当
动态规划(未完成)
摘要:https://www.bilibili.com/video/BV1XR4y1j7Lo?spm_id_from=333.788.videopod.sections&vd_source=2a065d0754c6c2db7ab56846a1452e9f 刷动态规划题目的大致流程: 1、设计状态(从最简单
Pwn-栈溢出
摘要:原理 基本的栈帧结构(以 x64 的栈为例) (图片摘自Hello-CTF) RBP 为栈底寄存器,RSP 为栈顶寄存器,分别记录了栈帧中记录数据部分的起始和终止地址。函数的临时变量的在内存中的位置都是通过这两个寄存器加减偏移确定的。 栈底分别还记录了上一个栈帧的 RBP 的值,以及函数的返回地址。
IDA的基本使用
摘要:1、shift+F12查找字符串,左边就是地址,双击就可以进入汇编界面 2、在程序框图界面按Tab进入伪代码界面,按空格进入汇编界面 3、按G跳转到地址 4、左边这玩意是可以拖的(www真不知道),拖动之后可以看到地址(Start)
使用服务器docker搭建Pwn题目
摘要:一、docker的安装 1、安装前先卸载操作系统默认安装的docker sudo apt-get remove docker docker-engine docker.io containerd runc 2、安装必要支持 sudo apt install apt-transport-https c
IDA+WSL2实现本地linux动态调试
摘要:1、首先在ida安装目录找到dbgsrv这个文件夹,打开后把“linux_server”这个文件拖到你的linux中(我放在/root位置) 2、然后赋予两个文件权限(linux-server和要调试的文件) chmod +x /root/linux_server chmod +x 你的待调试文件位
C++字符串函数
摘要:两种字符串定义(C++): 字符串变量 字符数组 定义 string str; char str[100]; 求长度 str.length();/str.size(); strlen(str); 输入字符串 getline(cin,str);可以读入一行字符串,可以包含空格,遇到回车结束/cin>>