自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 长城杯2021 pwn

长城杯20211.K1ng_in_h3Ap_I2.K1ng_in_h3Ap_II菜鸡第一次在国内比赛做出两道题,害,长城杯比第五空间温柔多了,第五空间一道rop,之后就直接vm,musl都没学过,还有个c++逆向8出来。打完国赛(写了一道简单堆题,orw调一晚上没出来,服了)之后划水时间太长了,8月下旬才开始继续学堆,争取10月底前把vm,musl,mips,arm这种其他架构(不知道算不算)的pwn学习一下。1.K1ng_in_h3Ap_I题目给了3个字节libc地址,操作性还是挺强的,借用残留指针

2021-09-20 09:58:11 830

原创 津门杯pwn

目录hello嘿嘿,单独发纪念一下,首次在国内比赛做出一道pwn题(23/59)hello#!/usr/bin/env python2# coding=utf-8from pwn import *arch = "amd64"filename = "hello"context(os="linux", arch=arch, log_level="debug")content = 0offset = 0# elfelf = ELF(filename)free_got=elf.got

2021-05-13 23:49:49 350

原创 pwn 堆入门之tcache

目录ciscn_final_3ciscn_2019_es_1ciscn_final_3#!/usr/bin/env python3# coding=utf-8from pwn import *arch = "amd64"filename = "ciscn_final_3"context(os="linux", arch=arch, log_level="debug")content = 0offset = 0# elfelf = ELF(filename)# libcl

2021-05-13 23:40:38 541

原创 BUU刷题 normal_heap

目录babyheap_0ctf_2017babyfengshui_33c3_2016babyheap_0ctf_2017#!/usr/bin/env python2# coding=utf-8from pwn import *arch = "amd64"filename = "babyheap_0ctf_2017"context(os="linux", arch=arch, log_level="debug")content = 0offset = 0# elfelf = ELF

2021-05-13 23:35:55 201

原创 BUU刷题 easy_heap

目录easyheapmagicheapciscn_2019_n_3easyheap#!/usr/bin/env python2# coding=utf-8from pwn import *arch = "amd64"filename = "easyheap"context(os="linux", arch=arch, log_level="debug")content = 1offset = 0# elfelf = ELF(filename)fake_heap_addr=0x6

2021-05-13 23:31:46 231

原创 BUU刷题 stack之调试

目录ciscn_2019_es_2ez_pz_hackover_2016spwnciscn_2019_es_2#!/usr/bin/env python2# coding=utf-8from pwn import *arch = "i386"filename = "ciscn_2019_es_2"context(os="linux", arch=arch, log_level="debug")content = 1offset = 0# elfelf = ELF(filename

2021-05-13 23:20:47 188

原创 pwn 栈迁移之伪造栈帧

目录ciscn_2019_es_2spwnciscn_2019_es_2#!/usr/bin/env python2# coding=utf-8from pwn import *arch = "i386"filename = "ciscn_2019_es_2"context(os="linux", arch=arch, log_level="debug")content = 1offset = 0# elfelf = ELF(filename)leave_ret=0x08048

2021-05-02 00:29:37 186

原创 redpwnctf 2020 pwn

目录coffer-overflow-0dead-canarycoffer-overflow-0第三道直接溢出返回到system("/bin/sh")就行了前两道都是覆盖一个变量,或者和第三道一样,直接返回也可以#!/usr/bin/env python2# coding=utf-8from pwn import *arch = "amd64"filename = "coffer-overflow-0"context(os="linux", arch=arch, log_level="d

2021-04-27 18:09:45 203

原创 HEROCTF WPICTF 2021 pwn签到

目录$m4 $hWinButTwisted$m4 $h#!/usr/bin/env python2from pwn import *arch = "amd64"filename = ""context(os="linux", arch=arch, log_level="debug")content = 1# elf#elf = ELF(filename)# libcdef main(): global io if content == 0: io =

2021-04-24 17:07:43 375

原创 CTFShow-36D 2020 pwn

目录pwn0PWN_MagicStringpwn0#!/usr/bin/env python2from pwn import *arch = "amd64"filename = "pwn0"context(os="linux", arch=arch, log_level="debug")content = 0offset = 0# elfelf = ELF(filename)pop_rdi_addr=0x00000000004006d3sys_addr=0x0000000000

2021-04-24 17:02:17 369

原创 hgame week1 2021 pwn

