web安全靶场之SQL注入篇
前言自己也有过讲师经历,发现别人的靶场不是很适合自己教学,即时他们写的很优秀,之前用过国光师傅的web靶场,使用的是 docker 搭建,很是方便。
还记得自己在做讲师的时候,心里就萌生了一种想法:”一个好的讲师,需要有自己足够的知识功底,自己写的课件和自己写的优秀靶场”。
所以这个想法在我心里很久了,一直没有实施,趁着寒假之际,在家里学习 CCNA 学的有点乏味了,于是就想着先学学其他的。不过时至今日,CCNA 的学习也快结束了。
于是就写了这个基于 docker 搭建,使用 docker-compose.yam 文件一键启动的靶场。
不管是以后工作,还是专职培训,都或多或少会接触到培训,于是靶场就应运而生。
目前就写了 sql 注入和暴破破解两个系列,后续有时间再补充让其成体系。
靶场暂时属于闭源。
简单的INT型注入12345678<?php$id = $_GET['id'];if (isset($id) && isset($_GET['submit']) && $id !== '' ...
CCNA 学习记录-ARP协议和数据转发
引言 当网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址,因此发送端还必须获取到目的MAC地址。通过目的IP地址来获取目的MAC地址的过程是由ARP(Address Resolution Protocol)协议来实现的。
ARP 协议ARP的概念ARP 地址解析(Address Resolution Protocol)协议用于将IP地址映射到对应的MAC地址,实现在网络中定位和通信设备的地址解析。
ARP 数据包格式
ARP报文不能被路由器所转发,只能在当前广播域
ARP 的作用当主机A向数据B进行他通信的时候,数据链路层在进行数据封装的时候,需要主机B的MAC地址,此时主机A并不知道主机B的MAC地址,只知道主机B的IP地址为192.168.1.200,则会进行ARP广播,ARP请求是一个广播消息,会被发送到本地网络的所有设备。这个广播消息包含了主机A正在寻找的目标IP地址。
在这种情况下,泛洪(Floodin ...
CCNA 学习记录-IP地址和子网掩码
引言 网络层位于数据链路层与传输层之间。网络层中包含了许多协议,其中最为重要的协议就是IP协议。网络层提供了IP路由功能。理解IP路由除了要熟悉IP协议的工作机制之外,还必须理解IP编址以及如何合理地使用IP地址来设计网络。
IP地址IP地址的概念 IP地址称为互网协议地址(英语:Internet Protocol address,又译为网际协议地址),缩写为IP地址(英语:IP address)它用于在计算机网络中唯一标识和定位设备的数字标签(当然也分为公有地址和私有地址),它标识了我们计算机在互联网中所处的位置,就类似于我们收发快递时的收货地址和寄件地址,这也对应着网络层中的来源IP和目的IP。
IP地址的组成IP地址由 32个二进制数 组成,为了方便好记,我们将其转为十进制,并使用点分十进制的形式表示。
例如:
123# 例如IP地址 192.168.1.1 的二进制表示形式为: 11000000.10101000.00000001.0000001# 转为点分十进制表示就为 192.168.1.1
IP地址分为 网络部分和主机部分
IP地址的分类范围分类IP地址分为A、B、 ...
CCNA 学习记录-网络基础和OSI
网络基础网络的概念网络是指将多个计算机、设备或系统通过通信链路互相连接,以便彼此之间进行数据交换和资源共享的互联结构。
简单的网络
两个终端,用一条能承载数据传输的物理介质(也称为传输介质)连接起来,就组成了一个最简单的网络。
网络常见的物理组件
路由器(Router)
交换机(Switch)
计算机(PC)
网线
网卡
…
网络拓扑结构星型拓扑
优点:
易于安装和维护。
故障检测和隔离相对简单。
单个设备故障不会影响其他设备。
缺点:
中心节点(集线器、交换机)故障可能导致整个网络中断。
高度依赖中心节点,中心节点性能成为瓶颈。
总线拓扑
优点:
简单,易于实施和理解。
成本相对较低。
缺点:
故障或断电可能影响整个网络。
网络流量过大可能导致性能下降。
添加或移除设备可能会干扰整个网络。
环形拓扑
优点:
数据传输效率较高。
管理相对容易。
缺点:
故障某个节点可能导致整个环路中断。
添加或移除设备可能需要重新调整整个环路。
网状拓扑
优点:
提供了冗余路径,增加了网络的可靠性。
故障时有备用路径可用。
缺点:
铺设成本 ...
CCNA 学习记录-命令行基础
管理设备的方式
console 线
远程(telnet、ssh)
模拟器的介绍
GNS3
EVE-ng
Cisco Packet Tracer
基础命令界面视图用户视图 用户视图以 > 为前缀,通常是刚登录进来的视图。
特权视图 特权视图以 # 为前缀,通常使用 enable 命令从用户视图切换到特权视图。
全局视图全局视图也叫做配置视图以 (config)# 为前缀,通常使用configure terminal 命令从特权视图切换到全局视图。
视图切换:
123exit # 返回上一层视图end # 返回特权视图Ctrl + Z # 返回特权视图
设置主机名配置模式下执行:
1Router(config)#hostname XXXX
示例:
设置特权密码配置模式下执行:
12R1(config)#enable password XXX # 非加密R1(config)#enable secret XXX # 加密
非加密的形式可以在列出配置信息的时候查看其明文密码,而加密形式则看不到明文密码。
示例:
当我们退出到 ...
MYSQL 漏洞利用与提权
权限提升获取数据库操作权限
MySQL 3306 端口弱口令爆破
sqlmap 注入的 --sql-shell 模式
网站的数据库配置文件中拿到明文密码信息
CVE-2012-2122 等这类漏洞直接拿下 MySQL 权限
CVE-2012-2122 简单的讲就是 当一个正确的用户名多次输入错误的密码会有几率可以直接成功登陆进数据库。
获取webshell权限into outfile 写 shell
知道网站物理路径
高权限数据库用户
load_file () 开启 即 secure_file_priv 无限制
mysql对网站路径有写入权限
首先基础语法查询是否 secure_file_priv 没有限制
1234567mysql> show variables like "secure_file_priv";+------------------+-------+| Variable_name | Value |+------------------+-------+| secure_file_priv | |+--------- ...
Wireshark 工具的学习记录
Wireshark工具的使用Wireshark工具简介WireShark(前身: Ethereal) 是当前非常流行和厉害的网络封包分析工具,可以截取各种网络数据包,并显示数据包详细信息,不仅常用于测试过程中定位问题,更在网络故障定位,Web渗透中随处可见。
Wireshark抓包原理Wireshark使用的环境大致分为两种,一种是电脑直连互联网的单机环境,另外一种就是应用比较多的互联网环境,也就是连接交换机的情况。
「单机情况」下,Wireshark直接抓取本机网卡的网络流量。
「交换机情况」下,Wireshark通过端口镜像、ARP欺骗等方式获取局域网中的网络流量。
端口镜像:利用交换机的接口,将局域网的网络流量转发到指定电脑的网卡上。
ARP欺骗:交换机根据MAC地址转发数据,伪装其他终端的MAC地址,从而获取局域网的网络流量。
Wireshark工具的安装工具的安装请百度一下,你就知道。
官网下载地址:https://www.wireshark.org/
国内下载地址:https://pc.qq.com/search.html#!keyword=wireshark
Wire ...
volatility 取证工具的安装与配置
前言最近在准备信息安全与评估比赛,在第二阶段需要做内存取证相关的赛题,比赛提供的是 volatility 软件作为内存镜像的取证工具。
volatility 官网的 Linux 可执行文件对第三方插件和内置插件 iehistory 还是很不友好的。
于是建议安装 py 版本的 volatility,但是比赛提供的是上方版本。不过我们学习的话,还是 py 版本比较好。
环境准备配置环境
Kali Linux 2023
Python2
源码下载基于github:https://github.com/volatilityfoundation/volatility
基于 volatility 官网:http://downloads.volatilityfoundation.org/releases/2.6/volatility-2.6.zip
依赖安装安装 pip2在安装 volatility 之前,我们需要安装 pip,kali 自带的 pip 则都是基于 python3.10 的版本。因此我们需要手动安装基于 python2 的pip。
1234# 下载 get-pip.pycurl ...
web手要懂得的Linux知识
前言Linux 操作系统可以说是网络安全学习、从业人员必不可少的操作系统基础,因此 X1ong 在这里记录一下 Linux 的常用命令和常用操作。
Linux 常用命令目录/文件操作cd
更改当前工作目录
1234567891011121314# 转到指定目录cd /var/# 转到当前用户的家目录cd # 转到上一层目录cd ..# 转到刚才选择的目录cd -# 转到当前目录下的var目录cd var
ls
显示目录内容列表
补充说明:
ls命令 用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。
语法:
1ls [选项] [文件名...]
1234567891011121314151617# 显示文件的详细信息ls -l# 显示隐藏文件ls -a # 逆序显示目录内容ls -r# 按时间排序ls -t # 递归显示ls -R # 以易读的形式显示文件大小ls -lh
tree
树状图列出目录的内容。
该命令在Linux系统下一般不默认安装,需要使用apt或者yum安装。
语法:
1tree [选项 ...
Docker 常用镜像整理
前言使用 docker 搭建靶场很方便,之前有一部分是通过 VMware Workstation 搭建靶场,基本上都是从一个原生的 Centos Base 镜像搭建起来。从没有 apache、mysql、php 的 Centos 到搭建好了的 LAMP;从没有 nginx、mysql、php 的 Centos 到搭建好了的 LNMP。
每次搭建做了很多的重复工作,于是干脆直接将 LAMP 和 LNMP 架构的 Linux 系统封装为虚拟机,用的时候直接用 LAMP 或 LNMP 环境即可。
以上都是线下模拟的靶机。
但是如果放到了线上模拟,VMware Workstation 搭建的靶机自然不能使用了。最好不过的是使用 docker 搭建,然后采用端口映射技术。
但是在通过 docker 搭建的过程中,难免会出现找 LAMP 或者 LNMP 镜像的时间,故而今天做一下整理。
PHPPHP5.2
PHP 版本
系统版本
Apache 版本
Web 路径
COMMAND
5.2.17
Ubuntu 16.04.5
2.2.22
/var/www/h ...