Aynakeya's Blog

Kill My Emotion

前言

说点前言,但是我又不知道说啥了。

由于最近突然喜欢在做事情的时候开个有声小说,于是我就把喜马拉雅这个软件重新下载了下来,并小冲了一个会员。

我注意到喜马拉雅这个客户端同时具有下载的功能,小小的尝试了一下,发现下载下来的文件为.xm文件格式。这个格式属于一种加密的格式,除了喜马拉雅客户端之外都不能播放。

什么,加密的?这怎么能忍。

仅限于学习交流使用,本文作者不负任何其他责任

Disclaimer: Only used for educational purpose.

Read more »

In Feb.6 2022. I miss the interview with ****(name reducted). The reason for that is that my calendar had its sheduled interview time at 12:30 instead of 11:30.The event in the calendar was automatically added using an todo list application (a sub module of FMA) written by myself, so there must be a hidden bug I didn't find.

Debugging

I first analyze the process of event synchronization. There are basically two stage, the first stage is parsing, the second stage is send request to calendar api.

I first test calendar api using an unit test I've already written. Everything works fine.

So, the problem occurs in time parsing stage.

After running another unit test, I found out there was a bug in time conversion. I forgot to change timezone value

1
2
// to unix time
currentTime.Add(time.Hour*(-7))

because In Canada, there is a daylight saving time. In winnter, it is actually -8 instead of -7!

As a result, the calculated time is one hour later than the actual time.

Fixing

1
2
// to unix time
currentTime.Add(time.Hour*delta)

Lesson Learned

Never use your own application in real shit

PrairieLearn Java Autograder Vulnerability

Aynakeya aynakeya.official@gmail.com

Abstract

This is a walkthrough of one vulnerability I found in PrairieLearn Java autograder.

The default Java autograder exists vulnerabilities that allow user to leak information and write files to the container.

These vulnerabilities allow the user to modify the result of autograder score and get 100% without writing any actual code.

Vulnerability has been fixed in commit 7871ce5

Since the vulnerability hasn't been fixed yet. Anyone who read this document should not disclose the content of the vulnerability

to public in any form until the vulnerability is fixed and deployed to production.

Read more »

从0开始的VB程序破解

上周,为了整点乐子,我打算寻找一个简单的软件来进行破解。正好某群友有一个需要破解的应用,于是这个应用就不幸的成为了我的目标。

开始之前先来介绍一下这个程序,MagicEXIF一个非常强大的图片元数据编辑器。 分为免费版,专业版,旗舰版。

安装完程序后,先来看看程序的基本信息

Read more »

Linux piping in summary

Symbol Purpose
| pipe standard out from one program to standard input of another
< redirect standard in from a file
> redirect standard out to a file, deleting its current contents
&> redirect both standard out and standard error to a file, deleting its current contents
>> redirect standard out to a file, adding to the end of tis current contents
&>> redirect both standard out and standard error to a file, adding to the end of its current contents

Introduction

I have solve several seccomp related challenges in past few ctfs. To further enhance my understanding on seccomp, I decide to take a some time and learn how seccomm works.

All the codes used in this post can be download from here seccomp.zip

Seccomp

So whats is seccomp? "Seccomp is a computer secuirty facility in Linux kernel.[1]"

Basically, seccomp create a sandbox which limit user's ability to use syscalls. Using seccomp, we can create a environment that allow/disallow specific syscall being used.

The first version seccomp released at 2005. At that time, seccomp only have one node: strict mode. In this mode, users are only allowed to use four type of syscall read, write, exit and sigreturn. In strict mode, if user use any of syscall other than those four, the program will terminate immediately. (This is not very useful because there are too many limits!)

Then, in 2012, the second version of seccomp was introduced. Now seccomp have a new mode called filter mode. In this mode, user can specify syscalls that are allowed to run using BPF (Berkeley Packet Filter) virtual machine.

Read more »

前言 & 简要介绍

我为什么突然要搞一个内网穿透呢,因为oracle有一个免费的机器,放着也没用,不如整一个frp做内网穿透好了。

什么是内网穿透,简单来说就是你家里有一个服务器,开放了一些服务想要给外面的人用。但是你没有公网ip,所以外面访问不了。

这个时候,就需要内网穿透。通过一个有公网地址的服务器,把流量转发过来。

接下来就是我如何配置内网穿透的过程了。

Read more »

Ubuntu从20.04升级到22.02之后ssh的私钥不能用了,出现permission denied.

查了一下是因为Ubuntu22.04默认不再支持SHA1了。所以就不能用了。

解决方法也很简单,生成一个新的密钥对即可

1
2
ssh-keygen -t ed25519 -C "youname@computer-name"
ssh-copy-id youname@xxx.xxx.xxx.xxx

参考答案

0%