不存在的世界
久等了! 无脑领红包! 来看看自己是不是幸运儿吧!
好的 小额红包明明是 1/16 的概率但还是很快就被领完了 orz
那有谁想来挑战一下 1/32 的概率吗?
那有谁想来挑战一下 1/32 的概率吗?
Forwarded from OI Wiki News (mgt | SIGSLEEP)
新年新气象,OI Wiki 项目组在此祝大家新春快乐!在新年之际,我们宣布持续咕咕开发一年之久新版前端—— OI Wiki ng 已经进入 beta 状态。欢迎大家访问 next.oi-wiki.org 来体验一下!
目前我们还在逐步适配主站的文档,如果你遇到了 bug,或者是觉得有可以改进的地方,请到我们的 GitHub 仓库 提出 issue,也欢迎你进入我们的开发群加入讨论。
目前我们还在逐步适配主站的文档,如果你遇到了 bug,或者是觉得有可以改进的地方,请到我们的 GitHub 仓库 提出 issue,也欢迎你进入我们的开发群加入讨论。
不存在的世界
久等了! 无脑领红包! 来看看自己是不是幸运儿吧!
好的 中额红包明明是 1/256 的概率但还是很快就被领完了 orz
那有谁想来挑战一下 1/512 的概率吗?
以及是不是有人在 Hack 平台?Invalid IP Address!
那有谁想来挑战一下 1/512 的概率吗?
以及是不是有人在 Hack 平台?Invalid IP Address!
不存在的世界
久等了! 无脑领红包! 来看看自己是不是幸运儿吧!
解析来了~
首先 IP 是决定信息长度的唯一因素。
信息长度大于等于 16 时,第一个红包口令可见,随机 IP 情况下概率 1/16。有时候这并不需要什么技术,只需要一点运气就可以看到了。
然后我们可以发现信息长度都为 2 的倍数,以及有少量信息长度为 32 的情况,说明后面有额外隐藏的信息。
这时候已经有人开始用代理池扫了。于是我们可以看到,信息长度大于等于 256 时,第二个红包口令可见,随机 IP 情况下概率 1/256。
但没有代理池就不行了?当然不是的,正解怎么可能是代理池……我们可以添加多种 Header 头尝试伪造 IP,发现 Client-IP 会带来不同的回显,经过尝试发现我们只能伪造 IP 的第四段而且数值不能超过 255。
同时搜集数据加以分析我们可以发现,消息长度和 IP 四段数值之和有关(思路大概是转成二进制然后逐位确定规律)。
这时候估计已经有人的消息长度到 512 了,此时 IP 和为 485。假如要让消息长度到 1024 则需要让和变成 485+512=997,这时候就需要结合伪造 IP 的方法了。
同时我们注意到消息中出现了一串字符串「'/xxx.xxx.xxx.???/i'」这一方面暗示「只有 IP 第四段的数值可被伪造」,一方面这其实是判定 IP 是否合法的正则表达式。很容易发现正确的写法是「'/^xxx.xxx.xxx.???$/i'」即多加了个行首行尾匹配。所以第四段只要最高三位在 0~255 范围内就能通过合法性检验。
这样经过尝试,当我们伪造了一个四段之和为 485+512+1024=2021 的 IP 时服务器便会吐出所有信息。这也就是最后一个红包。
补充一句,消息长度等于 lowbit(sum^2021)。
以上。谢谢大家的参与 w
首先 IP 是决定信息长度的唯一因素。
信息长度大于等于 16 时,第一个红包口令可见,随机 IP 情况下概率 1/16。有时候这并不需要什么技术,只需要一点运气就可以看到了。
然后我们可以发现信息长度都为 2 的倍数,以及有少量信息长度为 32 的情况,说明后面有额外隐藏的信息。
这时候已经有人开始用代理池扫了。于是我们可以看到,信息长度大于等于 256 时,第二个红包口令可见,随机 IP 情况下概率 1/256。
但没有代理池就不行了?当然不是的,正解怎么可能是代理池……我们可以添加多种 Header 头尝试伪造 IP,发现 Client-IP 会带来不同的回显,经过尝试发现我们只能伪造 IP 的第四段而且数值不能超过 255。
同时搜集数据加以分析我们可以发现,消息长度和 IP 四段数值之和有关(思路大概是转成二进制然后逐位确定规律)。
这时候估计已经有人的消息长度到 512 了,此时 IP 和为 485。假如要让消息长度到 1024 则需要让和变成 485+512=997,这时候就需要结合伪造 IP 的方法了。
同时我们注意到消息中出现了一串字符串「'/xxx.xxx.xxx.???/i'」这一方面暗示「只有 IP 第四段的数值可被伪造」,一方面这其实是判定 IP 是否合法的正则表达式。很容易发现正确的写法是「'/^xxx.xxx.xxx.???$/i'」即多加了个行首行尾匹配。所以第四段只要最高三位在 0~255 范围内就能通过合法性检验。
这样经过尝试,当我们伪造了一个四段之和为 485+512+1024=2021 的 IP 时服务器便会吐出所有信息。这也就是最后一个红包。
补充一句,消息长度等于 lowbit(sum^2021)。
以上。谢谢大家的参与 w