自定义博客皮肤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)
  • 收藏
  • 关注

原创 AT&T指令和intel指令区别 | 汇编指令中某些指令的逻辑

AT&T指令是左向右,intel指令是右向左Intel:指令 目标, 源AT&T:指令 源, 目标同时,intel指令变量直接是变量,at&t指令前面会带着%号Intel:使用名称,如 eax、ebx 等。AT&T:使用 % 前缀,如 %eax、%ebx 等。

2023-08-23 12:48:21 253

原创 【堆知识总结 | bins结构】fastbins attack:babyheap_0ctf_2017

在堆漏洞这里面已经研究了差不多半个月了,虽然都还是很基础的知识,但是也差不多改收尾去看看别的部分的知识了,遇到不会的堆的题目(大概率会有)再来写堆题目的wp吧想要或多或少总结一下堆chunk里面的一些漏洞,但我做的题也不多,所以能够写的也只有我理解的小小的一部分,并且有点想一出是一出。如果有看我博客的师傅的话请原谅一下哈哈哈。

2023-08-20 00:03:08 210

原创 python中warning警告的忽略方法

【代码】python中warning警告的忽略方法。

2023-08-15 10:55:21 283

原创 【pwn | 堆知识】关于unlink的体会 [ZJCTF EasyHeap]

当进行unlink的时候,正如同它的名字,它是会被从这个链表中取出来的(unlink也就是取消自己的link状态了)主要的思路就是通过创建3个chunk,将第一个chunk通过edit函数来修改chunk内容和下一个chunk的头部,变成一个伪造的空闲chunk,然后free第2个chunk,这会导致第一个chunk被unlink。在我看来,unlink的原理是,当你free了一个chunk的时候,如果你的物理相邻的chunk如果是空闲状态,那么这个空闲的chunk就会被合并,形成一个更大的chunk。

2023-08-15 09:51:20 249

原创 【堆知识】chunk结构和堆相关的pwn学习(2014 hack.lu oreo)

堆的结构来说还是有着一定的学习难度的,所以写此作为记录。

2023-08-14 01:26:11 206

原创 【ret2dlresolve】学习和体会

我们用reloc_offset找到.rel.plt中的对应结构体,再通过rel_info在.dynsym中找到第[rel_info >>8]个结构体,最后通过st_name在.dynstr中找到第st_name个参数,这个参数是个字符串,表示的就是我们要的函数的名字。这里我画个图,手画的比较粗糙,来解释一下_dl_runtime_resolve(link_map,reloc_offset)函数。PLT[0]的保存的指针指向_dl_runtime_resolve的第一个参数:link_map。

2023-08-07 14:17:54 58

原创 [Asis CTF 2016] b00ks

这道题主要是用到了Off-By-One漏洞,还有利用mmap成立的堆与libc基址间距相等的原理。

2023-08-01 15:55:04 181

原创 [OGeek2019]babyrop

后面的内容就是和ret2libc是一样的思路了,不过这次我学乖了,我还是使用了Libcsearcher,在线网站虽然也可以,但是还是太折磨人了,至少在工作量方面Libcsearcher是真的好用。知道了这点以后,我们也只是知道了第一个输入的是\x00,并且我们的buf[7],也就是第8个字符会返回,然后其会进入第二个函数,接着看第2个函数。这可能是我做这几天题目中的一个最经典的小Trick(上一个博客那个强行覆盖got表中的字符串的思路简直是个大trick,思路对我来说惊为天人)然后进入ida pro。

2023-07-24 01:40:43 182

原创 【Pwn】get_started_3dsctf_2016

这是一个有点难度的题目,反正我是后面去看师傅们的wp了。。。这个题目听大家讲本地的和远程的exp居然还是有差别的首先拿到文件,开始老三样查看主要看在哪个平台:32位还是64位,还有就是有没有canary,如果有的话一般来说都不会是栈溢出攻击的题目然后拖进ida这个可以看出真的是一个栈溢出攻击我们还可以看到get_flag函数看出来是直接进行溢出到第8行地址就行。但是注意,可能是由于这题目远程的时候一些奇妙问题,在我们使用远程的时候没有正常退出会导致出错,无法获取回显。

2023-07-20 23:01:57 210

原创 【pwn】[第五空间2019 决赛]PWN5

函数的逻辑(就是上面那个伪代码),可以看出,主要是需要让我们的passwd输入值和从文件中输入的值保持相同,但是很明显我们根本就不知道这个。可以数出,0x41414141是格式化字符串的第10个参数,所以我们构造的时候就需要从。这是Buuctf的一道题,是我实战遇到的第一道格式字符串漏洞,在此记录。对于格式化字符串漏洞,我们首先要确定输入点是栈中的第几个参数。函数里面直接输入了地址,表明是有格式字符串漏洞的。,我们一个字节一个字节的存入,所以不能是直接用。,将输出的字符串的数量覆盖进所指向的位置。

