自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 orange_cat

另:其实不用add那么多次,一次直接改就行,只不过是边打边学的house of orange,刚开始没想明白,后来懒得删上面的了,因为会有些微的地址的差距,懒得再改了。将这个块free掉,修改它的fd指针为伪造的fast_chunk,然后用fastbin attack 打malloc_hook。创建一个0x60大小的块,从unsoterd bin中分割出来,再打印这个块,打印出对应的libc地址。top_chunk 的后三位+size(不包括符号位,符号位要为1),&FFF为0。

2024-05-20 21:31:08 200

原创 git的学习笔记

(1)git push -u origin master 将本地的master推送至远程的master分支,并且建立关联,关联后直接git push 就会默认选择master。​ 通常master(main)分支作为主分支,存放已经开发好的代码,在master的基础上创建其他特性分支,里面是创建中的代码。(2)-f 指令是强制覆盖,不要轻易使用,这里是由于原本的库里有README,与本地产生冲突,所以先强制覆盖了。(1)rm:只删除工作区的文件,如果需要删除版本库文件,还需要再追踪。

2024-04-29 12:34:30 843

原创 在虚拟机尝试一次用启动盘重装系统

从boot中选择相应的创建的硬盘即可(刚刚突然发现图片不能上传了,经过乱七八糟的尝试后,开一下代理传,然后再关掉,就没事了。其实在各种工具的帮助下,重装系统真的变的很简单了,不过没自己试过,这么尝试着玩玩,以后就敢真动手了🐶。(如果不想登录miscorft账户,把网络断掉就行,但是流氓的它居然不直接给登录的框!iscorft账户,把网络断掉就行,但是流氓的它居然不直接给不登录的框!5.分区,选择快速分区,先弄成1个分区吧(受不了c盘一点点的可怕之处了)9.完成,这就是win11嘛!选择用pe启动盘打开。

2024-04-07 22:22:20 401

原创 ch7面向对象程序设计

方法可以将一个对象变为可调用对象. – 这里的把对象当作函数使用,其他还是要用.来引用。方法能够提高用户与程序的交互友好程度。–重写可以返回类实例的值。而且类里的函数参数里必须有self,否则无法调用使用.另:类中的函数调用类中的函数,用self.来引用.静态方法可以在创建实例之前就用参数来调用执行。常用于程序调试,返回程序详细情况。类属性和实例属性都有命名空间!类方法是可以对类的参数进行修改。类的组成不包含变量部分。方法的对象都是迭代器。析构函数不会立刻释放~平时创建的是对象方法。

2024-04-01 22:54:36 243

原创 用Typora+picgo+cloudflare+Telegraph-image的免费,无需服务器,无限空间的图床搭建(避坑指南)

首先,是一个别人写的详细的配置流程,傻瓜式教程,一步一步的。前提:有github何cloudflare。(没有的话注册也很快)

2024-03-31 15:42:09 583

原创 NKCTF--pwn--Maimai查分器

怀疑可能远程的内部程序偏移不同,用-1到-8,+1到+8试,结果到+4的时候,欸?(后来发现是第二个payload里的4个A给输进去了,不知道为什么我本地不会这么输进去,远程却会()不过当时确实应该好好看看打印出来的东西,确实多了4个A)转换思路:栈溢出后自行用一个read,设置特别大的字节,由于想用orw嘛,就泄露了栈的地址,同时也可以作为这个read的地址。(不知道是不是修复了还是我的问题)没加是因为我本地之前正常不用+,然后本地调完忘了改,现在突然发现。好吧好吧,总算是做出来一个,没被零封()()

2024-03-25 19:53:12 318 1

原创 尝试一下unsorebin-attack

看着都说这个只能改大小没啥用,但是处于务实精神,还是要自己手动试一试的,找了一个存在堆溢出+uaf的来改着试试看看。

2024-03-14 22:32:43 357

原创 buu - babyheap(详细版)

补上这个释放的块,然后把4释放掉,再填入fake_fast_chunk的地址,把calloc_hook的地址覆盖为one_gadet。正在回顾以前学过的堆和学习新的堆,看到了wiki的overlapping这一块,突然发觉这不就跟之前学fastbin attack的时候的babyheap一样嘛。漏洞点:堆溢出+overlapping修改fastbin上的指针,实现双重指针指向一处,也就是达成uaf的效果。free和show部分就是正常的释放,指针置0以及正常的打印,就不多看了。然后把原本的块3的大小恢复。

2024-03-13 20:28:41 368

原创 堆溢出off-by-one (asis-ctf-2016 b00ks)

这个写着最大32,但是无妨,可以更大,需要注意的是,这里输入的size必须是十进制数。(以前做的题往往喜欢输入成0x20,0x30等等)(看了看以前做的题,都是用atoi转了,所以可以那么输入。author name 输入为32,也就是这里的a2=32,经历了32次++a1后,a1[32]=0,而这是第33位。不知道为什么泄露出来的book_2_name的地址(也就是那个0x7f的)与libc_base的基地址偏移每次不同。泄露出book1的0x30大小的指挥块位置(这里指向的是id)

2024-03-12 17:21:22 880

原创 2016 ZCTF note2--unlink

其中 i 是 unsigned 类型,lenth 为 int 类型,所以两者在 for 循环相比较的时候,lenth -1 的结果会被视为 unsigned 类型。unlink需要伪造堆块,保证fd->bk == p == bk->fd,同时,要保证下一个块的prev_size与伪造的堆块大小相符。长知识:chunk0伪造的块,中间有chunk1,释放chunk2,也可以与chunk0去合并。从管理的index_of_chunk来看,1被free掉后重新创建占据了3的位置。主要是为了复健,就不多描述了。

2024-02-29 22:42:00 389 1

原创 一道基础的uaf的两种食用方法double free

然后把它填上,free一个fastbin大小的块,修改fd指针为打hook的地址,创建两个块,第二个块就覆盖到打hook的地址那里了。以前看double free,总以为很难很难的样子,实际上动手调一调看看,也就是基本的uaf罢了。长度自定,可以堆溢出,但是这两种做法没有用到,以后考虑用它试着unlink啥的。先创建0x80的块,free掉,从unsorted bin 里打印泄露出libc。甚至不用改名字,出题人都给把名字叫好了(爱了爱了),这样子调试的时候很舒服。连接情况2->3->2。

2024-02-28 11:47:33 462 1

原创 pwndbg更新后pwntools炸掉了的解决方案

发现下载pwntools的时候给我更新了python,现在是python3.11了,换成python3.10试试。然后从这里找到了python,python3显示已经坏了的软连接文件,删除掉,重新创建。于是搜了搜怎么删除多余的版本,删掉了3.11,结果python的软连接直接炸了。由于高版本pwndbg可以自行补全符号表,所以去重新安装更新。结果安完了之后发现python3 的pwntools炸了?可是多加个3.10好烦的说。

2024-02-28 10:44:24 368

原创 buuctf-ciscn_2019_s_3(ret2csu)

为了直接利用到0x40058d的call [r12+rbx*8],所以把rbx置为0,[r12]会是我们要call调用的地方,也就是r12寄存器保存的地址指向的位置。(但是真的好晕好绕,本来搜着想看看别人的用这种做的简单方法,结果没有搜到有用这种做的,就分享一下。call执行之后,可以发现原本的下一步被压入栈中,需要把它pop掉才能正常执行我们想要的操作,这也是这里写入pop_rdi的原因。发现打csu的没有直接去利用call[r12+rbx*8],都是通过更改判定,二次执行后半段,再ret到需要的地址。

2024-02-26 18:01:16 340

原创 ctfshow元旦水友赛-badboy

6个字节足够泄露一个完整的地址,而三个字节不可以,由于需要将buf地址改为put_got的地址,所以一定要知道栈的地址,而3个字节已经足够libc的偏移地址。另:如果用远程打可以试着泄露下面的__libc_start_main,本地打通了,懒得再去打远程了。(至于为什么又加了一个,因为手动vmmap看libc载入地址的时候看错地方了,第一个才是载入地址,这里看成了第二个,所以多减了一次。地址分别相差0x18(24)和0x38(56),fd8-eb0=0x128(296)好久没打了,有人提到了,就看一看。

2024-02-25 20:06:34 381

原创 栈上orw关于使用libc以及mprotect+shellcode的用法

有什么疑问的可以直接提出。

2024-01-11 12:01:10 404

原创 网络渗透测试ppt总结

网络渗透测试-ppt总结ch1网络安全渗透测试概述渗透测试执行标准道德黑客(ethical hacking)ch2kali linux2使用基础常用操作常用的file命令常用的网络相关命令进程控制、服务管理shell脚本ch3被动扫描被动扫描的范围收集的信息以及作用DNS信息搜集ch4主动扫描主机发现操作系统栈指纹服务扫描ch5漏洞扫描ch6远程控制正向连接反向连接远程连接服务网络嗅探&身份认证基于密码身份认证sam hackkon-bootarp欺骗z1-tcp/ip协议概述和初识常见windows执行。

2023-12-30 22:11:35 883 1

原创 漏洞渗透测试

首先用nmap扫描局域网,发现了开启ms-wbt-server服务的靶机以及开放的端口。运行后,在windows靶机下执行被控程序shell.exe。注:以上操作仅限学习使用,环境均为自行搭建的靶机。用nmap-sv获取它的服务详细版本信息。选择一个python脚本去执行。查询目录并且下载其中的一个文件。利用msf进行主控端的操作。针对服务进行利用的扫描。

2023-12-18 15:23:20 412 1

原创 网络渗透测试NO.4

网络渗透测试NO.4http 自行转换为https的原因guet.edu.cn会跳转到https://www.guet.edu.cn然后确定了大致的iphttp看到302重定向,重定向的位置是https://www.guet.edu.cn,由此可知,是由http重定向到了https。关于302重定向:一般是服务器对请求的资源进行了临时性的移动或者重定向,可能是由于对应的url发生了变化。这里的服务器讲http的请求定向到了https。关于http与https的区别:HTTPS

2023-12-07 20:02:30 63

原创 (第三章、第二章)数据结构总复习+错题+一些不清楚的点。

创建空顺序表、输入数据、(判空判满不单独写函数了)、插入某个位置前、插入某个位置后、查找元素某个元素的位置、删除某个位置元素、删除某个元素以及之后的连续几个元素、删除表中所有值为x的元素、删除某个位置到某个位置的元素。(这里的位置我按照从1开始)创建空顺序表、输入数据、(判空判满不单独写函数了)、插入某个元素前、插入某个元素后、删除某个位置元素、删除某个元素以及之后的连续几个元素、删除表中所有值为x的元素、删除某个位置到某个位置的元素。(这里的位置我按照从1开始)注意:这里出现过错误,经调试才发现。

2023-11-28 22:15:21 43 1

原创 (第五章、第四章)数据结构总复习+错题+一些不清楚的点。

(这个给了排好的有序序列才能画)画二分查找判定树:手画的时候,就是一直找mid,第一个mid是根节点,左侧不包含根节点再找一个mid是左子树,右侧不包含根节点再找一个mid是右子树。(1)加线:对于每一个左孩子结点,将它的父节点与与它的右孩子的结点,右孩子的右孩子的结点,直到不能再右为止,相连。注意:画的时候要充分进行比较,一定要确保两个结点时序列当前的最小的两个结点,不一定非得是新结点和序列中结点的结合。(2)去线:只保留最左孩子的结点,其余孩子的结点的连线都去掉。注意这里与二叉排序树不一样,不一样!

2023-11-27 16:46:11 51 2

原创 (第七章,第六章,)数据结构总复习+错题+一些不清楚的点。

先把所有的点点上,从一个点开始,逐点进行最短路径的连接,注:需回头让所有加入最小生成树的结点与未加入的结点进行比较来找最短的路径。先把所有的点点上,(在草纸上按照权值排序,从小到大,要求每次连最小的,且不能加入最小生成树,不能产生回路)详情去复习例题7-2,画散列表,写平均查找长度(ASL),注意成功与失败所除以的数.要看准每个结点被谁指向(也就被谁限制,必须把限制的走了才能走后续的)手画的话只需要把没有前驱结点的一点点加入就行。结语:😢😢不想复习,复习的好慢。结语:😢😢不想复习,复习的好慢。

2023-11-27 12:04:56 34

原创 (第八章+第一章)数据结构总复习+错题+一些不清楚的点。

设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列( 堆排序 )方法可以达到此目的。本质就是对于每一个位置,都从它以及它之后的序列中找最小,然后单独交换这两个,避免了不断的移动数组,但是本身需要移动很多次。只有堆排序每次最快选出来一个最小的一个,其他都不可以一趟出一个最小,只有堆排序是一次又一次的最小。也就是每一次都没有任何元素动,n-1次定下了n-1个元素的位置,最后一个就不用动了。不过是不是按照每个组的顺序来的,是第一组的第二个、第二组的第二个。

2023-11-27 12:04:13 46

原创 网络渗透测试作业No.3

可以搜索到各种电子设备,只要是连接互联网的设备,都可以被搜索到。利用ZoomEye进行相关搜索,截图,发布到自己的Blog。:可以及进行ip查询、域名查询、证书查询等。:奇安信开发的搜索引擎,主要也是针对资产搜索。与ZoomEye功能类似的搜索引擎还有哪些?钟馗之眼搜索引擎偏向web应用层面的搜索。FoFa搜索引擎偏向资产搜索。

2023-11-14 12:24:14 71 1

原创 网络渗透测试作业No.2

另:inet表示ipv4寻址,inet6表示ipv6寻址,这是两种不同的协议,每个协议都会为其给定的地址空间提供一个路由表,相互协作以提供地址空间之间的路由。​ 连接学校wifi,不会显示自己的ip,连接手机的共享时,会显示自己的ip。证明校园网对用户ip进行一些保护的措施。物理机连接Guet-WiFi,Kali中查看网络配置并截图,能获得IP地址吗?物理机连接手机热点,Kali中查看网络配置并截图,能获得IP地址吗?明校园网对用户ip进行一些保护的措施。3、对于1、2的结果,进行总结分析。

2023-11-12 17:50:09 52 1

原创 GuestBooK--pwn

然后需要利用strcpy输入两次,第一次把最后一位不对的canary以及后门函数地址输入进去,第二次把canary最后一位改为‘00’先利用read与puts,填充掉canary的最后一位,把canary打印出来,用这种不一样的字符方便接收和检验。当时没做出来,忘记了这种基础的泄露canary的方式了。

2023-11-02 19:04:19 63 1

原创 NewStatCTF--week3-pwn srop

至于为什么要给rsp设置一个可读的地址,看下图,需要将地址为rsp+8位置存的数据赋给r9,如果不可读的话,就会访问错误。然后输入就相当于在bss里输入了,但为什么不用额外找leave ret呢。也就刚好是pop_rdi,然后进行srop打execve。存在syscall函数,没有适当的可以改rdx的。–因为main函数最后又有一次leave ret。主函数只有一个输出,一个输入,存在栈溢出。所以用srop(而且题目就叫srop)先改了rbp,然后跳转到主函数的这里。跳转回到了bss_addr+8的位置。

2023-10-31 23:19:10 56 3

原创 New-Star-Week 3-pwn stack migration revenge

这里稍微解释一下吧:bss+0x100是上一次打入rbp的地址,输入地址是rbp-0x50,由于我在脚本中叫“main”的函数的最后有个leave ,所以会跳转到bss+0x100,这里刚好被写入了我输入的倒数第二个数据,使得rbp这里还有一个伪装的rbp,leave完毕后rbp变成我写的这个bss_addr+0x100-0x50,然后ret到leave_ret,将rsp挪到假rbp位置,然后pop rbp,由于rbp我不用再管了,干脆给了个0,然后继续往下执行system。直接跳转到这里,不要让你。

2023-10-31 17:01:55 59 1

原创 NEWSTAR 的栈迁移

最后看了官方WP,发现栈迁移一次就行了,libc是可以被带出来的。(不过也就当复健了一下两次的栈迁移。总之,就是栈迁移啊栈迁移,还得迁移两次,还得用ret2libc。只开了NX,题目里给了栈的地址。

2023-10-25 21:22:01 53 1

原创 secert number--NEWCTF

伪随机数时间戳以及格式化字符串。

2023-10-25 21:03:51 132 1

原创 小数对整数求模的计算--信安数学基础

由于没有讲过,书上也没有翻到,就记录一下。

2023-10-25 11:42:35 86 1

原创 2023羊城杯--pwn-heap复现

​ 可以看到,配合new(0x62)或(0x68)以后,delete(这里仅仅是为了达成能够往下修改的效果),然后连续创建两个(0x58),可以覆盖0x60,然后刚好达到第二堆块的index_chunk区域,从而修改指针。另外:这里被free掉的堆块也不会被再次使用,能够正确覆写的原因就是这个堆管理的表(也就是用了第一个堆来存储用到的堆的数据域的地址)可能发现用它的过程:从strtok的调用中,si进入发现got表跳转的第一个函数是它,然后用libc找到相应的位置,进行更改。

2023-09-26 11:38:09 247 3

原创 buuctf -picoctf_2018_rop chain

很明显,已经将flag打开并输入到了s里,而想要输出就需要让win1==1、win2==1,以及a1=0xdeadbaad。显然a1是可以由我们自行传入的参数(即a1可控)如此来看,逻辑就很清晰了,从vuln栈溢出跳转到win1,返回到vuln,跳转到win2并携带参数a1,返回到vuln,跳转到flag函数并携带参数a1(这个与上一个不同)win2这里也有一些要求,即要求win1==1、a1=0xbaaaaaad,这样可以使得win2置1.看flag函数的逻辑顺序。简单明了,win1=1。

2023-09-16 21:32:14 99 1

原创 IDA用linuxdebugger远程调试elf出现远程积极拒绝

小学期的小比赛做逆向时,发现IDA连linux连不了,然后搜百度解决方案,也没解决。然后看到说必须windows 去ping虚拟机的时候可以Ping通,结果我发现自己ping不通,然后突然想起之前虚拟机断网,给虚拟机用的是共享网络,就尝试把共享关了,结果就没事了。就是这个东西,不要让它跟自己的WLAN共享网络(但是当时断网确实是靠共享来解决的,就很迷)现在虚拟机网络也没事,不知道当时为啥断了。

2023-07-10 15:05:05 230 1

原创 orw--libc

栈上的orw,十分易学,适合刚刚接触orw的小伙伴·

2023-07-08 14:00:55 245 1

空空如也

空空如也

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

TA关注的人

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