0%

CyBRICS 2021 的一道题说起:rm -rf'er

Author: Vlad Roskov(@mrvos)

Alaram! We accidentally did rm -rf /* on a very important server. Now all that’s left is one shell session.

ssh [email protected]

Password: sa7Neiyi

Rescue the flag.txt file from one of the directories by only using your shell

从环境里把部署文件偷出来自己Van♂,

阅读全文 »

为招新题目环境做准备,又购入一台腾讯云的学生🐔(上海),在上线之前先来试试国内流量中转

因为某些奇妙的原因,移动宽带&出门在外的流量没法连上香港机子的 443 端口,这个节点是配的 vless,

也是 https://github.com/Casio-3/docker-xray-hexo 项目首次成功运作的地方,这个机子的配置在本篇不需要改动。下面记录一下新机的 Xray-core 配置。

网络拓扑图啥的就不画了,一台国内一台国外,搭配黑科技 Xray 来操作流量,也不谈新机的其他配置,就简简单单安装 https://github.com/XTLS/Xray-core 配置好 json。

阅读全文 »

Web 部分

miniljava

不会 Java,就硬试

MainController.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.controller;

import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import java.net.MalformedURLException;

@RestController
public class MainController {
ExpressionParser parser = new SpelExpressionParser();

@RequestMapping("/")
public String main(HttpServletRequest request,@RequestParam(required = false) String code,@RequestParam(required = false) String url) throws MalformedURLException {
String requestURI = request.getRequestURI();
if(requestURI.equals("/")){
return "nonono";
}
else{
if (code!=null) {
String s = parser.parseExpression(code).getValue().toString();
return s;
} else {
return "so?";
}
}
}
}
阅读全文 »

Reverse部分

之前从没碰过 Re(看着难,本人懒,于是鸽),这一次趁着 Viking 的招新摸一下(以题促学?),

感谢 @Vior gaygay 领我入门😘

因为是速成,其实也没专门看过逆向的书什么的(Google Everything),所以把 wp 写啰嗦点

承接上文,这篇文章不太会涉及原理了哈哈,主要是来自 Web 手的 IDA 的愤怒

某种意义上来说这也是个人 IDA 工具使用的总结,可以勉强看作是萌新教程(轻点喷)

阅读全文 »

HGAME 2021 Writeup (部分)

官方地址: https://hgame.vidar.club/

Week1

Web

  • Hitchhiking_in_the_Galaxy

    Description

    第一次在银河系里搭顺风车,要准备啥,在线等,挺急的

    网址打开是一个 404 页面,下附一个可点击的链接:“我要搭顺风车!”,

    用 Burp 抓一下,不出所料有一个 302 跳转,查看之,Title 提示 405 Method Not Allowed

    遂改原 GET 方法为 POST 重新发包(此步之后到 Repeater 模块处操作),

    得响应:“只有使用”无限非概率引擎”(Infinite Improbability Drive)才能访问这里~

    根据经验猜测修改 User-Agent 头,

    后续依次修改 Referer 头以及 X-Forwarded-For 头即得flag

  • watermelon

    Description

    简单且上头的游戏

    结合时事 “合成大西瓜”,此时网络上已经有众多源码分析,此题即考 js审计

    我搜索的字符串 is_number 啥的,使得每次合成的时候获得的分数剧增,然后玩一把到游戏结束检测到分数超过2000就弹flag

    NOTE: chrome 系的 devtools 可以直接在 source 改 js 代码,然而 firefox 改不了,怪哉!

    官方wp上写的也可以查找 gameover

  • 宝藏走私者

    Description

    hint: 注意留意服务器信息
    资料:https://paper.seebug.org/1048/
    宝藏走私者 Switch 喜欢偷盗并将奇特的宝藏走私到一些黑市商家手中。
    为了阻止其继续作恶,警探 Liki 奉命将 Switch 抓捕归案。
    调查过程中,Liki 发现 Switch 将一个秘密藏在了一个私人服务器中。
    这或许会成为后续追查 Switch 的重大线索,你能找到这个秘密吗?

    考察 http_smuggler,出题者后面直接 hint 给出学习资料了

    改 CL-TE 头偷鸡即可,(怀疑我是靠 Intruduer 模块上了别人的车。。。

阅读全文 »

Ⅰ. PHP反序列化入门

类与对象

是定义一系列属性和操作的模板,对象就是把属性进行实例化,然后交给里面的方法进行处理。

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
class people{
//定义类属性(类似变量),public 代表可见性(公有)
public $name = 'casio3';
//定义类方法(类似函数)
public function action(){
echo $this->name." is chasing...\n";
}
}

$bin = new people(); //根据people类实例化对象
$bin->action();
?>

上述代码定义了一个people类,并在在类中定义了一个public类型的变量name和类方法action。然后实例化一个对象bin,去调用people类里面的action方法,打印出结果。

阅读全文 »

0xGame 第四周-Web

WriteUp by Casio

1. switch

vim源码泄露,之前遇到过一次了,访问/.index.php.swp果然拿到了源码备份。

没有装Linux环境使用vim,用Git Bash操作$ vim -r index.php.swp

阅读全文 »

0xGame 第三周-Web

WriteUp by Casio

1. inject_me

测试的几条注入都无效,几个特殊字符都原样返回,看看到底发送了什么请求:

1
<user><username>1'</username><password>2</password></user>

诶~有点意思,再F12经过一番仔细挖掘,找到了核心Js:

阅读全文 »

0xGame 第二周-Web

WriteUp by Casio

1. intval

  • 1st

    数组绕过没成功

    查询相关绕过,了解到preg_match缺陷

    而在非多行模式下,$似乎会忽略在句尾的%0a

    故传入?0xGame=20201001%0a

    测试一下:

    1
    http://web.game.0xctf.com:30102/?0xGame=20201001%0a&id=1024

    得到Good job!信号( •̀ ω •́ )y

阅读全文 »