BJDCTF2020 EzPHP
前言最近经常见到BJDCTF赛题的改版,其中有一道很经典的代码审计题目,写篇博客学习一下
https://github.com/BjdsecCA/BJDCTF2020
HECTF EDGnb
一道web的签到题,考察docker的基本命令,因为以前没有接触过,做的时候还是花费了一些时间
下好了docker以后应该先 docker run -it moth404/edgnb启动容器,第一次需要拉取镜像,加载完毕后出现容器的命令行界面尝试用find命令寻找flag文件,发现该容器中有非常多的flag文件,但cat之后都是空的,没有任何内容,那我们就需要换个思路先用docker images查看镜像,再使用docker history [OPTIONS] IMAGE查看镜像的历史记录,在历史记录中发现flag字样在命令后加--no-trunc 显示完整的提交记录,可以得到 FLAG=HECTF{EDGnb!EDGnb!!EDGnb!!!EDGnbnbnb}
HECTF mmmmd5d5d5d5
前言考察php的语言特性和md5
HECTF 迷途的狗狗
一道简单的misc
下载附件后打开压缩包,看到.DS文件和一个加密后的压缩包
通过压缩包名字可以判断密码为6位数字,题目应该是想让我们用工具爆破,我们选取的工具为John,通过计算压缩包的哈希值来解析出密码
密码即为142345
打开图片后是一只小狗,首先考虑图片隐写
各种工具都尝试一下,最后发现foremost可以成功
得到flag
HECTF 捉迷藏
一道简单的misc题,下载附件后打开压缩包
解压后打开docx文档
打开后是纯文字,首先想到可能是隐写
打开隐藏文字后发现也并无用处
使用010打开该文档后发现有PK开头,于是可以尝试压缩包打开
打开后发现是xml文件
查看各个文件后发现可疑信息,由括号组成的js代码,可在控制台中直接运行,由于文件中的括号代码有很多段,尝试拼接后在控制台运行
控制台运行后得到flag
HECTF JamesHarden
一道简单的misc题,下载附件后打开压缩包
将这个无后缀的文件先放入010中看看,判断文件类型
看到以PK开头可初步确认为压缩包,将后缀名改为zip后成功打开
压缩包中是一个.class文件,这里应该使用java反编译来解析.class文件,还原成java代码来寻找信息
打开.class文件后发现字符串URPGS{Jr1p0zr_G0_U3pg6_!},这个字符串和flag的形式很像,但是其中的字母应该经过了移位,用凯撒密码来解密
将位移设为14解出真正的flag
Upload-labs靶场 01-11关攻略
前言文件上传漏洞靶场Upload-labs,在github上下载后部署在win10本地,php版本为5.2.17,测试环境使用Kali虚拟机
1https://github.com/c0ny1/upload-labs
TSCTF-J Ezphp
前言考察sql注入(万能密码),ssrf(file协议),反序列化(pop链构造)
一、题目
二、题解Part 1启动环境发现是一个简单的登陆页面先上万能密码
1" or 1=1#
此处也可以使用sql注入,查询用户表,得到用户名为admin,密码为12345678
Part 2提示/tmp/hint.php,观察地址栏提示的ssrf以及?path=尝试使用伪协议发现php://被过滤(www也被过滤)
只能选用file协议来访问文件
1?path=file:///tmp/hint.php
在hint.php找到疑似源代码
Part 3将源代码扒下来整理好格式开始审计
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071<?phperror_reporting(0);/* * flag in /home/fla ...
TSCTF-J Badmac
前言本题考查sql注入(时间盲注,堆叠注入),文件上传漏洞
一、题目
二、题解Part 1 :时间盲注进入用户中心看到登陆页面,此处万能密码进不去,考虑sql注入
方法一:
选用sqlmap注入,但需要的时间很长
选择时间盲注得到如下表猜测登录的账户在tsctfj_user中,继续注出字段名和字段值得到用户名密码方法二:编写脚本采用二分法进行注入,速度会快很多,这里等我写出来了再补
Part 2:堆叠注入输入账号密码,登陆成功,进入了会员中心在信息栏中发现可以修改头像尝试传入头像发现暂不开放在网站中一番摸索后发现一篇奇怪的文章查看该文章居然需要如此多的积分,但我们没有积分,我也不可能去用户中心充值,那就只能继续注入,修改数据库中的数据,要么把我们的积分改多一些,要么就把这篇文章的积分改成0,或者也可以直接在数据库中把文章的内容注出来(都是中文,注入非常慢)
堆叠注入原理堆叠注入,就是把sql语句堆叠在一起执行,通过闭合前面的查询语句并用; 分隔来执行任意sql语句,只要权限足够就可以经行增删改查。
1select * from users;show databases;
堆叠注入也 ...