NUSTCTF2019出题笔记

前言

       本次校赛共参与出了五题,四道Web,一道Misc。Web涵盖的常见漏洞有XSS、SSRF打Redis,特殊漏洞有服务器配置错误导致任意更改文件,NodeJS某版本任意文件读取漏洞。Misc则是一道Linux提权题。其中sendRedirect相当于Web签到题,put your hands up,net-disk有选手解出。在此记录一下出题过程、收获。

Hello World

Notice!

This was the default starting page of hexo. I feel like changing it to mark the fundation of my new( first, to be accurate) private blog.

I have been writing blogs on LTFWIKI since January,2018. Powered by WordPress, LTFWIKI was also used by 3 schoolmates of mine and I was responsible for its maintainance( I was not quite competent, honestly).

Due to the expiration of the domain and vps, and two users have set up their own blogs( you can find the links in the friendly links panel on the left), we decided to abandon that site and find a new way out( the migration to github.io is not completed yet).

I chose to migrate the articles I have written on LTFWIKI during the past year to this site since github.io is easy to use, not to mention it is free : ). Plus, github.io provides SSL certificates by default and requires no work with the servers, saving me loads of labour.

Using this blog, I plan to record and share some knowledge used in CTF, involving writups of challenges, security tools and testing environments, as I have done on LTFWIKI. Moreover, since this is a private blog, some unrelated information and experience I obtained may also be published here.I will update this blog irregularly at my pleasure, but as github.io provides long-term support and I use github quite often, this blog is not going to be abandoned unless I find a better solution.

如何用P4wnP1_aloa进行HID攻击

前言

P4wnP1基于树莓派zero (w),是一个快捷高效的HID攻击平台,可以进行Windows密码破解、HID隐藏信道后门、模块化USB设备模拟等,于2017年2月第一次发布,现在主要开发者已停止对其开发,全力开发它的升级版——P4wnP1_aloa。P4wnP1_aloa也是基于树莓派zero w,与P4wnP1善于高效攻击相比,P4wnP1_aloa更注重HID测试,提供web客户端,调整、配置更加方便。P4wnP1一次可以模拟8个HID设备,包括键盘、鼠标等。同时,P4wnP1_aloa使用的HIDscript基于JavaScript,无论是自定义脚本还是对RubberDucky的脚本进行改写都很方便。P4wnP1_aloa还可以通过自定义输入速度,随机时间间隔,更好的模拟人工操作,欺骗防护机制。
截止至本篇发表日期,P4wnP1_aloa的最新发布版本为2018年12月发布的v0.1.0-alpha2,相关信息见releases。由于软件尚处于开发初期,国内外资料较少,本篇基于笔者的实践对P4wnP1_aloa进行介绍,想要更深入的了解P4wnP1_aloa可以阅读官方README链接,笔者也是主要根据README对其操作进行的学习。

Bash笔记

前言

虽然接触Linux很久了,但真正接触命令行操作,到了解命令行哲学,只有大约一年,且是用到什么就学什么,缺乏系统性,在此做一个复习整理,顺便学习一些提高效率的骚操作(其实基础都没学全),方便以后复习、速查,。Linux中的zsh、fish等shell有一些定制化的快捷功能,可以有效提高命令行操作效率,但为了确保拿到一台机器就能够上手,我只学习了bash操作。本篇整理不会全面,也不一定准确,目的是记录我在学习和使用中的关注点,对Linux轻度用户来说这些知识点基本满足日常需要。参考the-art-of-command-line进行学习、整理。explainshell.com可以把一行命令中各个参数提取、分析并给出相应解释,个人感觉很强大,在碰到大佬们让人看不懂的组合指令时可以求助于它。

如何将mkv视频导入Adobe Premiere

前言

在进行影片剪辑时,常常遇到想要的画面中存在字幕(强迫症受不了,观众也会下意识地去看字幕,影响整体效果),或者人物所说的话需要与视频画面错开的情况(话音不对应最尴尬)。mkv封装格式可以将多个音频、视频、章节、字幕轨道封装到一个文件中,在播放时,可以在播放器中选择不同外挂字幕,配音等。Adobe Premiere,专业的视频剪辑制作软件,对H265的支持不是很好。
本次笔者有幸找到了高质量素材,面对的情况是:mkv文件由mpegh视频、flac音频、pgs/hdmv(sup)字幕、章节四个轨道封装。音视频文件质量都挺高,尤其音频轨道占一个多G,都快赶上视频了,但封装的几种文件对于操作来说非常不友好,在此记录一下踩坑、爬坑的过程。

纯符号shell的学习

一道ctf题,看了其他大师傅的payload才搞懂了。后来试图绕过40字符写入webshell,走了一些弯路,最后只构造出一种37个字符的payload,记录一下。

题目:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
include 'flag.php';
if(isset($_GET['code'])){
$code = $_GET['code'];
if(strlen($code)>40){
die("Long.");
}
if(preg_match("/[A-Za-z0-9]+/",$code)){
die("NO.");
}
@eval($code);
}else{
highlight_file(__FILE__);
}
//$hint = "php function getFlag() to get flag";
?>

PHP文件和目录 笔记补充

笔记补充。

  1. 打开文件

语法:fopen(文件名或url,打开模式)

打开模式:

只读 r 以只读方式打开文件,指针指向文件头

读写 r+ 以读写方式打开文件,指针指向文件头

写入 w 以写入方式打开文件,指针指向文件头,若文件存在则清空,若不存在则尝试创建

读写 w+ 以读写方式打开文件,指针指向文件头,若文件存在则清空,若不存在则尝试创建

添加 a 以写入方式打开文件,指针指向文件尾,若不存在则尝试创建

添加 a+ 以读写方式打开文件,指针指向文件尾,若不存在则尝试创建

,