自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 gdb使用个pwndbg安装

cyclc 50 //生成50个用来溢出的字符,如:aaaabaaacaaadaaaeaaafaaagaaahaaaiaaajaaakaaalaaama。heapinfo、heapinfoall //显示堆得信息,和bins的挺像的,没bins好用。set *(0x123456)=0x10 //0x123456地址的值变为0x10,注意带星号。tcachebins //同上,单独查看tcachebins的链表情况。largebins //同上,单独查看largebins的链表情况。

2024-06-24 11:53:03 743

原创 linux的source命令

source(或点)令通常用于重新执行刚修改的初始化文档,如 .bash_profile 和 .profile等配置文件.简单的说就是: source命令会把file里的命令在当前shell里一个一个执行。在当前bash环境下读取并执行FileName中的命令.也可以用.+空格file来代替。

2024-06-24 01:39:16 538

原创 sqlmap使用以及GUI安装

取别名:alias sqlmap='/home/kali/sqlmap/sqlmapproject-sqlmap-6ae0d0f/sqlmap.py'解压:tar -zxvf sqlmapproject-sqlmap-1.8.6-5-g6ae0d0f.tar.gz。如果点击.bat启动不了就在这里打开cmd,输入对应的.bat来启动。选择.tar.gz文件。可以点击.bat启动。

2024-06-21 14:19:56 532 1

原创 虚拟机配置桥接模式

因为要打一些awd比赛,一些扫描工具什么的,要用到kali,就想着换成一个桥接模式。每次点开虚拟网络编辑器的时候都没有vmnet0,但是点击更改的时候却有vmnet0。控制面板打开-->网络和共享中心-->更改适配器设置-->右击使用的网络-->属性。用root用户改密码,否则改kali的密码的时候他不让你设置简单的密码。输入: cat /etc/network/interfaces。打开虚拟机, 然后打开编辑-->虚拟网络编辑器。看看你正在用的网卡,下面的桥接模式开没有。点击添加网络,按图上的配置。

2024-06-20 22:29:22 822

原创 Fiddler抓包工具介绍

fiddler要想抓到https包(解密的),点击tools->options勾选三个对号就ok了。下载过附件之后分别把两个文件。点开fiddler就ok了。让后点击导出证书到桌面。导出到左面以后,双击证。然后安装到整个计算机。

2024-06-17 03:30:00 247

原创 awd工具安装

如需卸载, 请在相同的位置输入php watchbird.php --uninstall [Web目录], 如果您多次运行了安装,请多次运行卸载直到卸载器无输出。执行php watchbird.php --install [Web目录], 安装器将输出安装了watchbird的文件路径。将waf.so,watchbird.php文件存放在/var/www/html或其他目录中。web漏洞扫描(weblogic、st2等,支持xray的poc)数据库密码爆破(mysql、mssql、redis、psql等)

2024-06-17 00:15:00 1282

原创 火绒删调的文件如何恢复?

打开火绒找到隔离区恢复就ok了。

2024-06-16 15:27:39 96

原创 堆的结构初步了解

