pwn学习笔记(5)–格式化字符串漏洞​ 前言:由于条件有限,因此对于该漏洞的学习不算很多, 格式化字符串漏洞基础:格式化字符串介绍:​ 格式化字符串函数可以接收可变数量的参数,并将第一个参数作为格式化字符串,根据其来解析之后的参数,格式化字符串的利用一般分为三个部分: 格式化字符串函数 格式化字符串 [后续参数] 格式化字符串函数:​ 常见的格式化字符串有: 输入: scanf() 输出: 函数 基本介绍 printf 输出到 stdout fprintf 输出到指定 FILE 流 vprintf 根据参数列表格式化输出到...

SQL无列名注入​ 前段时间,队里某位大佬发了一个关于sql注入无列名的文章,感觉好像很有用,特地研究下。 关于 information_schema 数据库:​ 对于这一个库,我所知晓的内容并不多,并且之前总结SQL注入的时候忘记说这个数据库了,在这里补充一下,简单点儿来说,就是这个数据库中的某些表存放着数据库的一些信息,例如,我电脑中所有的数据库中存在如下的几个数据库: 12345678910111213mysql> show databases;+--------------------+| Database |+--------------------+|...

pwn学习笔记(4)静态链接:​ 静态链接是由链接器在链接时将库的内容加入到可执行程序中的做法。链接器是一个独立程序,将一个或多个库或目标文件(先前由编译器或汇编器生成)链接到一块生成可执行程序。这里的库指的是静态链接库,Windows下以.lib为后缀,Linux下以.a为后缀。 ​ 也就是说将静态链接库中的所有的函数都写入这个ELF文件中,所以会造成该二进制文件极为庞大,因此也会存在很多的可供利用来ret2syscall的gadgets。但是,使用静态链接生成的可执行文件体积较大,包含相同的公共代码,造成浪费。 ​ 对于ret2syscall而言,我们能够在程序中找到众多的可以给我们利用的...

pwn学习笔记(2)1.三种常见的寄存器:​ ax寄存器:通用寄存器,可用于存放多种数据 ​ bp寄存器:存放的是栈帧的栈底地址 ​ sp寄存器:存放的是栈顶的地址 2.栈帧与栈工作的简介:​ 栈帧是存储函数的一些信息的地方,栈帧存储有函数的局部变量,传递给子函数的实际参数,父函数的地址以及上一个栈帧栈底的地址,大致情况如下: ​ 在函数调用的过程中,首先会讲bp寄存器的值进行压栈,以方便在恢复的时候恢复栈底寄存器的值,再之后,会按顺序将局部变量压栈,最后是子函数的实际参数,会按照先入栈的后出栈,从最后一个实际参数先入栈再到第一个实际参数,比如函数a(int a , int...

pwn学习笔记(1)(1)pwn简介: 以下来自于百度百科:”Pwn”是一个黑客语法的俚语词,是指攻破设备或者系统发音类似“砰”,对黑客而言,这就是成功实施黑客攻击的声音——砰的一声,被“黑”的电脑或手机就被你操纵了 。 (2)几个简单的名词: exploit:用于攻击的脚本与方案 payload:攻击载荷,是对目标进程劫持控制流的数据 shellcode:调用攻击目标的shell代码,常见的有bash和sh (3)C源代码到可执行文件:...

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$...