Hello Every Boby!
又是一篇缓冲区漏洞利用的文章,本文我们将继续使用vulnserver漏洞练习程序中—HTER指令,它与前一篇Unicode类似。LTER缓冲区转换为Unicode,而HTER缓冲区转换为十六进制,让我们一起来看看发生这种转换时发生什么,以及如何完成我们的漏洞利用程序。遇到有些小伙伴说进行漏洞利用开发必须使用immunity Debugger吗?其实没有规定必须使用,我希望在此系列更多分享关于漏洞利用思维层面东西。毕竟殊胜因缘,一通百通。
所以此篇我使用X64dbg调试器完成漏洞利用开发。
POC攻击
让我们用python漏洞重新创建POC,并执行它。然后再次引发崩溃,详情如图所示:

发送3000字节的A引发应用程序崩溃。但是,EIP被AAAAAAAA代替41414141。尝试发送了不同的字符串到缓冲区,以进一步观察应用程序的情况。基于此,我们观察到缓冲区以某种方式被转换为十六进制字节,而不是ASCII。

“二分法”分析偏移量
由于缓冲区已转换为十六进制字节!mona pc或者使用msf-pattern命令生成的唯一字符串不起作用。因此,我使用了“二分法”确定偏移量。我没有发送3000 A,而是花了1500 A和1500B。

如图所示,EIP被’BBBBBBBB’,因为我们已知B有1500字节。

我们重复上述操作调整几次,发现偏移量在2041字节;下面为修正过后的代码。(注意:由于缓冲区已转换为16进制,因为使用覆盖offset字节应该是8个B,而不是之前4个。)

运行修正后的代码EIP被8个B准确覆盖。

至此为了将执行流程重定向到C缓冲区,我们可以使用曾经用过指令“!mona jmp -r esp”,找到包含JMP ESP地址。为此我们使用之前第一个地址即0x625011AF。(注意:由于我这使用X64dbg寻找JMP ESP。其实道理都一样,一通百通^_^)

然后我们修改代码,如图所示。

运行最新修改的代码,如图所示;重定向有效。

16进制的shellcode
我们所需要做的下一件事,就是需要制作一个16进制的shellcode,如图所示。

漏洞利用攻击
我们完成最终利用代码,运行编写的Exploit会导致目标机器产生4444/TCP端口监听。

连接此端口,完成Getshell。
最后需要说下kali-linux 2019.4版本确实很轻便,推荐大家更新使用。

原文链接:https://www.anquanke.com/post/id/194070

