0%

Switch自建加速终章

短时间内不会再研究这个东西了,到最后感觉还是竹篮打水一场空。。。但是发现之前写的东西似乎有一点问题,订正一下然后最后总结一下这几天都干了什么奇怪的事情

2022.2.12 update

写在前面
套娃操作实际意义不大,起码我目前从未见识过所谓的UDP断流等情形,switch联机的P2P性质使得游戏体验在理论上由几个因素决定:1.NAT类型,NAT类型决定了联机进入房间的成功率,NAT到A只要丢包不严重你就是人上人;2.出口点之间的网络环境,比如你开个加速器飞去美国,然后国内裸连卡比就等于是从国内连你,还是卡,但是你们俩都飞美国或者都在国内,可能就很顺畅了。比如我和我大哥直接校园网畅快联机。。。3.网络链路质量,正常人一般使用的都是家用网络,总是能在网上看到说这个机房去程xx线路回程xx线路的。如果是很好的线路应该就不用考虑丢包延迟问题了,因此自建时服务器所使用的链路应该影响也很大。
还是推荐一下后来更新的较稳定方案
且该套娃方案可能由于工具本身的问题,会导致NAT类型的退化,不建议用于Switch P2P联机加速,反而可能对某些PC端CS类型游戏有效
Switch自建NAT优化指北

—————原文章内容分割线————–

阅读全文 »

Docker escape

Docker逃逸的本质和硬件虚拟化逃逸的本质有很大的不同,容器逃逸的过程是一个受限进程获取未受限的完整权限,又或某个原本受Cgroup/Namespace限制权限的进程获取更多权限的操作,更趋近于提权。

前置知识

在开始之前,先看看docker和docker实现相关的技术基础

Linux namespace

阅读全文 »

[D3CTF2021]记录

难到自闭,所以就只能叫做记录了。。。最简单的8-bit-pub看了两天头都给打蒙了,剩下的题基本上就不想看了
开始对着wp复现

8-bit-pub

前端好看,反手进行一个下载
给了源码,主要看一下就三点,以admin身份登录,admin拥有发邮件功能,shvl很可疑的原型链污染库

Admin登录

阅读全文 »

横向移动

本文基本上译自参考链接Lateral Movement

寻找拥有访问权限的地方

使用以下一种或多种方法,将向Active Directory用户授予对通用资源的访问权限:

  • 使用组策略对象(GPO)将用户添加到本地组
  • 本地添加用户到本地组,可以通过net.exe完成所述功能
  • 模拟一个在多个系统中使用相同密码的本地用户
  • 对共享文件提供读权限
  • 在AD中配置访问控制列表(ACL)
  • 使用AD用户/组配置对MSSQL实例的访问
阅读全文 »

[UnionCTF2021]Cr0wnAir

最近天天被外国比赛暴打。。。。这次UnionCTF两个web,一个sqlite的union注入,零过滤,百度的payload都能打通,还有就是这个题,还蛮有意思的,后面这步利用感觉还比较实用,学习了

源码

贴一部分

checkin.js
const pattern = {
  firstName: /^\w{1,30}$/,
  lastName: /^\w{1,30}$/,
  passport: /^[0-9]{9}$/,
  ffp: /^(|CA[0-9]{8})$/,
  extras: [
    {sssr: /^(BULK|UMNR|VGML)$/},
  ],
};
function isSpecialCustomer(passport, frequentFlyerNumber) {
  return false;
}

function createToken(passport, frequentFlyerNumber) {
  var status = isSpecialCustomer(passport, frequentFlyerNumber) ? "gold" : "bronze";
  var body = {"status": status, "ffp": frequentFlyerNumber};
  return jwt.encode(body, config.privkey, 'RS256');
}
.....
  if (jpv.validate(data, pattern, { debug: true, mode: "strict" })) {
    if (data["firstName"] == "Tony" && data["lastName"] == "Abbott") {
      var response = {msg: "You have successfully checked in! Please remember not to post your boarding pass on social media."};
    } else if (data["ffp"]) {
      var response = {msg: "You have successfully checked in. Thank you for being a Cr0wnAir frequent flyer."};
      for(e in data["extras"]) {
        if (data["extras"][e]["sssr"] && data["extras"][e]["sssr"] === "FQTU") {
          var token = createToken(data["passport"], data["ffp"]);
          var response = {msg: "You have successfully checked in. Thank you for being a Cr0wnAir frequent flyer. Your loyalty has been rewarded and you have been marked for an upgrade, please visit the upgrades portal.", "token": token};
        }
      }
阅读全文 »