0x00

有这么一门课程,叫做 Web Service,主要介绍了 “Web 服务” 背后的一些知识点。比如,XML, DTD, XSD, REST, SOAP, XLS/T, WSDL, UDDI, OAUTH, 等等。
然后每个人自学一个知识点并作 Peer Lecture 给大家介绍。不过说实话,最后也只是了解了那么一丢丢,并没有什么太深的理解。当然,最后有个大作业,完成一个 Mashup 应用。
这篇文章主要是想说说我做的东西,以及其他同学的一些点子,全是干货。

阅读全文 »

Examination

瑞典。2016 年春,第一个小学期。上了区区六次的 Lectures, 短短一个月,密码学与网络安全这门课就告一段落了。
今天上午考完试,只有五道题,答的还行。基本对应了以下几个方面:

  1. 网络安全,攻击的一些概念,如主动攻击,被动攻击,列举几种具体的攻击手法等。
  2. 现代分组密码的几种操作模式,画框图解释,并比较。
  3. 数字签名。如给一个场景 Alice, Bob, Code, 让一个人给一条消息签名发给别人,设计如何实现。
  4. 如何建立一个安全信道。主要考察 Needham-Schroeder 协议以及其变形。
  5. DAC, MAC, RBAC 等
阅读全文 »

操作模式介绍

现代分组密码(即 DES 和 AES),是设计用来对固定长度的文本分组进行加密和解密的。
如 DES 可以对一个 64 比特的分组进行加密和解密。AES 可以对一个 128 比特的分组进行加密和解密。

而在实际运用中,要加密的文本长度是可变的,通常大于 64 或 128 比特。于是就有了操作模式,有了它就可以将分组密码应用在消息和大单位文件或小单位文件的加密上。

这里讨论的五种操作模式分别是:电子密码本模式(ECB),密码分组链接模式(CBC),密码反馈模式(CFB),输出反馈模式(OFB),以及计数器模式(CTR)。

阅读全文 »

背景

最近有门 Web services 的课程,需要做 Peer Lecture,我分到的题目是 “Web service in app engine”.
这个题目就是大概介绍一下 google app engine 的使用了。本文选择以 Java 作为开发语言,对平台的使用作简单介绍。
记得第一次接触 GAE 还是还几年前大家都用 goagent 翻墙的时候。不过现在 Google 好像也只提供两个月的免费试用。
言归正传,本机开发环境如下:

  • Linux (openSUSE 42.1)
  • Oracle JDK 1.8 (使用的 openJDK 请替换)
阅读全文 »

背景

使用了 openSUSE 13.1, 13.2, 42.1 三个版本,每次都要折腾一遍 JAVA 环境。
这次把过程记录下来,以免下次再耗费时间。

发行版信息:

1
2
3
4
5
6
> lsb_release -a
LSB Version: n/a
Distributor ID: SUSE LINUX
Description: openSUSE Leap 42.1 (x86_64)
Release: 42.1
Codename: n/a

阅读全文 »

《跟着贝尔去冒险》2015-12-13期中高空过瀑布,一根70米长的绳索悬在120米高空,绳索下方是巴克河湍急奔腾的水流。队员们将通过绳索一一穿越瀑布峡谷。动作细节是每人需要趴在绳子,用后腿推动,另一条腿保持平衡,一下一下往前挪动。

如果失去平衡掉下来了,得先用右腿脚跟勾住绳索,两条手臂压住绳子,把左腿抬起来再甩下起使身体翻过来。然而一般人很难重新翻回绳子上。
这样的动作我也曾尝试过。那是在体育馆的一根楼梯扶杆上,有一天训练完,我们就试着做这个动作玩,没人知道正确的方法,大家尝试了若干次也未成功。最后还是我机智地用了一个攀岩中的动作Figure4才得以成功。

节目中每一位队员的表现都值得深思,而我有主要有以下几点思考:

  1. 有些成功不仅需要主观上的努力,还需要一定的技巧,或者说是技能。
  2. 面对面的传授比自己摸索学习要快的多得多!
  3. 不同领域确实有差别,就像娱乐界和户外,每个人都有自己擅长的。

小时候,当我仰望星空,能看到点点繁星。
现在啊,若能看到一轮明月,亦欣喜不已。
从前,只能从图片上去感受北极光的绚烂。
如今,我能站在山颠感受那奇妙的北极光。

阅读全文 »

Background

I have to use oracle jdk because of homework and some software like docear.
But with openSuse 13.2 openjdk 1.8 is default. It is similar with other Linux system.
So install oracle jdk and change it without uninstall openjdk is a good idea.

Step

  1. download “Java Platform (JDK) 8u60” on the offical website(refering xcodeghost T_T).
    Actually I download “NetBeans with JDK 8”.It depends on you.
  2. select your platform, download the file, check Checksum, and then install it.
  3. Remeber your installation directory. Then it’s time to set environment.
  4. edit ~/.bashrc, add the following lines and save
    1
    2
    export JAVA_HOME=[your installation path of jdk]
    export PATH=$JAVA_HOME/bin:$PATH

Then oracle jdk works after restart your terminal.

References

介绍

wooyun wiki 中有一篇文章 Git导致文件泄露,讲了使用 git 时需要注意的一个问题。

git 在初始化代码库的时候,会在当前目录下面产生一个.git的隐藏目录文件,用来记录代码的变更等。
同时使用这个文件,可以恢复各个版本的代码。所以如果 .git 泄漏的话,就可能同时泄漏了源代码。

测试

先手工测试下,使用 google 搜索一个泄漏的 .git 文件。

1
google: ".git" intitle:"index of"

得到第一条记录:“www.xxxvou.com/.git/” (xxx is harmony),然后将文件下载到本地

1
2
3
mkdir git-test && cd git-test
wget --mirror --include-directories=/.git http://www.xxxvou.com/.git
cd www.xxxvou.com

使用 git 命令使代码库回退到上一个版本

1
git reset --hard

完成后即可看到网站(或其他应用)源码

1
2
3
4
5
6
7
8
9
10
11
about.html            faq.html                      philosophy.html
anirudhr google9f9a1d6499d5d387.html products.html
assets hack robots.txt
bootstrap images showcases.html
bufof.html index.html svn-commit.tmp
careers.html ip.php team.html
contact.html lfi.html testingstuff
demo.html management-console.html tmp
docs network-enforcer.html vision.html
endpoint-module.html nouvou-datasheet-jan2012.pdf
expertises.html old-site

细节

在当前静态博客系统中,Hexo 配合 Github Page 是一个比较方便的搭建方式。

之前一直使用的 Hexo2.x 和 Github 配合记些笔记,换系统(opensuse12->13)之后,Hexo 版本也升级了。迁移比较麻烦,正好从头安装一遍3.x版本,换一个简明的主题。

下面记录一些新版本的特点和遇到的问题以及流程。

阅读全文 »