目录onceletteronce写这个题的时候发现了一个工具,可以修改题目加载的libc.so和ld.so文件patchelf注释掉的是本地环境下的情况#!/usr/bin/env python2#env1=ubuntu 16.04 native#env2=ld-2.27.so libc.2.27from pwn import *arch = "amd64"filename = "once"context(os="linux", arch=arch, log_level="d

2021-04-23 19:00:13 329

原创 ACTF 2020 pwn

目录fmt32shellcode太菜了,只会写模板题fmt32格式化字符串模板题#!/usr/bin/env python2from pwn import *arch = "i386"filename = "fmt32"context(os="linux", arch=arch, log_level="debug")content = 0offset = 0# elfelf = ELF(filename)a1_addr=0x0804A070a2_addr=0x0804A06

2021-04-23 18:10:54 242 1

原创 WPICTF 2020 pwn

目录dorsia1dorsia3dorsia4dorsia1#!/usr/bin/env python2from pwn import *arch = "amd64"filename = "dorsia1"context(os="linux", arch=arch, log_level="debug")content = 0offset = 0x4d# elf#elf = ELF(filename)# libclibc=ELF("/lib/x86_64-linux-gnu/

2021-04-22 17:15:55 112

原创 pwn 堆入门之off by one

目录Asis CTF 2016 b00ksAsis CTF 2016 b00ks#!/usr/bin/env python2from pwn import *arch = "amd64"filename = "b00ks"context(os="linux", arch=arch, log_level="debug")content = 0offset = 0# elfelf = ELF(filename)menu_addr=0x0000000000000A89free_got

2021-04-18 17:18:50 242

原创 pwn 堆入门之unlink

目录stkofstkof#!/usr/bin/env python2from pwn import *arch = "amd64"filename = "stkof"context(os="linux", arch=arch, log_level="debug")content = 0#elfelf = ELF(filename)fgets_addr=0x0000000000400D16fill_addr=0x00000000004009E8free_got=elf.got['

2021-04-11 12:32:17 220

原创 pwn 堆入门之use after free

目录hacknotehacknote#!/usr/bin/env python2from pwn import *arch = "i386"filename = "hacknote"context(os="linux", arch=arch, log_level="debug")content = 0offset = 0# elfelf = ELF(filename)# libcdef add(i,size,content): io.sendline('1')

2021-04-11 12:27:33 188

原创 pwn srop

目录ciscn_s_3smallestciscn_s_3#!/usr/bin/env python2from pwn import*context(os="linux",arch="amd64",log_level="debug")content=0vuln_addr=0x00000000004004EDsyscall_addr=0x0000000000400517sig_addr=0x00000000004004DAdef b(addr): bk="b*"+str(addr)

2021-04-03 23:15:26 191

原创 pwn libc之Dynelf工具

目录pwn-100pwn-200welpwnDynelf工具可以根据泄露出的地址找到相应libc版本的其他函数地址,但缺点时不能查找字符串也就是"/bin/sh"的地址,所以找到system函数后,往往还需要找到一个可写的地方用read函数读取"/bin/sh"pwn-100#!/usr/bin/env python3from pwn import *context(os="linux", arch="amd64", log_level="debug")contentt = 1#elfe

2021-04-02 20:50:50 535

原创 pwn 堆入门之fastbin attack

目录floworeob站原本有一个对堆基础讲的挺好的,好像叫pwn术进阶的堆溢出,但刚刚去看已经没了,好家伙,还好我刚看完,哈哈哈。flow涅普计划-ctf入门课堆溢出#!/usr/bin/env python2from pwn import *context(os="linux", arch="amd64", log_level="debug")#libclibc=ELF("libc.so.6")malloc_libc=libc.symbols['__malloc_hook']m

2021-04-02 20:36:46 327

原创 Jarvis OJ pwn刷题

目录level1level3level3_x64smasheslevel1#!/usr/bin/env python3from pwn import *context(os="linux", arch="i386", log_level="debug")content = 1def main(): if content == 0: io = process("./level1.80eacdcd51aca92af7749d96efad7fb5") else:

2021-03-26 17:30:51 252

原创 buu pwn刷题(2)

目录get_started_3dsctf_2016not_the_same_3dsctf_2016ciscn_2019_n_8bjdctf_2020_babystackone_gadgetbaby_roplevel2_x64ciscn_2019_n_52018_ropget_started_3dsctf_2016#!/usr/bin/env python3from pwn import*context(os="linux",arch="i386",log_level="debug")content

