XCTF Final 2019 Web Write Up
我们 SU 这次一共做出了3个 Web ,由于今年 XCTF Final 的时间不是特别好,我们队其他师傅有考试的考试,基本就现场的两个 Web 手在做,最后 LFI2019 比较可惜,如果多个几 min 我们就可以出了,实在可惜。下面就写写本次的 Web Write Up。[TOC]Webbabyblog界面跟 Byte CTF 的 babyblog 一致,有些功能还保留着,很有误导性…以为是个升级版,前者是一道二次注入后用 php 正则/e特性来执行命令的,所以我们一开始也就一直在日注入了…后来我发现/user个人界面有 ip 记录,于是尝试 XFF 注入无果,但是可以把 XFF 直接回显到页面上。发现/server_status,发现有大家的访问记录。陷入思考ing…队友突然看到有一个访问记录/us..
更多[开源福利]Scrcpy-GUI
高效控制你的 Android 设备。前言💡简介 是由流行的Android模拟器Genymotion背后的团队创建的,但它本身并不是Android模拟器,它显示和控制通过USB(或通过TCP/IP)连接的Android设备,它不需要任何root访问权限,它适用于GNU/Linux、Windows和MacOS。Scrcpy的工作原理是在你的Android设备上运行服务器,桌面应用程序使用USB(或使用ADB隧道无线)进行通信。服务器流式传输设备屏幕的H.264视频。 客户端解码视频帧并显示它们。客户端捕获输入(键盘和鼠标)事件,将它们发送到服务器,服务器将它们注入设备。文档提供了更多详细信息。如果你想在桌面上看到你的Android屏幕与应用程序或内容进行交互,记录你的手机屏幕或执行其他基本任务,那Scrcp..
更多Go 开发中的十大常见陷阱[译]
Golang 中要注意的陷阱和常见错误。前言原文: The Top 10 Most Common Mistakes I’ve Seen in Go Projects作者: Teiva Harsanyi翻译许可: image-20210118234116954 img 我在 Go 开发中遇到的十大常见错误。顺序无关紧要。正文未知的枚举值让我们看一个简单的例子:1234567type Status uint32const ( StatusOpen Status = iota StatusClosed StatusUnknown)在这里,我们使用 iota 创建了一个枚举,其结果如下:123StatusOpen = 0StatusClosed = 1StatusUnknown = 2现在,让我们..
更多为 Windows PowerShell 设置 User Alias (命令别名)
直接看步骤的话,在最下方。背景Windows Terminal 虽然还处于预览阶段,但是也出来很长一段时间了。它的历史使命,也许就是让原生 Windows 也能有一个像样的命令行环境。以前我一直在用 Cmder,但是 Cmder 的启动速度确实不敢恭维,而 Windows Terminal 启动确实很快。相比 Cmder, Windows Terminal 还缺少很多功能,不过以后应该很快也会补上。我想尝试使用 Windows Termimal 进行开发。Windows Terminal 默认可以使用 PowerShell、cmd、wsl bash作为脚本工具。既然是在 Windows 环境下嘛,还是得尊敬一下 Windows PoweShell 的。初次使用,我觉得 PowerShell 跟 Cmder..
更多《深入解析Go》笔记
在 GitHub 上找到一本解读 Go 实现细节的好书,名叫《深入解析 Go》。 大致看了一遍,简单做了些笔记。 这本书的代码来自 Go 1.3,所以还有一部分由 C 语言写成。 这份笔记里的代码来自 Go 1.12.5,数据结构全部由 Go 语言实现。 数据结构 string 和 slice 都是引用类型,可能开在栈上,也可能开在堆上; channel 和 map 是引用类型,但一定开在堆上,栈中只有指针。 string 底层结构 src/reflect/value.go 1234type StringHeader struct { Data uintptr Len int} string 是不可变数据结构,任何对 string 的操作都会产生一个新的 string. 因此,需要拼接..
更多Golang 学习记录
这几个月在考虑从 Python 转向 Golang,所以专门学习了 Golang. 这里是 Golang 学习的一些记录。 学习笔记稍后再整理(咕),先列一下我这几个月看过的各种教程吧。 阅读列表 Go by Example Go by Example 是对 Go 基于实践的介绍,包含一系列带有标注说明的示例程序。 真·快速上手必备。 《Go语言四十二章经》 《Go语言四十二章经》详细讲述了Go语言规范与语法细节以及在开发中常见的误区;通过对标准库包和著名第三方包的实际运用,来启发读者深刻理解Go语言的核心思维,仔细琢磨经典代码设计模式,引领读者进入Go语言开发的更高阶段。 讲解详细、信息量超大的 Go 语言教程。 Go Tour 经典的 Golang 官方教程。 上大学的时候啃过..
更多如何成为 IDEA 键盘流
好了,你完全可以丢掉鼠标了。前言常言道:“工欲善其事必先利其器”。如何高效编程,成为 JetBrainsIDE 键盘流呢?当然是熟悉快捷键再加上各种插件啦~ IDEA JetBrainsIDE 有默认的一套快捷键方案,不过在经过长时间的使用后,发现总有些一些快捷键令我难以接受。遂花了一天的时间,将快捷键全部调整了一遍,并深度结合了IdeaVim插件,总结如下:本篇文章适用于任何 JetBrains 公司出品的 IDE ,包括 PhpStorm ,WebStorm ,PyCharm ,RubyMine ,CLion 等。 IDEA 正文快捷键多光标添加或移除光标Ctrl + 左键拖动鼠标选中多行区域Shift + 左键拖动在上方/下方插入光标Ctrl + Alt + 上下键编辑删除行Ctrl + D..
更多用堆找出最小的 N 个数
不知道为啥,突然想水一篇很水的算法文章。 今天整理 MySQL 的笔记,看到了这样一句话: MySQL 在执行 ORDER BY x LIMIT n 这类语句,且 LIMIT 的数量有限时(比如只需要 3 条数据),MySQL 会尽量通过堆来构建优先队列,减少排序所需的时间。 这是堆的一个经典应用:从海量数据中找出最大(小)的 n 个数。 之前只用堆写过堆排,没有用堆处理过在线算法,所以就写了写。 用一句话概括这个算法:要找最小的数,就要构建大顶堆。 在处理数据时,我们会构建一个大顶堆 H,那么 H[0] 的值也就是当前数据中最小的 N 个数中的最大值,也就是第 N 小的数。 当处理新的数时,如果这个数小于堆顶的数,那么就把它变成堆顶,然后再对堆进行维护,以保证有序。 此算法的时间复杂度为 O(Ml..
更多服务器初始化
记一下服务器的初始配置。前言前些日子,入手了一台服务器,特此记录一下它的初始配置。正文注:本人主机为 CentOS 7 x64 系统,以下内容均基于此环境。安全设置请查考 肉鸡是怎样炼成的字符集修改123456cd /etc/sysconfig/sudo vi i18nLANG="zh_CN.utf8"source /etc/sysconfig/i18n设置 DNS123vi /etc/resolv.confnameserver 114.114.114.114nameserver 8.8.8.8配置 Yum 源123456cd /etc/yum.repos.d/sudo mv CentOS-Base.repo CentOS-Base.repo_baksudo wget -O /etc/yum.repos..
更多肉鸡是怎样炼成的
你的服务器正在被攻击!前言安全是一个服务器最基本的必备条件,在创建了服务器之后,你首先要做的事情就是将服务器加固。由于服务器就相当于一台拥有独立 IP 的、直接暴露于互联网之上的电脑,这在为你带来便利的同时也直接让你的服务器与危险画上了等号,密码穷举、DDOS 攻击、各种各样你想到的、想不到的攻击方法都在等着你。说不定你的服务器正在被攻击!正文注:本人主机为 CentOS 7 x64 系统,以下内容均基于此环境。查看攻击情况查看登录失败的日志1sudo lastb统计尝试暴力破解机器密码的 IP1sudo grep "Failed password for invalid" /var/log/secure | awk '{print $13}' | sort | uniq -c | sort -nr | ..
更多