16进制的两位数转换不了 matlab_跟小黑学漏洞利用开发之16进制字符转换相关推荐

  1. 进制转换c++代码_跟小黑学漏洞利用开发之16进制字符转换

    Hello Every Boby! 又是一篇缓冲区漏洞利用的文章,本文我们将继续使用vulnserver漏洞练习程序中-HTER指令,它与前一篇Unicode类似.LTER缓冲区转换为Unicode, ...

  2. 16进制的两位数转换不了 matlab_【大学生计算机基础】进制那些问题。小数或整数转换,各种进制间转换.........

    方便自己期末复习备考而准备(作为一名纯文科生,我对计算机课真的很抓狂.只好认认真真自个探究,整理些笔记.如果你也需要可以借鉴借鉴) ①进制? 嗯~这我觉得就不用多做解释了,大家都是上个计算机课的人,老 ...

  3. 任意两位数相乘速算平方数

    任意两位数相乘: ab * cd = (a*d+b*c)*10+(a*c)连上(b*d)即加到中间 43*85=(4*5+3*8)+(4*8)连上(3*5)=(44)*10+3215=3655 32* ...

  4. python bytes与str之间的转换 hex的字符转换

    python在与外接设备和后台交互编程中经常遇到字符格式匹配的问题,我在 pyserial和socket编程中遇到的bytes类型字符与其他形式的字符串之间的转化问题的解决方法做了搜集,下面就我本人在 ...

  5. 详解MTK系统中字符转换问题

    详解MTK系统中字符转换问题 2011-09-05 19:02 佚名 互联网 字号:T | T MTK系统中字符转换问题是本文要介绍的内容,主要是来了解并学习MTK中一些小案例的应用,具体内容来看本文 ...

  6. 两大顶尖漏洞利用工具包消失 老三“中微子”上位

    漏洞利用工具包的圈子动荡依旧,这一次,两大最流行的工具包消失了. 漏洞利用工具包是网络犯罪分子最爱使用的一体化工具,而且与时俱进,在不断升级更新的同时,偶尔还会利用零日漏洞.受害者则被装上银行木马或是 ...

  7. 有趣的数据结构算法9——利用栈完成2进制到8进制的转换

    有趣的数据结构算法9--利用栈完成2进制到8进制的转换 解题思路 实现代码 GITHUB下载连接 刚学习完栈的我想试试栈都可以干嘛,于是找到了一个小应用,利用栈完成2进制到8进制的转换.如果大家还不清 ...

  8. 用c语言编写:从健盘输入一个两位数的正整数 a,将其转换形成一个整数b并输出b。 转换的方式是:将a中较大的数码作为b的十位,剩余的数码作为上的个位。例如,当输入a =49,则结果 b=94...

    #include <stdio.h> int main(){ int a; int b; printf("请输入一个两位数的正整数a:"); scanf("% ...

  9. 怎么利用c 语言编程进行进制计算,编程达人 《汇编、C语言基础教程》第一章 进制1.1 进制的定义(连载)...

    第一章进制 进制跟我们生活是息息相关的,比如时钟是60进制.24进制,星期是7进制等,最常见的就是十进制了.而计算机也离不开进制,计算机是通过二进制进行操作和运算的. 我们为什么要学习进制? 方便我们 ...

最新文章

  1. Spring Cloud(八)高可用的分布式配置中心 Spring Cloud Config
  2. jQuery图片播放插件prettyPhoto使用介绍
  3. 如何使用 python 减少 kaggle Mushroom Classification 数据集中的特性数量?
  4. go初学者安装echo框架
  5. 母板页中的图片路径及页面链接路径设置
  6. SQL数据分析实战:好用的窗口函数
  7. Java方法中的参数太多,第8部分:工具
  8. springcloud项目的启动顺序_Spring Cloud微服务项目完整示例,含注册中心,网关,断路器等等...
  9. Nginx之gzip压缩配置
  10. 程序员的求生欲有所强?用Python花式哄女友
  11. linux内核虚拟内存之高端物理内存与非连续内存分配
  12. Java中的判断语句
  13. CST仿真指导 | 设置基本单位Units
  14. linux内核源码分析之proc文件系统(二)
  15. 后悔买房了,太难了,每个月工资8000,房贷5500
  16. 7-3 计算职工工资
  17. SqlSugar.SqlSugarException: English Message : Connection open error . 给定关键字不在字典中
  18. Hi3519A播放ACC理解
  19. shell脚本(一)批量修改图片名称
  20. Android 跳转到安卓市场进行下载,跳转至应用商店下载

热门文章

  1. SAP Spartacus 找不到登录入口的问题 - 如何使用 Schematics 安装 user package
  2. 如何启用 SAP Business Technology Platform 上的 Mobile Services
  3. SAP Spartacus auto focus Directive响应模型变化的一些触发时机例子
  4. Angular Component 的 renderer 创建机制以及 Angular 版本号的确定方式
  5. 有道云笔记到简书的迁移工具
  6. SAP Analytics Cloud里根据数据的经纬度绘制地图
  7. 微信的一个隐藏功能,我身边绝大多数人都不知道,其实很实用
  8. CEC tile configuration of Launchpad shell is returned by http request
  9. D3 dataset - what is usage of key function in data
  10. 什么是SAP Graph