堆是下图中绿色的部分,而它上面的橙色部分则是堆管理器.是虚拟地址空间的一块连续的线性区域提供动态分配的内存,允许程序申请大小未知的内存在用户与操作系统之间,作为动态内存管理的中间人响应用户的申请内存请求,然后将其返回给用户程序管理用户所释放的内存,适时归还给操作系统堆是由低内存向高内存扩展的(栈与它相反堆管理器的作用,充当一个中间人的作用。管理从操作系统中申请来的物理内存,如果有用户需要,就提供给他。ptmalloc2-glibc (linux系统使用的libc)本文重点学习。

2024-06-16 14:29:07 1109

原创 ROPgadget

这里再推荐一篇pwn的工具集合文章。他是一个常用的pwn工具.这个时候已经差不多了。

2024-06-14 23:46:36 326

原创 pwn的常用脚本

他是pwndbg的一个工具, 用来计算栈的大小。把输出的东西在gdb中输入进去,得到报错的地址。然后输入: cyclic -l -0x2349。调用gets来构造bin/sh。我么输入: cyclic 200。

2024-06-14 23:40:09 482

原创 函数调用约定

在Microsoft C++系列的C/C++编译器中,常常用PASCAL宏来声明这个调用约定,类似的宏还有WINAPI和CALLBACK。函数的第一个和第二个DWORD参数(或者尺寸更小的)通过ecx和edx传递,其他参数通过从右向左的顺序压栈。函数名修改规则同stdcall:函数名自动加前导的下划线,后面紧跟一个@符号,其后紧跟着参数的尺寸。函数名自动加前导的下划线,后面紧跟一个@符号,其后紧跟着参数的尺寸。C调用约定允许函数的参数的个数是不固定的,这也是C语言的一大特色。

2024-06-12 23:25:35 520

原创 nmap工具使用

nmap是一款渗透端口扫描测试工具。它不单单可以进行端口扫描,还可以扫描漏洞、服务器信息等等。是一款十分强大的扫描工具,可以在windows、mac、Linux上运行。

2024-06-11 22:33:31 972

原创 NC工具大全

nc被誉为网络工具中的瑞士军刀。

2024-06-11 18:15:57 425

原创 windows安装nc

我们可能用nc时都要打开虚拟机,但为了方便,我们可以在本机上面安装nc,更加便捷。

2024-06-10 20:18:05 368 1

原创 pwn中常见的保护

checksec 可以查看程序开启了哪些保护。

2024-06-09 23:45:34 479

原创 TLS讲解

特别的, dtv 数组的第一个成员是一个计数器,每当程序使用 dlopen 函数或者 dlfree 函数加载或者卸载一个具备 TLS 变量的模块,该计数器的值都会加一,从而保证程序内版本的一致性。_dl_allocate_tls_init 函数会遍历 dl_tls_dtv_slotinfo_list 中的 link_map ,初始化 dtv。_dl_allocate_tls 函数依次调用 allocate_dtv 和 _dl_allocate_tls_init 分配和初始化 dtv。

2024-06-09 00:14:38 563

原创 AES算法讲解

AES加密算法是密码学中的高级加密标准,AES为分组加密法,把明文分成一组一组的,每组长度相等,每次加密一组数据,直到加密完整个明文,在AES标准规范中,分组长度只能是128位,AES是按照字节进行加密的,也就是说每个分组为16个字节(每个字节8位)。密钥的长度可以使用128位、192位或256位。这导致密钥长度不同,推荐加密的轮数也不同。1)设计简单;2)在多个平台上速度快,编码紧凑;3)抵抗所有已知攻击;

2024-06-08 23:42:46 889

原创 动态链接中的问题解疑答惑

Linux 动态链接的过程涉及编译和链接阶段、加载阶段、动态链接器的工作、延迟绑定以及程序结束和清理。每个阶段都有特定的任务和机制,确保程序可以正确加载和执行,并有效地共享系统资源。未解析的符号(unresolved symbols)是在编译和链接过程中遇到但尚未找到其定义的符号。符号可以是变量、函数、对象等,它们需要在某个地方有明确的定义。编写代码时,可能会引用尚未定义的函数或变量。如果在链接阶段没有提供相应的定义,就会产生未解析符号错误。静态链接。

2024-06-08 00:03:16 1024

原创 动态链接介绍

模块间的访问比模块内部稍微麻烦一点,因为模块间的数据访问目标地址要等到装载时才决定,我们前面提到要使得代码地址无关,基本的思想就是把跟地址相关的部分放到数据段里面,很明显,这些其他模块的全局变量的地址是跟模块装载地址有关的。如此循环直到所有依赖的共享对象都被装载进来为止,当然链接器可以有不同的装载顺序,如果我们把依赖关系看作一个图的话,那么这个装载过程就是一个图的遍历过程,链接器可能会使用深度优先或者广度优先或者其他的顺序来遍历整个图,这取决于链接器,比较常见的算法一般都是广度优先的。

