首页 > 其他分享 >WriteUp-CTF-Web

WriteUp-CTF-Web

时间:2023-10-09 15:59:05浏览次数:38  
标签:__ Web php WriteUp cyber CTF wakeup 序列化 sqlmap

代码审计

simple_php

  • 来源:攻防世界

  • 考点:php代码审计之数字与字符串的比较

  • 工具:手工

  • 难度:⭐

  • 分析过程

    1. 打开场景,分析代码

      image-20231008174401049

    2. 构造payload:?a="0"&b=12345s

      image-20231008174724463

反序列化

unserialize3

  • 来源:攻防世界

  • 考点:php反序列化漏洞、__wakeup()函数的绕过机制

  • 工具:手工

  • 难度:⭐

  • 分析过程

    1. 看到题目“unserialize3”知道是序列化方向,访问靶场看到代码,确定是php反序列化;

    2. 代码审计:类——xctf,成员变量——flag=“111”,方法——__wakeup(退出程序)。题目的意思,让我们绕过__wakeup方法,将序列化之后的字符串通过code变量传递;

      image-20231007083509342

    3. 如何绕过

      - php序列化之后的格式
      	数据类型:名称长度:[名称]:成员个数:[具体成员]                   #具体成员也遵循这个格式,每个成员以分号结尾
      	O:4:"xctf":2:{s:4:"flag";s:3:"111";}                        #序列化不关心方法
      - __wakeup()函数
      	如果一个类中有__wakeup函数,反序列化该类时,会首先执行这个函数;而题目中这个函数的功能是退出程序,因此需要绕过。
      	如果序列化得到的数据中,成员个数大于了真实的成员个数,就不会执行__wakeup函数。
      - 构造payload
      	?code=O:4:"xctf":3:{s:4:"flag";s:3:"111";}
      
    4. 提交payload,获得flag

      image-20231007084844091

目录扫描

backup

  • 来源:攻防世界

  • 考点:掌握常见的备份文件后缀名(.bak .swp .git .svn .bash_history .~)、目录扫描

  • 工具

  • 难度:⭐

  • 分析过程

    1. 打开题目场景:获得关键信息(扫描index.php的备份文件)

    2. 猜测是否为index.php.bak,访问/index.php.bak,直接自动下载文件

    3. 打开之后,获得flag

      image-20231008093539933

Web漏洞

inget

标签:__,Web,php,WriteUp,cyber,CTF,wakeup,序列化,sqlmap
From: https://www.cnblogs.com/brankyeen/p/17751945.html

相关文章

  • [ZJCTF 2019]NiZhuanSiWei
    原理反序列话伪协议data和filter解题过程进入靶场看到源码<?php$text=$_GET["text"];$file=$_GET["file"];$password=$_GET["password"];if(isset($text)&&(file_get_contents($text,'r')==="welcometothezjctf"......
  • [MRCTF2020]你传你呢
    原理.htaccess文件解析漏洞以及MIME的修改,注意注意,三种MIME值png,jpg,gif不行的话都要试一遍,不要错过啦--手搓连接木马的系统命令多种使用方式payload:var_dump(scandir('/'));echofile_get_contents('/flag');解题过程进入靶场,让上传文件上传文件抓包,发现包被过......
  • webpack配置删除console
    1.删除所有的console.logvue.config.js:module.exports=defineConfig({configureWebpack:(config)=>{//删除consoleconfig.optimization.minimizer[0].options.minimizer.options.compress=Object.assign(config.optimization.minimizer[0]......
  • [HCTF 2018]admin
    原理Unicode欺骗弱口令session伪造解题过程进入靶场,有注册和登录按钮,再看原代码看到/posts链接,但是点了是404,还有登录和注册链接,之后就是youarenotadmin的提示,估计是要变成admin登录解法一弱口令登录最终爆破得出密码是123,登录拿到flag解法二unicode编码欺骗参......
  • ctfshow web859_有跳板机
    ctfshowweb859_有跳板机使用xshell连接执行sudo-spython3-c'importpty;pty.spawn("/bin/bash")'想用sftp传输fscan,失败利用ssh传输[email protected]:/tmpifconfig查看内网网段然后fscan扫描./fscan_386-h172.......
  • [BJDCTF2020]Easy MD5
    原理抓包看源码select*from'admin'wherepassword=md5($pass,true)的绕过md5==的弱比较问题md5===的弱比较问题解题过程进入靶场看到输入框,随便输几个传递参数:leveldo4.php?password=xx。但是怎么输都没有反应,页面原代码也没有提示,抓一下包看看发现有提示,好隐秘--......
  • WebForm后端调用前端JS
    /*注意:定义的js方法一定要放在head里面,不能放下面,否则不生效*/<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="WebForm1.aspx.cs"Inherits="WebFormBackEndCallFrontJsDemo.WebForm1"%><!DOCTYPEhtml><htmlxmlns=&qu......
  • -webkit-text-size-adjust的用法
    1、Chrome浏览器默认情况下的字体最小为12px,如果你要设置某字体大小为10px的话,你会在Chrome发现还是12px。如果要使此生效的话,就得修改Chrome的默认配置了,一般应用下面的代码就能在全局生效了:html{-webkit-text-size-adjust:none;}但是这样设置之后会有一个问题,就是当你放......
  • 【webapp】jsp EL 的基本语法和用法
    EL(表达式语言)是用于在JSP页面中访问和操作数据的简洁表达式语言。EL提供了一种简化和统一的方式来访问变量、属性、集合和其他对象。以下是EL的基本语法和用法:基本语法:${expression}:用于在JSP页面中嵌入EL表达式。${object.property}:访问对象的属性。${map.key}:访......
  • 【webapp】jsp 操作数据库
    在JSP中连接和操作数据库需要使用Java的JDBC(JavaDatabaseConnectivity)API。下面是学习在JSP中使用JDBC连接和操作数据库的基本步骤:导入JDBC驱动程序:下载并导入适合您所使用的数据库的JDBC驱动程序JAR文件。不同的数据库有不同的驱动程序。将JDBC驱动程......