本人PWN入行普遍方式小结

访客4年前黑客资讯602

文中详细介绍本人学习培训pwn全过程中的一些小结,包含常见方式,在网上众多实例教程尽管有出示详细的exp,但仍未表述exp为什么是那样的,例如shellcode写到哪里来到(这关联到自动跳转详细地址),ROP链怎么选择的。针对pwn,自己也是初学者,在其中有小结不正确的,热烈欢迎诸位巨头纠正。

原文中采用的测试代码都是在:

0×02 PWN常见的基础知识

更先取得一个PWN程序流程,能够先应用file指令,分辨是32位系统還是64位。

能够应用objdump载入plt和got表,plt和got在网上都是有详尽的详细介绍,在此不会再过多阐释。

这里要提一下数据信息在存储器中的储放次序,这一在恢复出厂设置字符串数组系统漏洞时要分外留意,尤其是64位,32位系统的顺序是eax->edx->ecx->ebx,64位的顺序是rdi->rsi->rdx->rcx->r8->r9。

刚开始学习的情况下,本人常常把pop和push常常搞反,因而在这里把这两个命令的详细介绍说一下:push[reg]/[num]是将reg存储器中的值或者数据num压进堆栈中,而pop[reg]是将堆栈栈顶的值弹出来到reg存储器中,并将这一值从堆栈中删除。

有时要查询存储器中的值,能够采用以下指令:

print $esp:复印esp的值

x/10x $esp:复印出10个从esp逐渐的值

x/10x $esp-4:复印出10个从偏位8开始的值

x/10gx $esp:以64位文件格式复印

下边先应用hello试一试,更先应用IDA的F5秘笈能够见到內部有一个getshell函数,能够立即自动跳转到该函数getshell。

应用专用工具pade能够很便捷的测算出偏移,pattern create 100。

pattern offset 0×41284141,测算出偏移为22。

查询汇编代码,获得getshell的详细地址,也就是要自动跳转的详细地址。

最终获得详细的exp以下。

0×03 shellcode

生成方式

1、在shellcode数据库查询网址找一个shellcode,

2、应用kali的msfvenon形成shellcode,如指令msfvenon -p linux/x86/exec CMD=/bin/sh -f python

3、应用pwntools内置的函数如a *** (shellcraft.sh())

但有时不清楚shellcode写到哪里来到,在回应这个问题前,要提一下bss段、data段、text段、堆(heap)、栈(stack)的一些差别。

1、bss段(bss segment)一般就是指用于存放程序中未复位的静态变量的一块内存地区,bss段归属于静态数据内存分派。

2、data段:数据信息段(data segment)一般就是指用于存放程序中已复位的静态变量的一块内存地区,数据信息段归属于静态数据内存分派。

3、text段:代码段(code segment/text segment)一般就是指用于存放程序实行编码的一块内存地区。这些地区的尺寸在程序执行前就早已明确,而且内存地区一般归属于写保护(一些构架也容许代码段为可写,即容许改动程序流程)。在代码段中,也是有很有可能包括一些写保护的参量自变量,比如字符串常量等。

4、堆(heap):堆是用以储放过程运作中被动态分配的内存段,它的尺寸并不固定不动,可动态性扩大或减缩。当过程调用malloc等函数分派内存时,新分派的内存就被动态加上到堆上(堆被扩大);当运用free等函数释放出来内存时,被释放出来的内存从堆中被去除(堆被减缩)。

5、栈(stack):栈又被称为堆栈,是客户存放程序临时性建立的局部变量,换句话说大家函数括弧“{}”中界定的自变量(但不包括static申明的自变量,static代表着在数据信息段中储放自变量)。除此之外,在函数被调用时,其主要参数也会被压进进行调用的过程栈中,而且待到调用完毕后,函数的返回值也会被储放回栈中。因为栈的先进先出法(FIFO)特性,因此栈尤其便捷用于储存/修复调用当场。

下边以ret2shellcode,一样应用IDA看下编码,很显著,shellcode载入到bss段。

应用指令readelf -S ret2shellcode查询获得bss段详细地址为0x0804a040。

相关文章

马蹄糕的最新做法,超级好吃(附详细步骤及做

马蹄糕的最新做法,超级好吃(附详细步骤及做

红糖层的材料:马蹄粉150g、红糖片180g、清水600g。 椰浆层的材料:马蹄粉100g、椰浆400ml、纯牛奶250ml、玉米油少许。 制作步骤 1.马蹄粉分成两份:100g与150g。...

短期内用不到的钱,真的该拿去理财吗

当下,投资理财的话题讨论算作连大家平常人在饭后茶余都是会聊一聊,最关键的缘故,就是很多人都意识到投资理财对大家本身有一定的益处,不仅是对自身,也是对亲人乃至是家中有非常大的协助。 但是,坚信大伙儿也都...

金融业数据脱敏的种类、难题和方法

金融业数据脱敏的种类、难题和方法

金融企业的数据库文件存储着很多关键信息——身份证号、手机号、帐户信息、资产信息、交易明细...这种比较敏感数据很有可能在金融机构、商业保险、证劵等金融企业的诸多业务场景中被多方面应用,比如业务流程剖析...

大学生创业不是什么人都适合,看看这4种不适合创业的类型

自主创业并不是每一个人都合适的,老总也不是每一个人都能当得了的。学生创业不必赶时髦,更不必盲目跟风,看他人都去做好自己也去做,那时候孟婆汤可没地买。一起来看一下不宜自主创业的四类人群。 1、学生创业全...

搜索引擎龙年集体换新装:庆祝农历春节

1月23日,Google、百度搜索、搜一搜、搜狗搜索、bing搜索等好几家百度搜索引擎团体拆换主页Logo,以舞龙表演、放爆竹等喜气的图案设计为主题风格,庆贺我国传统民族节日新春佳节的来临。...

美国人的价值观(究竟是怎样的一种存在?)

美国人的价值观(究竟是怎样的一种存在?) 文 | 付一夫 苏宁金融研究院消费金融研究中心主任助理、高级研究员 莫雷的不当言论事件还在继续发酵。 面对着中国民众铺天盖地的谴责与合作伙伴的接连退...