2024-06-07 20:40:54 806 1

原创 RSA原理

如果两个正整数如果两个正整数a和和n互质,那么⼀定可以找到整数b,使得 ab-1 被n整除,或者说ab被n除的余数是1。==> m^ed ≡ m (mod n) 由于ed ≡ 1 (mod φ(n))及ed = hφ(n)+1。(1)ed≡1 (mod φ(n)). e公开, 只有知道和φ(n), 才能算出d。数论知识1: a ≡ b (mod n) ==> a^c ≡ b^c (mod n)(2)φ(n)=(p-1)(q-1). 只有知道p和q, 才能算出φ(n)。

2024-06-07 01:13:37 1550 1

原创 IDA和readelf和objdump

交互式反汇编器专业版readelf用于查看elf格式文件的相关信息,ojbdump可以显示一些二进制文件信息。

2024-06-06 15:32:14 105

原创 共享库介绍

每个共享库都有一个对应的SO-NAME ,这个 SO-NAME 即共享库的文件名去掉次版本号和发布版本号,保留主版本号。比如一个共享库叫做 libfoo.so.2.6.1 ,那么它的 SO-NAME 即 libfoo.so.2。很明显,SO-NAME 规定了共享库的接口,SO-NAME 的两个相同共享库,次版本号大的兼容次版本号小的。在 Linux 系统中,统会为每个共享库在它所在的目录创建一个跟 SO-NAME 相同的并且指向它的软链接(SymbolLink)。

2024-06-06 12:47:21 574 1

原创 ELF文件格式

ELF(Executable and Linkable Format)是一种常见的可执行文件和可链接文件格式,主要用于Linux和类Unix系统。ELF 文件结构及相关常数被定义在 /usr/include/elf.h 里,因为 ELF 文件在各种平台下都通用,ELF文件有 32 位版本和 64 位版本。32 位版本与 64 位版本的 ELF 文件的格式基本是一样的(部分结构体为了优化对齐后大小调整了成员的顺序),只不过有些成员的大小不一样。

2024-06-06 11:25:36 832

原创 程序的编译,链接,装载

首先在用户层面,bash 进程会调用 fork() 系统调用创建一个新的进程,然后新的进程调用execve() 系统调用执行指定的 ELF 文件,原先的 bash 进程继续返回等待刚才启动的新进程结束,然后继续等待用户输入命令。对于每个要被重定位的 ELF 段都有一个对应的重定位表,而一个重定位表往往就是 ELF 文件中的一个段,所以其实重定位表也可以叫重定位段。静态链接是在编译过程的最后阶段将多个目标文件(如 .o 文件)以及所需的库文件合并在一起,生成最终的可执行文件或共享库的过程。

2024-06-05 23:07:13 641

原创 PWN环境配置

用于搜索 libc 中能够实现 execve("/bin/sh", (char *[2]) {"/bin/sh", NULL}, NULL);是 /home/<username>/.gdbinit 而管理员权限读取的是 /root/.gdbinit。注意,以普通用权限和管理员权限启动 gdb 时读取的 .gdbinit 文件的路径是不同的,普通权限读取的。gdb 在启动的时候会读取当前用户的主目录的.gdbinit文件进行 gdb 插件的初始化,这里提供一个。

2024-06-05 21:27:35 850 1

ctf+tools+tools+nmap(windows)

这个就是一个nmap得安装程序,在这上面备份一下,用来写博客时提供安装包

2024-06-11

CTF+pwn+nc(windows)+链接靶机

我们经常在打pwn的时候可能要用到我们的nc,一般我们要打开虚拟机,加入我们本机有一个nc就会方便很多

2024-06-10

空空如也

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

TA关注的人

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