2021-03-16 18:52:15 168

原创 pwn 格式化字符串漏洞

7.cgpwn2file checksecida32

2021-03-10 18:37:14 516

原创 pwn 整型溢出

目录int_overflow 攻防世界r2t3 BUUoverflowint_overflow 攻防世界file checksecida32,进入login输入一个用户名,再输入一个passwd,都无法直接栈溢出,进入check_passwd发现v3是输入passwd的长度,v3是unsigned __int8类型范围是0~255如果s的长度超过255,会变为(对s长度取模运算)得到的值。而s的长度不能大于0x199(409),取模后 v3>3&&v3<=

2021-03-09 16:11:59 473 2

原创 pwn ret2libc

目录1.攻防世界 level32.buu babyrop3.buu ciscn_2019_c_11.攻防世界 level3把文件放到kali里面发现是一个压缩包(放入exeinfo里面也可以发现是压缩包),解压缩得到level3和libc.so文件file checksecida32进入漏洞函数vunl(),发现有栈溢出漏洞没有system函数和/bin/sh题目提示了用libc。libc.so是一个函数库(类似于C语言#include<iostream>的iostrea

2021-02-04 23:24:43 496

原创 CTFhub pwn

这里写目录标题1.ret2text2.ret2shellcode1.ret2textfile checksecida64gets函数有栈溢出漏洞,题目为ret2text即返回到text段得到shellshift+f12打开字符串窗口,找到/bin/sh点进去,选中/bin/sh,右键,交叉引用列表(可以找到使用/bin/sh的地方)看到把/bin/sh放入rdi后,调用了systemx64,64位系统中rdi,rsi,rdx,rcx,r8,r9作为调用函数的前6个参数,如果参数多于6

2021-02-04 17:55:05 1346 3

原创 攻防世界 pwn

目录1.get_shell2.when_did_you_born3.hello_pwn4.level05.level26.cgpwn21.get_shellnc连接题连接后ls | cat flag2.when_did_you_bornfile checksec有canary保护,不能栈溢出ida64先输入v5,v5不能等于1926。再输入v4,注意有gets函数,不限制输入,但无法溢出,点进去v4,v5发现var_18是v5,var_20是v4,那么可以输入v4时将v5的值覆盖为19

2021-02-02 14:48:15 688

原创 NameError: name ‘process‘(context) is not defined解决方法

python中不能用关键字作为名字,否则会引用错误eg:在做pwn题时,需要用from pwn import*,所以不要用pwn为文件名,否则会报错参考链接:pwntools报错“NameError: name ‘process’ is not defined”命名py脚本时,不要与python预留字,模块名等相同。...

2021-02-02 08:46:07 2112

原创 TypeError: ljust() argument 2 must be a byte string of length 1, not str

ljust(num,char)num:填充后的总长度char:字符或长度为一的字符串注意在新版本python中可能需要用 b'char' 发送字节流数据

2021-02-02 08:46:00 3595 1

原创 buuctf pwn刷题(1)

目录1.test_your_nc2.pwn13.warmup_csaw_20161.test_your_nc先用exeinfo查壳,是64位的程序用64位ida静态分析一下,找到main函数F5反汇编,看到system("/bin/sh")system()的作用———执行shell命令也就是向dos发送一条指令。即执行/bin/sh命令,获得shell权限用虚拟机连node3.buuoj.cn:27191nc node3.buuoj.cn 27191查看文件目录ls查看flag

2021-01-30 17:38:02 1185 1

原创 寒假第一周学习总结

目录计算机语言python汇编语言debug的基础指令汇编程序exe的形成CTFACM计算机语言python字典 (内部由‘键’和‘值’组成,可包含列表)字典.keys(),.values()函数来遍历字典集合与字典都用花括号{ }定义,但集合没有‘值’while循环—> while 某一条件:了解了一些爬虫知识汇编语言这周主要学了汇编的前五章计算机中用二进制来表示指令和数据,指令和数据本质上无任何区别CPU要进行数据读写需要3种信息(地址信息,控制信息,数据信息

2021-01-21 22:46:27 498

原创 信息学奥赛一本通 递推算法

目录昆虫繁殖位数问题过河卒斐波那契数列(2)Pell数列上台阶昆虫繁殖法一#include<iostream>#include<cstring>#include<cstdio>using namespace std;int main(){ long long a[100]={0},x=0,y=0,z=0; cin>>x>>y>>z; for(int i=0;i<x+2;i++) { if(i<x)

2020-12-15 18:03:08 402

原创 信息学奥赛一本通 排序算法

目录选择排序冒泡排序三级目录选择排序#include<iostream>using namespace std;int main(){ int a[100001]; int x,i=0; while(cin>>x&&x!=0) { a[i]=x; i++; } for(int j=0;j<i;j++) { int min=a[j],sy=j; for(int k=j+1;k<i;k++) if(min>a

2020-12-11 21:51:55 935

原创 信安实验室 第二周 学习总结

目录计算机语言方面c++python汇编语言ctf 二进制reverse计算机语言方面c++做了几道题,写了高精度乘法的两种形式(存储数组每位存10以内数字和每位存1000以内数字,后一种有好多细节要处理),了解了sort函数排序结构体的方法,定义一个cmp函数作为sort函数的第三个参数。python了解了 列表 的使用方法及相关函数的应用.append(所添加值).insert(位置,所添加值).pop(可为空也可为位置)del list[位置].sort(空为从小到大或revers

2020-12-05 18:32:55 171

原创 攻防世界 reverse 新手题wp (第二周)

目录re1思路game思路Hello, CTF思路re1题目描述:菜鸡开始学习逆向工程,首先是最简单的题目思路拖入ida,转伪代码int __cdecl main(int argc, const char **argv, const char **envp){ int v3; // eax __int128 v5; // [esp+0h] [ebp-44h] __int64 v6; // [esp+10h] [ebp-34h] int v7; // [esp+18h] [ebp-

2020-12-01 12:02:53 1306

原创 vjudge 河大acm练习 新生选拔赛

目录前言A - 闫老板的爱情故事题目描述代码实现B - 龙老板的爱情故事题目描述代码实现C - 王老板的幼儿园题目描述代码实现(wr了,还不知道哪错了)(11/15)D - 李老板的LJQ函数题目描述代码实现E - 常老板的QS公司题目描述代码实现F - 龙老板的工具小人题目描述代码实现G - 铭铭的龙龙的大西瓜题目描述代码实现H - 李老板给女朋友的礼物题目描述代码实现I - 闫老板看女朋友题目描述代码实现J - 常老板的疑问题目描述代码实现前言题目链接因为2-5点比赛,但2点半有周会,(偷偷写的)

2020-11-29 19:38:25 1052 1

原创 信安实验室 第一周 学习总结

目录计算机语言方面c++vectorpython汇编语言ctf 二进制reverse计算机语言方面c++高中学过一段时间,有一点儿基础,在leetcode上做了几道题,基本上都是暴力循环解决,还有写了高精度加减法,复习一下。vector不定长度的数组,可以一直加元素,和字符串中的string感觉差不多。vector.size()可以计算元素个数string.length()可以计算字符的个数注意:sizeof()函数是计算内存数并非计算元素个数可以用 .size() 或者用 (size

2020-11-28 17:38:22 157

原创 攻防世界 reverse 新手题wp (第一周)

目录open-source思路insanity思路python-trade思路open-source题目描述:菜鸡学逆向学得头皮发麻,终于它拿到了一段源代码直接给了一段源代码,读懂源码即可思路#include <stdio.h>#include <string.h>int main(int argc, char *argv[]) { //代码中有四个if语句,每个if语句中的条件都必须不成立才能得到key if (argc != 4) {

2020-11-24 21:32:24 411 2

原创 leetcode 简单难度 罗马数字转整数

目录题目思路代码实现题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I -------1V ------5X -----10L ------50C -----100D -----500M ----1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 X

2020-11-22 17:24:02 61

原创 leetcode 简单难度 有效的括号

目录题目思路代码实现过程中出现的问题题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)]”输出: false示例 5:输入: “{[]}”输出:

2020-11-22 17:21:11 70

原创 信息学奥赛一本通 高精度计算

高精度加法#include<iostream>#include<string>using namespace std;int maxlen=0;void init(int a[]){ string s; int slen; cin>>s; if(s.length()>maxlen) { maxlen=s.length(); } slen=s.length(); for(int i=1;i<=slen;i++) { a[i

2020-11-22 12:49:18 264

空空如也

空空如也

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

TA关注的人

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