首页 > 其他分享 >NSSCTF-Web题目6

NSSCTF-Web题目6

时间:2024-06-09 09:57:51浏览次数:27  
标签:Web 题目 知识点 81% E2% flag 上传 NSSCTF

目录

[NISACTF 2022]checkin

1、题目

2、知识点

3、思路

[NISACTF 2022]babyupload

1、题目

2、知识点

3、思路

[SWPUCTF 2022 新生赛]1z_unserialize

1、题目

2、知识点

3、思路


[NISACTF 2022]checkin

1、题目

2、知识点

010编辑器的使用、url编码

3、思路

打开题目,得到源码

审计代码,题目需要我们上传两个变量的内容,根据题目输入,结果没有出现flag,题目有提示,复制源码,用010Editor打开

发现多了很多内容,难怪会没有出现flag

我们将需要上传的内容的16进制加上%重新上传

第一个参数的内容是正常的,构造出来的payload为

http://node5.anna.nssctf.cn:26298/?ahahahaha=jitanglailo&%E2%80%AE%E2%81%A6%55%67%65%69%77%6F%E2%81%A9%E2%81%A6%63%75%69%73%68%69%79%75%61%6E=%E2%80%AE%E2%81%A6%20%46%6C%61%67%21%E2%81%A9%E2%81%A6%4E%31%53%41%43%54%46

得到flag:NSSCTF{09918f4c-0337-4344-84a3-33c306a12e9e}


[NISACTF 2022]babyupload

1、题目

2、知识点

php代码审计、os.path.join()函数

3、思路

打开题目,上传一个文件,发现上传不了

正常的文件都上传不了,右键查看源代码

发现有一个页面,访问该页面,下载一个www.zip包,打开里面的python程序,发现是代码

对代码进行审计

那这就有点意思了,正常文件都是有后缀名的,有. 的,要怎么绕过呢?

往下翻,发现os.path.join()函数

os.path.join()

作用:用于拼接文件路径,可以传入多个路径,传入文件时,

如果没有以“/”开始的参数,函数会自动加上,

如果是以“/”为开始的参数,函数会从最后一个"/"开始拼接,之前的全部舍弃。 

同时存在以‘’./’与‘’/’’开始的参数,以‘’/’为主,从最后一个以”/”开头的参数开始拼接,之前的参数全部丢弃。

只存在以‘’./’开始的参数,会从”./”开头的参数的上一个参数开始拼接。

一般flag都是命名为flag文件,放在根目录下,我们可以上传一个文件,改名为/flag,利用os.path.join()这个函数

注意要放包

得到flag:NSSCTF{9485af6f-488e-46a9-91cc-e7b879c23d00}


[SWPUCTF 2022 新生赛]1z_unserialize

1、题目

2、知识点

php反序列化

3、思路

审计代码

__destruct()

会将对象被调用完后进行销毁,也就是代码执行完后执行

->用来引用一个类的属性(变量)、方法(函数)

$a = $this->lt;

将lt的值赋给变量a
$a($this->lly);

加入a是一个函数,想当于a(lly)

所以,我们可以构造系统执行命令,system(cat /flag)

system()赋给$lt,cat /flag给$lly,这样就可以得到flag了,POC如下

<?php
class lyh{
    public $url = 'NSSCTF.com';
    public $lt='system';
    public $lly='cat /flag';
}
$poc=new lyh();
echo serialize($poc);
?>

POST方式上传nss参数的内容

得到flag:NSSCTF{b17cd668-888d-4a73-8881-8e2c2120ea87}


这篇文章就写到这里,哪里不足的或者不懂的欢迎批评指出

标签:Web,题目,知识点,81%,E2%,flag,上传,NSSCTF
From: https://blog.csdn.net/weixin_54055099/article/details/139496668

