OVO题解

OVO

点击链接进去就是这个
在这里插入图片描述
从这个页面看来我们只要做两件事,1、得到NISA服务器的IP;2、从这个IP访问这个网页;
对于第一件事我们直接跑去问出题人就可以得到答案了了,第二件事会麻烦亿点。
虽然觉得跑去施学共楼劫持服务器不失为一个很好的方式,但是因为天气冷,不想出门,遂放弃。为了能在温暖的宿舍里拿到flag,我们要用专业的技术伪造一下自己的IP。

讲这个之前我们先来复习预习一下计算机网络这门课程,首先,我们得知万维网WWW的工作过程大概是这样的:我们的浏览器向服务器发出浏览某个页面的请求(HTTP请求报文),服务器接着就返回所请求的页面作为响应(HTTP响应报文)。
在这里插入图片描述
以向NISA服务器发送的请求为例:
在这里插入图片描述
HTTP请求报文分为三个部分:
第一部分:开始行,也就是第一行,用来说明请求类型,要访问的资源以及所使用的HTTP版本.
GET说明请求方法为GET,http://10.128.11.66:31005/OVO/ 为要访问的资源URL,该行的最后一部分说明使用的是HTTP1.1版本。
第二部分:首部行,紧接着请求行(即第一行)之后的部分,用来说明服务器、浏览器和报文主体的一些信息。
第三部分:实体主体,描述请求数据,这个例子里面莫得。

前面的没看懂没关系,简单的梳理一下就是,我们的浏览器要向服务器发送HTTP请求报文,来获取想要的页面信息,而我们可以在请求报文的第二行及以下添加或更改一些信息,伪造访问IP,欺骗服务器,迈出成为渣男的第一步。

第一步,复制一下题目链接,待会要用
接下来我使用的工具是Fiddler,因为没有bp的未过期证书,这玩意儿怎么装的我忘了,(向国科的老师要个Burpsuit快一点
我们在浏览器还未向服务器发送请求的时候把请求报文拦截下来,点击Rule->Automatic Breakpoints->Before Requests。
这个操作会让我们上不了网,然后就可以安心做题了

在这里插入图片描述
在浏览器中输入题目链接,返回Fiddler看到抓住了一只OVO,双击它
在这里插入图片描述
点击右上角的RAW,在首部行(第二行及以下)添加一句:X-Forwarded-For:10.128.11.66
在这里插入图片描述

伪造成功,点击绿绿的键把改过的报文放回去,不明真相的服务器开心地把他接住了,并返回了
在这里插入图片描述
套娃实锤
我们从上面的知识可以知道首部行是说明浏览器、服务器的一些信息的,所以我们将首部行中user-agent的值修改为OVO,(user-agent可以表明用户代理是使用xx浏览器)
在这里插入图片描述

放回去得到flag

在这里插入图片描述

02-13
针对 OVO(One-vs-One)分类器,它是一种用于多类别分类的策略,通常使用特定的分类器(如逻辑回归、SVM等)来处理每对类别之间的二元分类问题。因此,特征的重要性排名可以通过每个分类器的权重或特征系数来衡量,这取决于你选择的具体分类器。 以下是一个示例代码,用于使用逻辑回归作为 OVO 分类器,并绘制特征重要程度排名: ```python from sklearn.datasets import load_iris from sklearn.linear_model import LogisticRegression import numpy as np import matplotlib.pyplot as plt # 加载示例数据集(鸢尾花数据集) data = load_iris() X = data.data y = data.target # 使用逻辑回归作为 OVO 分类器 ovo_classifier = LogisticRegression(multi_class='multinomial', solver='lbfgs') ovo_classifier.fit(X, y) # 获取特征系数(权重) feature_coefs = ovo_classifier.coef_ # 获取特征名称 feature_names = data.feature_names # 对特征系数进行排序 indices = np.argsort(np.abs(feature_coefs))[::-1] # 绘制特征重要程度排名条形图 plt.figure(figsize=(10, 6)) plt.title("Feature Importance Ranking") plt.bar(range(len(indices)), np.abs(feature_coefs[indices])) plt.xticks(range(len(indices)), [feature_names[i] for i in indices], rotation=45) plt.xlabel("Feature") plt.ylabel("Coefficient") plt.show() ``` 通过以上代码,你可以获得一个特征重要程度排名的条形图,其中 x 轴表示特征名称,y 轴表示特征系数(权重)。请确保 `feature_names` 列表与数据的特征顺序一致,以正确地显示特征名称。这个示例使用逻辑回归作为 OVO 分类器,你也可以根据需要选择其他适合的分类器,并使用相应的属性来获取特征的重要性排名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值