Cve-2016-7434一把梭
0x01背景:
4.2.8p9之前的NTP中的read_mru_list函数允许远程攻击者通过精心设计的mrulist查询导致拒绝服务(崩溃)
0x02复现:
Kali启动服务充当server
Win上执行poc
然后kali上的ntp服务就报错奔溃了
0x03源码分析:
看到focus的reference
漏洞出现在read_mru_list中
在4000-4019可以看到它把mrulist数据包中各字段输入in_parms中,并且用到了sizeof()
4006行sizeof处理的nonce_text在其定义时为
即:nonce_text为6字节
传入变量后
定位到4041行可以看到ctl_getitem(),和在处理变量时使用的estrdup()
先看ctl_getitem,功能是处理解码后数据包中的数据
在part one 中主要是验证包状态
在3111行的for循环中,cp赋初值为reqpt,而cp = reqend时或出出现,则终止,而3103的while循环中我们知道出现,或者空的时候,reqpt++.3106行可以看出,程序正常执行时reqpt<reqend的。所以结合以上分析,可以知道for循环出现,则终止,出现=则赋值。如果没有出现=进行赋值,则tp字段就会一直为null
再看estrdup
从源码中可以看到estrdup中包含了strdup()
而strdup又包含了strlen
由于strlen参数不能是null(如果是null,则segmentation faults)
所以如果val引入了空指针 ,则会触发漏洞
如上图所示,nonce前面的一个字节正常格式原本应该是=(/x3d)的,漏洞发现者把它置为6了(16进制就是\x36),所以才会导致漏洞产生
0x04
Exp结合流量分析:
exp比较简单,主要还是关注在socket建立之后发送的buffer,buffer中就是构造的payload
exp给出的payload是以16进制表示的
\x16\x0a\x00\x10\x00\x00\x00\x00\x00\x00\x00\x36\x6e\x6f\x6e\x63\x65\x2c\x20\x6c\x61\x64\x64\x72\x3d\x5b\x5d\x3a\x48\x72\x61\x67\x73\x3d\x33\x32\x2c\x20\x6c\x61\x64\x64\x72\x3d\x5b\x5d\x3a\x57\x4f\x50\x00\x32\x2c\x20\x6c\x61\x64\x64\x72\x3d\x5b\x5d\x3a\x57\x4f\x50\x00\x00
转成文本得部分乱码
事实上,这就是wireshark中解析出来的ntp的报文(灰底部分)
对照着ntp协议的格式
第一个字节是16,转换成二进制就是00010110,根据上图,第0、1比特代表的是LI(Leap Indicator),当这个值为11的时候是告警状态,代表时间同步出现问题,其他则不处理,这里是00;随后第2、3、4比特是010,代表的是版本,之后的5、6、7比特110代表的是Mode,这里也就是6,代表着mrulist特性处理,而这次漏洞,确实就是由于mrulist导致的。
Cve-2016-7434一把梭相关推荐
- 敲代码就是一把梭_2020必看!开发五年的大佬日常工作中所使用的java代码技巧...
前言 罗列工作中实际使用的一些代码技巧或者叫工具类;知识无大小,希望大家都有收获 实用技巧 rpc服务出参统一化 什么,出参统一化有什么好说的????? 我不知道你们有没有遇到过多少五花八门的外部服务 ...
- RPC 技术及其框架 Sekiro 在爬虫逆向中的应用,加密数据一把梭
文章目录 什么是 RPC JSRPC Sekiro 优缺点 什么是 RPC RPC,英文 RangPaCong,中文让爬虫,旨在为爬虫开路,秒杀一切,让爬虫畅通无阻! 开个玩笑,实际上 RPC 为远程 ...
- Oracle中一把梭获取对象DDL创建语句
文章目录 1.DBMS_METADATA.GET_DDL包详解以及使用案例 1.1.官方文档参考 1.2.常用获取ddl信息案例 1.2.1.查看表以及对应索引创建语句 1.2.2.获取用户下所有对象 ...
- Elasticsearch是一把梭,用起来再说?!
Elasticsearch 最少必要知识实战教程直播回放 0.题记 Elastic中文社区和各种Elastic爱好者交流群中会遇到形形色色的问题. 来自运维球友讨论的真实线上吐槽问题总结: 问题1:开 ...
- 【python逆向一把梭】pyinstaller打包的exe逆向一把梭
前言 终于给我一把梭了. 步骤 https://github.com/saucer-man/exe2py 先下载个反编译工具,然后手工给解出来的pyc加上magic头,需要与版本对应 比如python ...
- Vue,React,微信小程序,快应用,TS 和 Koa 一把梭
前言 前端生态越来越繁华,随着资本寒冬的来临,对前端招聘要求也变高了: 本文将从项目出发由浅入深做一个Vue,React,微信小程序,快应用,TS和 Koa的知识大串联: 相当于一篇文章搞定前端目前主 ...
- “一把梭:REST API 全用 POST”
写这篇文章的原因主要还是因为V2EX上的这个贴子,这个贴子中说-- "对接同事的接口,他定义的所有接口都是 post 请求,理由是 https 用 post 更安全,之前习惯使用 restf ...
- [re]符号执行一把梭:2020网鼎杯青龙组re_signal_wp
[re]符号执行一把梭:2020网鼎杯青龙组re_signal_wp 这道题是2020网鼎杯青龙组的一道逆向提signal,一道虚拟机逆向题目,题目本身不难,可以直接分析也可以符号执行秒掉. 题目分析 ...
- java图片加水印上传工具类_基于Spring Boot实现图片上传/加水印一把梭操作
文章共537字,阅读大约需要 2分钟 ! 概述 很多网站的图片为了版权考虑都加有水印,尤其是那些图片类网站.自己正好最近和图片打交道比较多,因此就探索了一番基于 Spring Boot这把利器来实现从 ...
- java ts流封装工具_从 Java 到 TS,阿里妈妈的接口管理一把梭
这两天看到知乎上的:后端开发完接口才给出接口文档,合理吗?引起了不少的讨论,说起来这是前后端分离普及之后带来的一个新问题,阿里妈妈前端团队比较早在业务中全面使用单页应用,对接口管理有过一些探索和积累, ...
最新文章
- Nature:环境vs基因,谁对肠道菌群影响更大?
- nik collection滤镜
- mysql取n条不重复_MySQL重复数据中限定操作n条
- Android开发之Retrofit小试牛刀
- c语言 将url图片存到本地_python爬虫:爬取男生喜欢的图片
- Linux 打印简单日志(一)
- 函数的返回竟然能作为左值
- Spark修炼之道——Spark学习路线、课程大纲
- Linux之Firewall防火墙、iptables、firewalld
- 怎样用sql语句复制表table1到表table2的同时复制主键
- HDU4757 Tree(可持久化Trie)
- 通信技术基础知识回顾
- 6条开会清单,教你组织一场高效会议!
- html 的scor属性,[HTML] 通过 scrollWidth 属性滚动内容
- Unit nginx.service entered failed state(nginx启动失败)
- 面试之路(6)-BAT面试之操作系统内存详解
- POWER+模块化UPS与传统UPS的比较
- 文本挖掘 - 文档模型
- iconfont symbol引入使用有彩色,通过class引入没有彩色
- 通告,消息,提醒,设计
热门文章
- 10激活网页被劫持_新手学习SEO需掌握的10大SEO技能
- 我的世界服务器的启动器在哪个文件夹,原神启动器在哪 启动器位置文件介绍...
- C: integer overflow,隐式类型转换/整数加法溢出 解决方法示例;check_add_overflow;__builtin_add_overflow
- 不同分发平台的区别和特点
- idea的java项目怎么连数据库_idea 使用Java连接SQL Server数据库教程
- PowerShell脚本免杀/bypass/绕过杀毒软件
- 每天新老用户,日活,周活,月活的hive计算
- 金科科技学院计算机系统,金陵科技学院教务管理系统登录入口二本公办院校
- 关于位运算符号的辨识及运用示例
- 百度资源(站长)平台怎么提交收录?