2023-07-13 12:35:27 243 2

原创 【pwn】基础ROP攻击实战:ret2libc3

这里用来记录一下关于PWN中ROP攻击的各种过程和经验ROP攻击是针对那些使用了NX防护的程序,开启NX防护的程序使得栈以及堆上的代码没有办法被执行,导致不能单独将函数栈中的返回地址修改到函数帧中。ROP主要思想是在栈缓冲区溢出的基础上,利用程序中已有的小片段 (gadgets) 来改变某些寄存器或者变量的值,从而控制程序的执行流程。讲起来还是很抽象,我的理解就是利用了函数帧中的返回地址,以及具有gadgets(也就是带着ret指令的一段汇编语句)都算是ROP攻击。这里我挑一个最经典的ROP作为实战。

2023-07-10 22:51:04 335

原创 linux命令以及函数堆栈结构随记

关于查看当前窗口命令tty。

2023-07-10 19:34:03 105

原创 【逆向】【Attack Lab】漏洞攻击实验解说

CSAPP译名为《深入理解计算机系统》,Attack Lab是这本书的第三个实验,关于前两个实验,可以在中找到,关于第二个实验【Bomb Lab】之前有篇已经写过了(不过好像对于Bomb lab的题目有点细微的不一样)我们的实验可以依照着官方给的进行参照,依照着这个文档直接开始。

2023-06-13 19:11:16 1323

原创 DVWA-SQL注入【全难度】

我想表达的是,我们可以直接通过抓包,来改变我们想要的请求。这就是最初级的,毫无安全措施的版本,发现了注入点:因为我们发现我们输入的语句直接变成了在SQL语句中的报错,有两个相同的。如果这个注入点是数值型的话,那么当我输入1 and 1=2或者1 and 1=1的时候,在SQL语句中会自动变成。如果这个注入点是字符型的,那么当我输入1 and 1=2或者1 and 1=1的时候,在SQL语句中会自动变成。可以使用的方法挺多的,不过网上能够找到的基本都是使用Burpsuite来抓包,我们也可以这样。

2023-06-10 20:55:02 284

原创 DVWA-CSRF漏洞【全难度】

CSRF漏洞全称是Cross-site Request Forgery,跨站请求伪造。这个漏洞主要的思路是利用了本来就登录在目标网站A的用户,当这些用户点击了相应的伪造网站B后,这些网站中的陷阱就会使用户访问网站A(在用户不知道的情况下),这样就可以借助用户之手,做到列入修改密码之类的操作。

2023-06-10 20:47:43 103

原创 【攻防世界 | WP】CAT

【攻防世界 | WP】CAT解题步骤学习知识URL编码什么是URL编码解题步骤学习知识URL编码什么是URL编码url编码是一个编码格式,它和utf-8或者GBK编码的区别是url编码是针对除了字母数字之外的字符进行编码,比如说:ASCII码控制字符:字符范围 00-1F 十六进制(0-31 十进制)和 7F(127 十进制)非ASCII编码格式字符...

2022-02-14 14:49:33 3928

原创 【攻防世界CTF | WP】ics-07

