江文|WenDev

持节云中,何日遣冯唐?

> Git的重要性不言而喻,而让一个新手快速上手Git,并把自己的代码提交到GitHub是一个比较困难的事情——毕竟网上很多教程上来就讲仓库、分支这些晦涩难懂的概念,十分劝退新人。于是,凭借着自己对Git的一知半解,我写了这篇教程。 > 此教程适合没有任何基础的人阅读。如果发现有错误,欢迎指正。 # 前言 开始这篇教程的学习之前,我默认你已经掌握了命令行(终端)的基本使用,也就是怎么打开终端,怎么执行命令(其实就是把命令输入进去再回车),怎么在终端里切换目录(cd命令)。如果大家以前没用过终端,可以搜一下PowerShell(Windows用户)或者Linux命令(Linux/macOS用户)的教程,简单学一学。 # Git是什么? 用官方的话来讲,“Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目...

> 用惯了Spring全家桶,偶尔也尝试一下小清新的gRPC吧 > 为啥叫“从入门到破产”呢?因为中文输入法打“gRPC”出来的第一个就是“个人破产”,咱也总不能干啥都“从入门到入土”,“从入门到放弃”吧,偶尔也来点别的,哈哈。 # 一些废话 做完个人网站之后就一直处于非常颓废的状态,而最近总算找到要学的新东西了——`gRPC`! 为什么要学gRPC?还不是因为闲得都要发霉了,急需补充新知识啊,而且我一直觉得gRPC比Dubbo“小清新”多了,非常想找个机会一探究竟。 其实是最近要做一个比较大的项目,涉及到Python和Java混编的问题,为了解决这个问题,所以需要一个可以跨语言的RPC框架。本来想用性能更高的Thrift,但是这东西的参考资料实在太少了,所以选择了资料更多的gRPC。而且gRPC是Google开发的,大厂出品值得信赖啊。虽说Thri...

# 前言 做了这么久的Java开发,也非常喜欢这门语言,却对它本身了解不多。而我又报名参加了2020年的蓝桥杯Java组,并且打算参加软件杯和C4,为了能把这些比赛打好,在下学期的Java程序设计课里拿个高分(虽然能不能选上这门课还不一定),也为了能对Java语言有一个更深入、系统的了解,不在以后的开发中对语言本身感到困惑,所以打算写这个系列,从零开始重新学习Java基础知识,并对第一次学习掌握得不好的部分重新记录。 # 参考资料 《Java核心技术》 [Java300集](https://www.bilibili.com/video/av59814573?from=search&seid=752578900141232775)及其[资料](https://www.sxt.cn/Java_jQuery_in_action/Java_phylogeny.ht...

> 这篇文章是对我所知道的常用、兼容性较好的Markdown语法的一个简单的总结,文中所有的语法在Typora编辑器和简书上都可以正确显示,如有错漏之处,烦请指正。 # 什么是Markdown? 我觉得对HTML比较熟悉的同学可能会很容易地回答出这个问题——Markdown其实就是一个轻量级、用来编写文档的更易用的HTML。 当然,对于没有基础的同学,可以暂时这么认为:Markdown是一门标记语言,可以算是简化版的Word,但是你不需要为了设置各种格式而用鼠标点来点去了,一切格式的控制都像HTML一样,用代码就可以完成。 Markdown文件的扩展名是`.md`,建文件的时候不要建错了。 **注意:Markdown的各种符号都是英文符,尤其要注意圆括号也是英文的圆括号。** # Markdown编辑器推荐 在开始学习之前,肯定需要一份趁手的...

# 新手练习区 ## this_is_flag ![](https://upload-images.jianshu.io/upload_images/15800372-200605fa3634c372.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 送分题。 ## ext3 **考察Linux系统的文件类型和基本操作。** ![](https://upload-images.jianshu.io/upload_images/15800372-0941c97af01b799c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 题目文件叫Linux,拿到WSL里看一看: ![](https://upload-imag...

# 新手练习区 ## view-source ![](https://upload-images.jianshu.io/upload_images/15800372-f64fa4dac237af83.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) F12得到flag。 ## get_post ![](https://upload-images.jianshu.io/upload_images/15800372-349e96d17276b6fa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) HackBar一把梭。 ![](https://upload-images.jianshu.io/upload_images/1...

> 本来想把代码审计放在Web里,但是既然Bugku平台上是两部分分开的,所以就分开写吧 # ereg正则%00截断 **考察使用%00截断ereg()函数的正则匹配** ![](https://upload-images.jianshu.io/upload_images/15800372-b12c37f3b495a844.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 代码如下: ```PHP <?php $flag = "xxx"; if (isset ($_GET['password'])) { if (ereg ("^[a-zA-Z0-9]+$", $_GET['password']) === FALSE) { echo 'You passwor...

# Web2 **最基本的Web题,考察查看网页源代码** ![](https://upload-images.jianshu.io/upload_images/15800372-2c8fb2bf4d678866.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 按F12查看网页源代码,flag在一条注释里。 ![](https://upload-images.jianshu.io/upload_images/15800372-ee0f17de6e588cdc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) **总结:在Web题中,查看网页源代码是非常重要的操作,网页源代码里经常有flag、hint或者一些做题必要的信息。** ...

> HGAME 2019是我参加的第一个正式的比赛,最后拿了73名,我还是太菜了啊…… > 这是一部分Writeup,还没全写完平台就关了,囧 > 如果有不对的地方还请各位大神多多指教 只有一部分,我并没有全都做出来,做出来的也没有全都写完。 Week1和Week2的居多,到后面越来越难就不会了…… # Week 1 注:以下所有无标记的都是Web题。 ## 谁吃了我的flag **考察vim异常退出产生.swp文件的知识点。** ![](http://upload-images.jianshu.io/upload_images/15800372-016925489cb51ec8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 "谁吃了我的flag1.png") 刚做这...

# 天下武功唯快不破 **考察使用脚本自动读取响应头、进行BASE64解码** ![](https://upload-images.jianshu.io/upload_images/15800372-2a4a712b8d151997.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 提示“看看响应头”,那就看一下响应头。 发现一个BASE64编码的字符串: ![](https://upload-images.jianshu.io/upload_images/15800372-4497c0b133777e62.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 看了一眼网页源代码,发现一条注释: ![](https://up...