SQL实战闯关练习前沿:SQL(Structured Query Language)是一种用于管理、操作和查询数据库的标准化语言,被广泛应用于各种类型的数据库,如 MySQL、PostgreSQL、Oracle、Microsoft SQL Server 等,是程序员必备的基础技能之一。
纯前端实现的闯关式 SQL 自学网(https://github.com/liyupi/sql-mother)
By 程序员鱼皮 ,一人全役
主线关卡1-基础语法-查询-全表查询SQL 查询语句:
1select * from student;
*表示全表查询,即获取表内所有数据并打印
2-基础语法-查询-选择查询例如要查询name和age这两列数据
SQL 查询语句:
1select name,age from student;
3-基础语法-查询-别名我们可以用as创建别名,即打印表格显示的列名
SQL 查询语句:
1select name as 学生姓名 from student;
4-基础语法-查询-常量和运算在SQL中,常量可以之=直接作为列名,但要记得加上单引号 ...
尚硅谷GITGit概述简介版本控制工具
集中式版本控制工具,如CVS、SVN等,每个人操作的都是实时最新的文件版本
分布式版本控制工具,如Git,客户的操作对象是镜像的代码库
Git工作机制
远程库(远程代码仓库)
本地库:存放历史版本
暂存区:临时存储
工作区:写代码
Git安装git官网直接下载即可,我之前搭建个人博客的时候已经下载过git了,可以用以下方法查看是否安装成功
【Win + R → 输入 appwiz.cpl →查看已安装程序列表,检查是否下载过 Git及其版本号】
Git基础命令在git中,Linux命令也是通用的
初始化常用git命令如下:
12345678git config --global user.name 用户名 设置用户签名git config --global user.email 邮箱 设置用户签名git init 初始化本地库git status 查看本地库状态 git add 文件名 添加到暂存区git commit -m"日志信息" 文件名 提交到本地库git reflog 查看历史记录git rese ...
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\”。 ...