网址:http://hackgame.blackbap.org/

第一关 突破客户端:无论输入什么密码都会提示“密码不能为空”,使用浏览器检查网页元素会发现提交时会触发 javascript 函数 chk_submit(),查看该函数的代码发现始终返回 false,于是我们在浏览器的 Console 中将函数的返回值改为 true,即输入 chk_submit=true,再在输入框中输入密码 password 就行了。

第二关 逆向解密

根据提示得到一串 PHP 代码(路径为/tip/nozend.php),有加密的函数但是没有解密的函数,根据加密的过程逆向推出解密的过程并写出代码就可以了

<?php

highlight_file( __FILE__ );

function notrealmd5code($string,$operation='ENCODE') {
if ($operation=='ENCODE'){
$OutTxt = "";
for ($x=0;$x<strlen($string);$x++) {
$nr = ord($string[$x]);
if ($nr < 128) {
$nr += 128;
}
elseif ($nr > 127) {
$nr -= 128;
}
$nr = 255 - $nr;
$OutTxt .= sprintf("%02x", $nr);
}
return $OutTxt;
} else {
/* DECODE MISS
* ord Return ASCII value of character
*/
$OutTxt = "";
$str = str_split($string, 2);
foreach ($str as $key => $value) {
$dec = hexdec($value);
$nr = 255 - $dec;
if ($nr > 128) {
$nr -= 128;
}
elseif ($nr < 127) {
$nr += 128;
}
$OutTxt .= chr($nr);
}
return $OutTxt;
}
}
echo notrealmd5code('1c10121a181e121a0f1016110b4d4d4d','DECODE'); ?>

运行解密函数后得到答案为 comegamepoint222

第三关 寻找Password

Windows 的密码存放路径和 Linux 的用户配置文件存放路径可以通过 Google 得到,分别是 c:\windows\system32\config\SAM/etc/passwd,这样可以得到两个口令,分别是

d18e760f2b15a239328274a447cd67f7
- > NTLM?

$1$1zUVF6AN$uHBYbOv4WW1Z9kkKFnJ2v.
- > MD5(UNIX)?

使用提供的工具(注意更改暴力攻击的选项)破解其中一个,便得到答案 *#!*

第四关 挖掘规则里面的漏洞:下载所给的 PDF 文件,用编辑器(VIM,Sublime Text 等)打开,根据所给的提示(做该题的时候发现链接失效了,于是根据论坛的提示做的),搜索“Action”字符串,发现后面的尖括号内有一串16进制代码 70617373776F72642069733A7064666973576964656C7921,根据提示,这是一个字符串的16进制 ASCII 码,因此我们将其转换为字符串,代码如下

#!/usr/bin/env python3
# Author: renzongxian s = '70617373776F72642069733A7064666973576964656C7921'
for i in range(0, len(s), 2):
print(chr(int(s[i:i+2], 16)), end = '')

运行得到“password is:pdfisWidely!”,答案是 pdfisWidely!

第五关 页面自身的缺陷:有一个输入框可以执行 JavaScript 语句,使用浏览器的检查元素功能发现,提交 JavaScript 语句时会触发一个 Javascript 函数 do_try(),找到该函数的源码发现还有一个 do_other() 函数,而且注释为 getpwd,显然这个函数跟获得密码有关,因此将提交时触发的函数更改为 onclick="do_other('getpwd');" 即可得到密码,答案是 URsoGreat

HackGame2 writeup的更多相关文章

  1. 2016第七季极客大挑战Writeup

    第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{ ...

  2. ISCC2016 WriteUp

    日期: 2016-05-01~ 注:隔了好久才发布这篇文章,还有两道Pwn的题没放,过一阵子放上.刚开始做这个题,后来恰巧赶上校内CTF比赛,就把重心放在了那个上面. 这是第一次做类似于CTF的题,在 ...

  3. 参加 Tokyo Westerns / MMA CTF 2nd 2016 经验与感悟 TWCTF 2016 WriteUp

    洒家近期参加了 Tokyo Westerns / MMA CTF 2nd 2016(TWCTF) 比赛,不得不说国际赛的玩法比国内赛更有玩头,有的题给洒家一种一看就知道怎么做,但是做出来还需要洒家拍一 ...

  4. 爱春秋之戏说春秋 Writeup

    爱春秋之戏说春秋 Writeup 第一关 图穷匕见 这一关关键是给了一个图片,将图片下载到本地后,打开以及查看属性均无任何发现,尝试把图片转换为.txt格式.在文本的最后发现这样一串有规律的代码: 形 ...

  5. 《安全智库》:48H急速夺旗大战通关writeup(通关策略)

    作者:ByStudent   题目名字 题目分值 地址 MallBuilder2 350 mall.anquanbao.com.cn MallBuilder1 200 mall.anquanbao.c ...

  6. iscc2016 pwn部分writeup

    一.pwn1 简单的32位栈溢出,定位溢出点后即可写exp gdb-peda$ r Starting program: /usr/iscc/pwn1 C'mon pwn me : AAA%AAsAAB ...

  7. We Chall-Training: Encodings I -Writeup

    MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...

  8. We Chall-Encodings: URL -Writeup

    MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...

  9. We Chall-Training: ASCII—Writeup

    MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...

随机推荐

  1. MixConv

    深度分离卷积一般使用的是3*3的卷积核,这篇论文在深度分离卷积时使用了多种卷积核,并验证了其有效性 1.大的卷积核能提高模型的准确性,但也不是越大越好.如下,k=9时,精度逐渐降低 2. mixCon ...

  2. 36.React基础介绍——2019年12月24日

    2019年12月24日16:47:12 2019年10月25日11:24:29 主要介绍react入门知识. 1.jsx语法介绍 1.1 介绍 jsx语法是一种类似于html标签的语法,它的作用相当于 ...

  3. 使用Hybris Commerce User API读取用户信息时,电话字段没有返回

    在使用Hybris Commerce User API读取一个user信息时,我遇到一个问题,在API返回的结构里没有包含期望看到的Phone字段. 仔细观察Swagger里对response结构的说 ...

  4. Improving Network Management with Software Defined Networking

    Name of article:Improving Network Management with  Software Defined Networking Origin of the article ...

  5. python图像处理——频率域增强

    图像的傅里叶变换: import chardet import numpy as np import cv2 as cv import cv2 from PIL import Image import ...

  6. spring util包 StringUtils工具类中的isEmpty() 方法解析

    今天在公司看到同事写的代码,无意发现在判断字符串类型时,使用的是StringUtils工具类中的isEmpty()去判断如下所示 @RequestMapping(value = "/pub/ ...

  7. 续上文,Unity3D面试ABC

    http://www.unitymanual.com/blog-3573-685.html 最先执行的方法是: 1.(激活时的初始化代码)Awake,2.Start.3.Update[FixUpdat ...

  8. Web开发系列【1】实用的网页布局(PC端)

    在熟悉那些常用的软件.工具后,我们正式开始开发,在前期准备工作之后,我们要做的事情是写页面,也就是网页布局.在w3c.菜鸟.慕课网等等网站上都有基础的 HTML+CSS 知识讲解,在初期学习中,跟着教 ...

  9. 国内npm镜像使用方法

    npm全称Node Package Manager,是node.js的模块依赖管理工具.由于npm的源在国外,所以国内用户使用起来各种不方便.下面整理出了一部分国内优秀的npm镜像资源,国内用户可以选 ...

  10. Why Use the Widget Factory?

    https://learn.jquery.com/jquery-ui/widget-factory/why-use-the-widget-factory/ Writing jQuery plugins ...