【攻防世界CTF | WP】ics-07题目思路查看界面题目思路查看界面打开题目,我们可以看到一个只有项目管理界面可以进行操作的网站,项目管理界面如下我们看到有一个源代码链接,点击链接的源代码如下 <?php session_start(); if (!isset($_GET[page])) { show_source(__FILE__); die(); } if (isset($_GET[page]) &&

2022-02-01 13:23:52 2187

原创 【Pytorch】BatchNorm2d()函数和Dropout层的位置和使用

【Pytorch】BatchNorm2d函数和Dropout层BatchNorm2d()函数作用位置和使用Dropout层作用位置使用其他with torch.no_grad()model.eval()记录一下关于这些层在神经网路的位置以及应用情况BatchNorm2d()函数作用BatchNorm2d归一化,就是指使用BatchNorm2d函数来进行它的目的是使得数据在进行Relu之前不会因为数据过大而导致网络性能的不稳定位置和使用在神经网络中每一次卷积基本都包含了3个步骤:conv卷积

2022-01-24 15:49:19 6869

原创 【深度学习 | Pytorch】神经网络定义后的训练步骤

【深度学习 | Pytorch】神经网络定义后的训练步骤记录一下神经网络已经定义好了之后关于损失函数和优化器的步骤假设我们的模型如下model = Net()model是我们的模型对象然后我们的损失函数和优化器也是事先定义如下loss_fn = nn.BCEWithLogitsLoss().to(device)optimizer = torch.optim.SGD(model.parameters(), lr=1e-3, momentum=0.9, weight_decay=1e-5)然

2022-01-19 14:03:56 457

原创 【深度学习】Pytorch中的模型的存储和加载

【深度学习】Pytorch中的模型的存储和加载模型的存储模型的加载pytorch的模型加载存储有两个方法,在我脑子里一直容易弄混,所以记录一下模型的存储假设模型对象名称是modelmodel = Net()#保存方法1torch.save(model,"model_1.pth")#方法2torch.save(model.state_dict(),"model_2.pth")模型的加载#方法1 对应上面的方法1model = Net()model = torch.load("mod

2022-01-18 19:15:54 1135

原创 【ics-05 | mfw】攻防世界CTF题WP

攻防世界CTF题WPics-05解题步骤  这几天在家想要学习一点ctf相关的知识,所以做一些题来研究一下,顺便也是让脑袋不过于迟钝了ics-05解题步骤​  打开题目后是一个比较简单的系统界面,嗯,基本除了图片就只有设备维护中心这一个地方可以点击  点击后是一个数据库展示的界面,不过重点不在数据库的展现,我们发现重新点击标题是url出现了变化发现有page参数的输入,我们可以使用php伪协议,输入相关的伪协议php://filter/read=convert.base64-encode

2022-01-16 11:16:08 2728

原创 【Git】本地分支关联远程分支

本地分支关联远程分支一、远程有分支,本地没有分支二、本地有分支,远程没有分支在进行git操作的时候,分支问题是一个对我来说比较绕脑子的问题,所以在这里进行笔记的整理下面对几种情况进行分别讨论一、远程有分支,本地没有分支在远程有分支了之后,本地想要对这个远程分支进行关联git checkout --track origin/[your branch name] 此时本地会自动创建一个和远程名字一样的分支,这个分支会自动跟踪我们创建的远程分支。我建议还是本地分支和远程分支同名比较好,如果不同名虽

2022-01-11 16:46:49 1906

原创 【逆向】【Binary Bomb Lab】二进制拆弹的解说

【Binary Bomb Lab】二进制拆弹的解说工具和事前准备拆弹过程Phase_1Phase_2这听说是一个著名的反汇编实验,我其实不是很熟悉反汇编,所以通过这个来稍微熟悉一下关于反汇编的原理这个实验总共有6道题,题目难度会循序渐进工具和事前准备使用的工具:objdumpgdbida pro  我们在CMU官网上下载的实验会有一个已经编译好的可执行文件bomb,我这边是先直接使用了objdump将其反汇编了一下,存在了文件中以方便查看,也比较方便进行语句注释什么的objdump反汇

2021-12-30 21:09:36 5306 2

原创 【笔记整理】网络攻防技术

网络攻防技术4 漏洞的定义栈溢出的漏洞利用原理溢出漏洞利用原理溢出点定位探测法反汇编分析覆盖执行控制地址覆盖异常处理结构跳转地址的选定Shellcode的定位和跳转Shellcode相关什么是Shellcode汇编生成ShellCode的思路shellcode的正常退出null字节的问题加载DLL(Dynamic Link Library)通用的shellcode编写静态函数地址获取动态定位函数地址获取地址的方法什么是TEB使用PEB的方法引出表5 Web应用攻击XSS攻击4 漏洞的定义栈溢出的漏洞利用

2021-12-22 15:13:42 4164

原创 缓冲区溢出攻击实验(C语言 | 汇编语言 | 输出deadbeef)

缓冲区溢出攻击实验(输出deadbeef)C语言题目源码尝试运行程序观察分析栈内部情况决定使用栈溢出实施使用vs2019打开反汇编使用反汇编构造payload得到结果C语言题目源码/* bufbomb.c * * Bomb program that is solved using a buffer overflow attack * * program for CS:APP problem 3.38 * * used for CS 202 HW 8 part 2 * * compile

2021-12-17 17:03:20 2481

原创 (简单易懂系列)关于git的基本使用

(简单易懂系列)关于git的基本使用前言前期准备绑定用户SSHkey 设置git安装好了之后的使用步骤第一步 git本地操作git提交到远程命令总结前言在本地写好代码了然后想要上传到GitHub的时候,使用git命令一直要忘记命令过程,现在把上传GitHub的命令过程整理一下前期准备git安装:https://www.cnblogs.com/xueweisuoyong/p/11914045.html绑定用户下载好Git后,点击右键,打开git bash here开始绑定用户名和邮箱(注

2021-12-10 16:46:51 106

原创 C语言 | 网络编程中几个结构体的用法

C语言 | 网络编程中几个结构体的用法用来处理网络通信的地址struct sockaddrstruct sockaddr_inin_addrsockaddr和sockaddr_in的区别其他相关函数htons() 和 inet_addr()inet_ntoa()给socket赋值的方法给地址赋值给端口赋值例子C语言网络编程中有很多结构体,其中很多的结构体对我来说很混乱,难以记住,想要先整理一下用来处理网络通信的地址struct sockaddrsockaddr在头文件#include <sys

2021-10-11 00:35:08 290

原创 简单说明网络编程socket的相关函数 | C语言

简单说明网络编程socket的相关函数 | C语言socket创建过程的一些函数套接字创建函数绑定函数监听函数接收函数具体流程读写过程中的函数read函数和write函数(听说大多数用在linux)read函数write函数recv函数和send函数(大多数用在windows)recv函数send函数其他小tipsssize_t和size_t数据类型网络编程中的一些函数的具体用法socket创建过程的一些函数套接字创建函数#include <sys/socket.h>int socke

2021-10-11 00:32:45 329

原创 深度学习 | pytorch的基础使用方法 | 内含深度学习一些基础概念

深度学习 | pytorch的基础使用方法 | 内含深度学习一些基础概念深度学习的概念学习pytorch特点使用pytorch进行深度学习的步骤构建神经网络模型建立损失函数和优化器损失函数优化器对神经网络进行分批次训练预处理数据预处理预处理手段实例:关于分类相关的深度学习文本向量化构造分类器pytorch的工具TensorBoard的使用语法transform使用用法(以totensor()为例)pytorch数据集的读取torchvision中的datasets和DataLoaderdataset用法Da

2021-09-15 09:50:20 139

原创 python中NumPy和Matplotlib的基础用法

python中numpy的用法前言numpy的一些小用法数组数组创建(从头创建)数组创建(按数值范围创建)更改数组的形状matplotlib用法matplotlib中的pyplot子库前言众所周知,numpy是机器学习和深度学习的基础,数据运算在数据挖掘领域也是有着丰富的用途,numpy、matplotlib的用法是很基础的事情,这里稍微总结一下,知识不多,学多少总结多少菜鸟教程相关内容有很多,这里给个链接,我只总结一下少数东西numpy的一些小用法数组在numpy中的数组,其实就是我们在线性代

2021-09-14 09:40:50 655

原创 python中BeautifulSoup模块的基础用法

关于python中beautiful库的用法前言beautifulsoup库的使用安装和引用创建对象使用查找标签查找标签里的内容前言之前有节实验课研究了爬虫,我深刻地感觉到了xpath就不适合玩爬虫(个人见解),于是我开始试着重新复习beautifulsoup库了beautifulsoup库的使用安装和引用安装直接pip安装就好了pip install bs4引用from bs4 import BeautifulSoup创建对象soup = BeautifulSoup(res_tex

2021-09-10 00:22:48 250

原创 【简单易懂】正则表达式的基础用法整理

正则表达式的基础用法整理前言正则表达式是什么限定符"或"运算符字符类元字符贪婪匹配和懒惰匹配(lazy match)前言正则表达式有些很难记住的理论,在这里一次性整理一下,帮助更深刻一点的掌控。正则表达式是什么正则表达式可以把它看做是一种通配符的增强版,它可以帮你匹配你想要的字符串。在很多地方可以用到正则表达式,比如编译器中的词法分析器、网址上的注册表单、爬虫中用正则表达式来提取信息等等。所以我们可以更加深刻地理解正则表达式的用处之广,好多地方都不能缺少它。以下是正则表达式正式内容,一些最基础的

2021-09-08 16:00:44 334

原创 NLP学习笔记_pytorch(基础,未完成)

深度学习深度学习的概念深度学习从广义上来讲就是程序可以自己学习自己的意思。是指一个已经写好的代码程序经过大量的数据使得自身得到了发展总共有三个部分的特征:一、反向传播算法二、特征提取能力三、端到端之间的学习方法学习pytorch这是一个深度学习的框架中间有三个特点:1、完全符合python编程(tensorflow就不行,是在python语法和TensorFlow自己有些格式之间转换)2、方便的张量(tensor)计算 -->可以将变量加载到GPU(图形处理器)上3、对动态计算

2021-09-07 20:34:36 199

原创 (简单易懂系列)burpsuite抓包工具的安装方法

前言由于一些原因换了台电脑,之前的抓包工具也没有了,所以想要重新下载burp suite来进行抓包测试以下的教程很大部分参考了https://blog.csdn.net/LUOBIKUN/article/details/87457545 的内容,只是针对我自己的一些问题进行了阐述,并且总结了一些东西资源下载https://blog.csdn.net/LUOBIKUN/article/details/87457545 中有着百度云链接,里面有着java的jdk8版本,以及破解的burp软件注1:因为

2021-09-07 20:27:18 2733

空空如也

空空如也

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

TA关注的人

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