0%

NAT与Switch联机加速

猛汉R试玩已经于今日上线,这不玩这不玩这不玩?
盾斧的衣服好好看呜呜,我猜是影蜘蛛套,我吹爆
由于穷逼没钱买加速器,所以试玩了两把太刀和盾斧之后就开始研究起了怎么用现有白嫖节点来优化Switch的联机体验,然后产生了这篇文章

Eshop加速

就以我自己为例,使用香港节点直接做到600k/s的下载速度,快速下载mhr,不要小看这个速度,任地狱的垃圾服务器下行带宽有限(虽然用了一堆CDN,但是就这么点速度)就算是充钱买的加速器也就2m/s多一点,对于白嫖党来说这已经很不错了

我用的clash,直接勾选Allow LAN,允许局域网访问,然后让电脑和Switch在同一个WiFi下,配置switch的代理设置为电脑ip加7890端口即可,挑一个港服节点,进行快速港服eshop下载
(其实因为垃圾校园网需要认证switch没法连,我自己还是本机连校园网然后同时开热点让switch连电脑热点下的。。。。)

阅读全文 »

Java的奇怪命令执行

最近在打工,做的java CVE复现,用ysoserialize产生一个Java.Runtime.exec的payload命令执行,发现出现了一定的问题

由于没有回显,因此需要想办法验证命令执行的情况,能执行一些简单的命令,比如touch文件,或者curl出来,确实能成功,但是想写shell的时候就遇到了奇怪的问题,没有回显也不知道哪报错,最后通过百度发现问题的根源在于Java.Runtime.exec的诡异实现

也当头一次试着跟进超级多的java类看Java实现,记录一下一切都是怎么回事

Runtime.getRuntime().exec(cmd)

阅读全文 »

CCPC被日调查

今天在群里看到说CCPC主页被日了,赶紧过来吃一波瓜,顺便看看是怎么实现的

简单测试之后发现,从搜索引擎过来就会跳转,而直接域名访问则不会,看一下主页的内容,发现了奇怪的代码
改的是HTML的header部分,顺便试了试登录注册什么的各种功能都没反应了,感觉是被打穿了把后台都改坏了?

代码

被日的部分估计就这段
菠菜站相关内容都给我用中文替换了,不给菠菜站引流哈。。。。

阅读全文 »

[XCTF]华为第三场

华为三连最后一场,web就两个题,一个题是nodejs模板注入,是一个完全不了解的领域
还有一个是PHP题,不知道出题人想表达什么
学了一天nodejs的hbs库的模板注入,不过还是没怎么懂,可能学的不够认真,也不知道怎么去调试,文档也没看几句,js的玄妙特性也不了解。。。

华为HCIE的第一课

登录,进去之后有一个没有用的功能,进admin路由,403,发现f参数任意文件读取,先回上层目录读了app.js,获得目录结构之后读admin.js,util.js等文件
admin.js需要验证用户是否本地登录,不行就403,但是存在一个使用__proto__覆盖的机会

            user = JSON.parse(`{"name" : "${req.session.name}", "time" : "${Math.ceil(new Date().getTime() / 1000)}", "ip" : "${req.ip}"}`)
阅读全文 »

[XCTF]华为第二场

这个星期好像华为三连。。。今天这场选星期三刚好完全满课,下午就没机会看了,中午花了一个小时做了一个web签到呜呜,估计下午肯定还有一堆新题

babyphp

给了一个莫名其妙的扫描扫描器界面,可选ip端口和超时时间,随便怎么输都是回显Port scan is deperacted and try to find the source code! // Google is your best friend让人不知道想表达什么,意思是要谷歌出源码?
我反正是没懂什么情况,然后无敌老国王直接从GitHub给我丢了一份源码
直接把HTML复制粘贴在GitHub上一搜就能搜到对应的代码
太牛逼了

<?php
set_time_limit(0);//设置程序执行时间
ob_implicit_flush(True);
ob_end_flush();
$url = isset($_REQUEST['url'])?$_REQUEST['url']:null;

/*端口扫描代码*/
.....这段就是被出题人魔改去掉的部分
/*内网代理代码*/

function getHtmlContext($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, TRUE);    //表示需要response header
    curl_setopt($ch, CURLOPT_NOBODY, FALSE); //表示需要response body
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_TIMEOUT, 120);
    $result = curl_exec($ch);
    global $header;
    if($result){
        $headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
        $header = explode("\r\n",substr($result, 0, $headerSize));
        $body = substr($result, $headerSize);
    }
    if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == '200') {
        return $body;
    }
    if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == '302') {
        $location = getHeader("Location");
        if(strpos(getHeader("Location"),'http://') == false){
            $location = getHost($url).$location;
        }
        return getHtmlContext($location);
    }
    return NULL;
}

function getHost($url){
    preg_match("/^(http:\/\/)?([^\/]+)/i",$url, $matches);
    return $matches[0];
}
function getCss($host,$html){
    preg_match_all("/<link[\s\S]*?href=['\"](.*?[.]css.*?)[\"'][\s\S]*?>/i",$html, $matches);
    foreach($matches[1] as $v){
        $cssurl = $v;
        if(strpos($v,'http://') == false){
            $cssurl = $host."/".$v;
        }
        $csshtml = "<style>".file_get_contents($cssurl)."</style>";
        $html .= $csshtml;
    }
    return $html;
}

if($url != null){

    $host = getHost($url);
    echo getCss($host,getHtmlContext($url));
}
?>
阅读全文 »