相关文章

  • ctfshow-超详细通关教程-web(1~8)
    快捷目录web1web2web3web4web5web6web7web81.web签到题打开网址后出现如下界面。查看一下网站源码将Y3Rmc2hvd3s1ZjkxNTc3Yy03MmRkLTRhYzItYTE1Yi1lOWRhMjk4MTQyNjl9解码即可得到flag2.web2打开网址如图。首先用万能密码admin'or1=1#测试一下。直接就进入了,......
  • JavaWeb中,web应用的上下文路径解读
    当前Web应用的上下文路径(ContextPath)指的是Web应用在服务器上的根路径。在Servlet或JSP环境中,一个服务器可以运行多个Web应用,每个应用都有一个唯一的上下文路径。例如,如果你的Web应用部署在Tomcat服务器上,并且在Tomcat的webapps目录下有一个名为myapp的Web应用,那么这个应......
  • 对题目集4~6的总结
    1.前言答题判题程序-4是前几次题目迭代,在前几次的基础上新增加了选择、填空题,按照之前的思路拓展即可。家居强电电路模拟程序-1、2总体难度适中,不过与普通的信息处理相比,分配电压要考虑更多情况。2.设计与分析答题判题程序-4点击查看题目设计实现答题程序,模拟一个小型......
  • IT闲谈-WEB前端主流三大框架
    目录一、Angular二、React三、Vue.js小结前言这里给大家简单介绍一下web前端框架;随着互联网技术的飞速发展,Web前端技术也在不断地演进和更新。目前,前端比较多的三大主流前端框架Angular、React和Vue.js,成为前端开发者的得力助手。文章主要是讲解这三大框架的由来、发......
  • 【JavaScript脚本宇宙】通知新风尚:打造互动性十足的Web提示系统
    定制通知体验:深入了解JavaScript通知库前言在现代web开发中,通知库扮演着至关重要的角色,它们为用户界面的交互性和用户体验提供了关键支持。本文将介绍一些常用的JavaScript通知库,从简单实用到高度定制化各有特色,帮助开发者在项目中轻松实现各种通知功能。欢迎订阅专栏:Ja......
  • cypress测试本地web应用
    Cypress是一个流行的前端测试框架,它提供了一套丰富的API来与web应用进行交互,并支持测试运行在浏览器中的任何内容。测试本地web应用是Cypress的强项之一,以下是如何使用Cypress测试本地web应用的一些关键步骤和概念:1.启动本地应用在测试之前,需要确保你的本地web......
  • web 项目开发又多一个选择!华为出品的跨端、跨框架的 UI 组件库,有点强(带私活源码)
     前言在华为开发者大会2023上,官方正式进行发布了OpenTiny,这是华为云出品的企业级设计体系统,一套前端UI组件库。适配PC端/移动端等多端,完成度很高。至此,web项目开发又多一个选择。OpenTiny,同时支持Vue2/Vue3/Angular,拥有主题配置系统/中后台模板/CLI命令......
  • 题目集4~6的总结
    目录一.前言 nchu-software-oop-2024-上-4~知识点 nchu-software-oop-2024-上-5~知识点 nchu-software-oop-2024-上-6~知识点二.设计与分析一.答题判题程序-41.继承2.多态二.家居强电电路模拟程序-11.类的设计2.抽象类二.家居强电电路模拟程序-21.面向对象设计原则——单一......
  • OOP题目集4~6的总结
    目录(一)前言(二)作业介绍(三)算法与代码(四)PowerDesigner类图模型(五)SourceMonitor代码分析(六)自学内容(七)总结一、前言介绍本篇博客的大致内容、写作目的、意义等本篇博客介绍如何使用Java语言基础和算法来解决题目问题,在此基础上进行对最近Java编程语言学习的总结题目的......
  • 宝塔搭建javaweb_宝塔工具+javaweb+mysql+tomcat部署项目
    1.首先我们得有一个安装了宝塔工具的云服务器首先我们要在服务器安全组开放宝塔常用的端口,看你是什么服务器,然后对应下面官网的教程就行了。腾讯云:https://www.bt.cn/bbs/thread-1229-1-1.html阿里云:https://www.bt.cn/bbs/thread-2897-1-1.html华为云:https://www.bt.cn/bbs/t......