摘要: 据上次的xception已经过去半个月了(划水了半个月),上次的xcepion训练慢问题已经解决了,其实就是中间的imagesize没有控制好,这样都能训练也是十分的神奇,这次记录一下整了小半个月的yolov3模型,虽然还没整完但是主体框架已经好了 先看代码 最上面的是配置参数,元组内的是(kern 阅读全文
posted @ 2021-10-07 15:22 Haokunnnnnnnna 阅读(1298) 评论(0) 推荐(0) 编辑
摘要: 以上这张图是我嫖GitHub上别人的Xception模型在我的数据集上的运行结果,在第3个epoch已经达到了65.9%的正确率,平均一个epoch用时2分钟,吊打了我自己搭的Xxeption 而且从占用的gpu资源来看,也是吊打了我的网络,从上图看gpu利用十分平稳,而我的呈现狗牙状,原因应该是图 阅读全文
posted @ 2021-09-14 23:38 Haokunnnnnnnna 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 自己按照图纸搭建的网络,十分感人,5个epoch后正确率25%左右,每个epoch训练时长15-20分钟左右,训练目的为5种花的分类 不如之前的inceptionv3 ,10个epoch后达到50%正确率,并且一共训练10分钟左右 model.py import torch import torch 阅读全文
posted @ 2021-09-14 22:40 Haokunnnnnnnna 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 首先自己写了一个程序 就是两次read+put read存在栈溢出,但是只够溢出到返回地址,所以使用栈溢出 此题开启了canary,首先要泄露canary和rbp上的栈上的地址 canary最低位地址上的值本来为0,但puts读到0就会停止,所以将canary最低位字节值不置为0,就能输出到rbp 阅读全文
posted @ 2021-07-28 11:35 Haokunnnnnnnna 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目是网鼎杯的,找不到原题 通过之前所说的触发canary错误而触发check_stack_fail打印出arg[0]中的地址,此时将地址赋值为read的got表,然后通过LibcSearcher找到libc,通过libc找到environ。 environ的地址=libc_base+environ 阅读全文
posted @ 2021-07-26 11:01 Haokunnnnnnnna 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 原题找不到源码,这里就讲一下原理 条件:有栈溢出,最好是gets函数(栈溢出的空间比较大) 原理:当程序开启canary保护时若发生栈溢出则会调用canary_check_fail函数 void __attribute__ ((noreturn)) __stack_chk_fail (void){ 阅读全文
posted @ 2021-07-26 07:24 Haokunnnnnnnna 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 明显的栈溢出,没有后门函数,ropgadget看一下 看到没有rdi,rsi等 所以要用libc_csu_init这个函数,此函数在调用libc的程序中基本都有 用的就是5f0-628这一段的代码,上边的函数称为front,下面的函数称为behind 可以发现rdi,rsi,edx等64位下的传参寄 阅读全文
posted @ 2021-07-24 14:47 Haokunnnnnnnna 阅读(252) 评论(0) 推荐(0) 编辑
摘要: ida中看到一个输入一个输出,并且输出大于输入 网上找到一个新的办法——srop 简而言之就是调用sigreturn的时候会返回到Signal Frame,而这个东西是在用户的栈上的,然而返回signal frame时不会检测是不是自己之前的写的,所以只要通过栈溢出修改这个就可以控制程序流了 sig 阅读全文
posted @ 2021-04-28 19:36 Haokunnnnnnnna 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 直接上ida 可以看到一个read一个write,并且read大于write,明显的栈溢出,到这都没什么压力 这题难就难在一点后门都没有,libc也无,只能自己构造shell 首先通过read填充到retn后面的exit,改成mov ecx,esp的值 一开始的结构如上 由于esp+0x14,并且又 阅读全文
posted @ 2021-04-15 23:23 Haokunnnnnnnna 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 基本信息 ida: 明显的栈溢出,但是由于开启canary所以要先泄露canary 通过read函数覆盖到ebp-8,canary的最低字节为\x00,但是puts遇到\x00停止,所以覆盖为\n 然后通过LibcSearcher得到libc版本 这里由于while循环所以要返回一个main创一个新 阅读全文
posted @ 2021-04-13 15:23 Haokunnnnnnnna 阅读(112) 评论(0) 推荐(0) 编辑