HackGame2 writeup
网址: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的更多相关文章
- 2016第七季极客大挑战Writeup
第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{ ...
- ISCC2016 WriteUp
日期: 2016-05-01~ 注:隔了好久才发布这篇文章,还有两道Pwn的题没放,过一阵子放上.刚开始做这个题,后来恰巧赶上校内CTF比赛,就把重心放在了那个上面. 这是第一次做类似于CTF的题,在 ...
- 参加 Tokyo Westerns / MMA CTF 2nd 2016 经验与感悟 TWCTF 2016 WriteUp
洒家近期参加了 Tokyo Westerns / MMA CTF 2nd 2016(TWCTF) 比赛,不得不说国际赛的玩法比国内赛更有玩头,有的题给洒家一种一看就知道怎么做,但是做出来还需要洒家拍一 ...
- 爱春秋之戏说春秋 Writeup
爱春秋之戏说春秋 Writeup 第一关 图穷匕见 这一关关键是给了一个图片,将图片下载到本地后,打开以及查看属性均无任何发现,尝试把图片转换为.txt格式.在文本的最后发现这样一串有规律的代码: 形 ...
- 《安全智库》:48H急速夺旗大战通关writeup(通关策略)
作者:ByStudent 题目名字 题目分值 地址 MallBuilder2 350 mall.anquanbao.com.cn MallBuilder1 200 mall.anquanbao.c ...
- iscc2016 pwn部分writeup
一.pwn1 简单的32位栈溢出,定位溢出点后即可写exp gdb-peda$ r Starting program: /usr/iscc/pwn1 C'mon pwn me : AAA%AAsAAB ...
- 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 ...
- 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 ...
- 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 ...
随机推荐
- Linux硬盘分区和软硬链接
磁盘分区:先在虚拟机设置里添加一个新硬盘 查看现在电脑上有几个硬盘:ls /dev/硬盘名 分区命令:fdisk /dev/硬盘名 进入之后,可以输入 m 查看命令的具体是使用 新建分区:n→p(选 ...
- 前端错误监控上报公共方法,可在父页面及iframe子页面同时使用
先创建公共文件error-reported.js 内容如下: /** * 获取前端错误信息进行上报 * @param iframe */ function catchError (iframe) { ...
- .NET界面控件DevExpress v19.1.3重磅来袭
DevExpress Universal Subscription(又名DevExpress宇宙版或DXperience Universal Suite)是全球使用广泛的.NET用户界面控件套包,De ...
- R语言-三种方法绘制单位圆
与一般开发语言不同,R以数据统计分析和绘图可视化为主要卖点.本文是第一篇博客,解决一个简单的绘图问题,以练手为目的. 以下直接给出三种单位圆的画法: 方法1 f=seq(,*pi,0.001) x=s ...
- Delphi 2010 secondsBetween Bug
在设置定时任务时,无意之间发现一个BUG, 定时在00:10:00的任务,执行了2次, 百思不得其解, 一调试发现, 00:10:00,00:09:59的secondsBetween结果值是0, 正确 ...
- 6364. 【NOIP2019模拟2019.9.20】养马
题目描述 题解 一种显然的水法:max(0,-(点权-边权之和*2)) 这样会挂是因为在中途体力值可能会更小,所以考虑求走完每棵子树所需的至少体力值 考虑从子树往上推求出当前点的答案 设每棵子树从根往 ...
- Leetcode 16. 3Sum Closest(指针搜索)
16. 3Sum Closest Medium 131696FavoriteShare Given an array nums of n integers and an integer target, ...
- CF704D Captain America
http://codeforces.com/problemset/problem/704/D 题解 对于两种颜色的染色,我们可以把它看做选择问题. 比如说红色的代价小,所以我们尽可能多的染红色. 然后 ...
- [CSP-S模拟测试]:chess(数学)
题目描述 $dirty$在一个棋盘上放起了棋子. 棋盘规格为$n\times m$,他希望任意一个$n\times n$的区域内都有$C$个棋子.$dirty$很快就放置好了一个满足条件的棋盘方案,但 ...
- element-ui的rules全局验证
原文:https://www.jianshu.com/p/6a29e9e51b61 rules.js var QQV = (rule, value, callback) => { debugge ...