SQCTF-web
- 小小查询系统
- Upload_Level1
- Upload_Level2
- baby_rce
- 无参之舞
- 千查万别
- eeaassyy
- ez-include
- 内部威胁情报监控平台
- ez-sqli
- 黑客终端
- PHP的XXE
- PHP的后门
- CTF商城
- Easy_SQLi
- EasyMD5
- 雏形系统
- 简单越权
- include01
- include02
- include03
- wrappers01
- wrappers02
- wrappers03
- Loose_Auth
- Cut_OFF
小小查询系统

/proc/1/environ是 Linux 系统中的一个特殊文件,它包含了系统中 第一个进程(PID 1)的环境变量
Upload_Level1

文件上传,随便上传一个一句话木马

上传成功,使用哥斯拉进行连接


Upload_Level2

上传一句话木马,哥斯拉连接


babyrce

SHA1哈希碰撞使用数组进行绕过,sha1(array()) 返回 null,所以 null == null 成立,然后post赋值为payload=TYctf::getKey来调用类函数

无参之舞

查看源代码,发现用户名为sqctf,发到bp进行弱口令的爆破,发现密码为1q2w3e4r,进行登录

题目为无参之舞所以一般的如system('ls')等带参数的函数就不能够利用了,因此得使用带无参数的系统函数

localeconv()
返回本地化信息数组
关键:返回的数组中包含 ["decimal_point"] => "."
current(localeconv())
current() 取数组第一个元素的值
结果就是字符串 "."(当前目录)
scandir('.')
扫描当前目录的所有文件和文件夹
var_dump(scandir('.'))
输出目录内容的详细信息
echo
输出结果
然后使用echo file_get_contents('f1ag.php');

千查万别

先随便输入一个1吧

查看到有一个doc的注入点,我们可以查看进程的所有文件
/proc/1/environ 是 Linux 系统中的一个特殊文件,它包含了系统中 第一个进程(PID 1)的环境变量
/proc 文件系统
1 是系统中第一个进程的PID
/proc/1/environ
这个文件包含了 PID 1 进程的所有环境变量

eeaassyy

发现右键和F12被禁用了,只能点击浏览器的右上角的...来找到开发者工具来查看源代码

ez-include
这是一道文件包含题,文件包含也是可以执行命令的

使用data伪协议,已纯文本
data://[MIME类型],[数据]?=system('cat /f*');?>
?=:PHP 短标签,相当于 ?php echo ... ?>
内部威胁情报监控平台

我们依次对http://127.0.0.1进行端口分析(20,80,443,445,1433,3306,3389,8080)发现无任何回响,应该是将127.0.0.1过滤了,将其换成http://localhost:8080发现有回响,查看文件

ez-sqli

直接抓包将其纯为txt文件
使用sqlmap进行爆破
python sqlmap.py -r "C:\Users\27074\Desktop\123.txt" -p username,password --batch --dbs

发现是一个假的,在重新刷新一下,flag出现了

黑客终端
查看目录,发现有flag,直接读取

PHP的XXE
打开是一个phpinfo的页面,由于题目是xee,我们可以访问/simplexml_load_string.php

<?xml version="1.0" encoding="UTF-8"?> *<!DOCTYPE foo [ *<!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> <user> <name>&xxe;</name> <age>25</age> </user>
注意*要删去

PHP的后门

提醒我们要注意php的版本,利用bp抓包

网上查可知,当 User-Agent 头中包含 "zerodium" 字符串时,会执行 zerodium 后面的PHP代码,但是要双写User-Agentt

CTF商城
EasyMD5

上传相同的pdf文件,发现提示文件内容要是不同的且md5要相同
常用的以0e开头的md5和原值:
s878926199a
0e545993274517709034328855841020
s155964671a
0e342768416822451524974117254469
s214587387a
0e848240448830537924465865611904
s214587387a
0e848240448830537924465865611904
s878926199a
0e545993274517709034328855841020
s1091221200a
0e940624217856561557816327384675
Easy_SQLi

题目都说是sql了那么无需多言,直接bp,然后纯为txt,放到sqlmap爆破

雏形系统
简单越权
根据提示进行登录发现得是admin才能获得flag
修改用户名

include01
include02
include03
wrappers01
wrappers02

wrappers03
Loose_Auth
无需多言

Cut_OFF
看题目猜测是用%00切断

尝试了一下发现还真是%00截断

文件包含flag.php






