0X01 前言
最近在CTF-imaginary中碰到了需要反弹shell的赛题,之前对反弹shell的认识一直都只是停留在理论,并不知道该如何去操作,正好这道赛题可以实践一下,后续遇到反弹shell的题目也会收录到该文章中
0X02 简介首先我们要弄清楚几个问题:
什么是shell?
为什么要反弹shell?或者说什么情况下需要用到反弹shell?
怎么反弹shll?
2.1 什么是shellshell是渗透中常用的名词,像getshell,webshell,反弹shell等等,都和shell相关。
getshell:获取到目标的命令执行权限
webshell:指网站后门,通过web服务进行命令执行
反弹shell:把命令行的输入输出转移到其它主机
ps:关于其他shell,以后再另外写一篇文章来介绍一下
Shell 俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。简单说用户通过壳(shell)访问操作系统内核的服务,也就是由壳到内核,执行系统 ...
CTF-imaginary
这一系列ctf赛题都需要自己搭建来复现
Docker复现Dockerfile
打开终端,导航到 Dockerfile 所在的目录,然后执行以下命令构建镜像:
1docker build -t ctf-imaginary .
(ctf-imaginary是给镜像起的名字)
运行容器
1docker run -d -p 80:80 ctf-imaginary
docker-compose.yml
打开终端,导航到 docker-compose.yml 所在的目录,然后执行以下命令启动服务:
1docker-compose up d
这会根据 docker-compose.yml 文件中的配置启动所有定义的服务
readmeNginxURL解析规则在Nginx的配置文件中
12345678910111213server { listen 80 default_server; listen [::]:80; root /app/public; location / { if ( ...
夏令营Daily Summarization
七月7.28·星期天
安装WSL
在本机熟悉了一下Docker Desktop的使用
在本地搭建了readme
继续研究MySQL提权,主要是UDF提权
7.29·星期一
实践操作MySQL提权·UDF提权
由于豆哥的sql-labs靶场level1提权比较麻烦,于是直接用docker拉取一个Mariadb的镜像,模拟进行提权
本地用Mariadb镜像进行UDF提权
主要碰到的问题就是文件写入权限要开启
然后按照国光的思路操作就可以了
7.30·星期二CTF-imaginary
readme
journal
实践了一下用Dockerfile搭建赛题,理论一下就懂,实操才会真正掌握
进展到要利用assert函数来rce,但还没想到要怎么操作
晚上开腾讯会议 豆哥讲解了一下MySQL提权
补充一下之前学了但没去上传的:SQL注入后写入php木马(因为之前是在本地的Mariadb模拟提权)
1http://47.121.138.97:8011/Less-1/?id=-1' union selec ...
参考文章:MySQL 漏洞利用与提权 | 国光 (sqlsec.com)
MySQL漏洞利用与提权参考文章:MySQL 漏洞利用与提权 | 国光 (sqlsec.com)
数据库权限获取数据库操作权限也就是拿到MySQL的用户名和密码,主要包括下面四种:
MySQL 3306 端口弱口令爆破
sqlmap 注入的 --sql-shell 模式
网站的数据库配置文件中拿到明文密码信息
CVE-2012-2122 等这类漏洞直接拿下 MySQL 权限
Webshell权限into outfile写shell什么是into outfile?
在 Shell 脚本中,into outfile 是用于将命令的输出重定向到文件的一种方式
具体来说,重定向运算符 > 和 >> 用于将命令输出写入文件。
>:将命令输出写入指定文件。如果文件已存在,则会覆盖文件内容
12echo "Hello, World!" > output.txt这将创建(或覆盖)一个名为 output.txt 的文件,并将 "Hello, World!&q ...
Docker教程文章https://docker.easydoc.net
Docker命令参考:https://docs.docker.com/engine/reference/commandline/run/
WSL安装:安装 WSL | Microsoft Learn
WSL安装控制面板启用WSL
打开 “控制面板”,选择 “程序”,然后点击 “启动或关闭 Windows 功能”
在显示的列表中找到
“适用于 Linux 的 Windows 子系统”,勾选
“虚拟机平台”,勾选
随后会重启电脑
Install wsl
在管理员模式下打开 PowerShell 或 Windows 命令提示符
输入 命令后重启:
1wsl --install
安装 Linux 发行版打开微软商店,我选择安装的是Ubuntu,直接搜Ubuntu,下载后打开即可
配置初次打开会要求设置username和password
这边密码是不会显示的,确认后Enter
其他设置可以不用处理,即可直接执行命令
Docker使用·复现CTF赛题
先思考一个问题:怎么使用docker复 ...
本地搭建DAWA关于DVWA
DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用
旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。
一共有十个模块:
暴力(破解)
命令行注入
跨站请求伪造
文件包含
文件上传
不安全的验证码
SQL注入
SQL盲注
弱会话ID
XSS漏洞(DOM型跨站脚本、反射型跨站脚本、 存储型跨站脚本)
搭建PHP和Mysql环境我是直接下载PHP study_pro,phpStudy是一个PHP调试环境的程序集成包,还是很方便的
附上PHP study的官网小皮面板(phpstudy) - 让天下没有难配的服务器环境! (xp.cn)
直接下载安装即可
建议安装一下这些套件
下载DVWA下载地址:http://www.dvwa.co.uk/
安装DVWA
将下载的DVWA解压到phpstudy网站根目录下例如:我解压后的路径是“D:\phpStudy\WWW\DVWA-master\”。 ...
云服务器部署Docker关于Docker
Docker是一种流行的容器化平台,它能够简化应用程序的部署和管理
下面将介绍在Ubuntu操作系统上安装Docker的步骤,以便我们可以开始使用Docker来构建和运行容器化应用程序。
首先呢,需要有一个服务器,我用的是阿里云服务器
卸载自带docker我们先检查并卸载老版本docker
ubuntu下自带了docker的库,不需要添加新的源。
但是ubuntu自带的docker版本太低,需要先卸载旧的再安装新的。
注:docker的旧版本不一定被称为docker,http://docker.io 或 docker-engine也有可能,所以我们卸载的命令为:
1$ apt-get remove docker docker-engine docker.io containerd runc
安装更新软件包在终端中执行以下命令来更新Ubuntu软件包列表和已安装软件的版本:
1sudo apt update sudo apt upgrade
安装docker依赖Docker在Ubuntu上依赖一些软件包。执行以下命令来安装这些依赖: ...
文件包含web-78
此题为 【从0开始学web】系列第七十八题此系列题目从最基础开始,题目遵循循序渐进的原则
希望对学习CTF WEB的同学有所帮助
文件包含系列开始啦
进入环境
查看源码
1234567891011121314151617181920<?php/*# -*- coding: utf-8 -*-# @Author: h1xa# @Date: 2020-09-16 10:52:43# @Last Modified by: h1xa# @Last Modified time: 2020-09-16 10:54:20# @email: h1xa@ctfer.com# @link: https://ctfer.com*/if(isset($_GET['file'])){ $file = $_GET['file']; include($file);}else{ highlight_file(__FILE__);}
尝试用input,修改参数
传入一个p ...