Metasploitable渗透测试
Metasploitable靶机渗透测试报告 信息收集 主机探测 使用arp-scan -l发现目标靶机的IP地址是192.168.5.135 1arp-scan -l 端口扫描 使用nmap -sS -sV -sC -p- 192.168.5.135发现目标靶机开启了:21,22,23,25,53,80,139,445,3306,5432,8009,8180端口。 1nmap -sS -sV -sC -p- 192.168.5.135 目录扫描 使用 dirb ``http://192.168.5.135/ 扫描目标IP目录。 1dirb http://192.168.5.135/ 使用dirb ``http://192.168.11.13``5:8180扫描目标IP目录。 1dirb http://192.168.11.135:8180 渗透阶段 21端口的FTP服务 用版本号看看有没有漏洞 除了1.3.1其他都有我服了 22端口的SSH服务 网上搜索扫描发现是有漏洞的 用msfconsle进一步探测 1searc...
pWnOS渗透测试
pWnOS渗透测试 一、测试概述1.1 测试目标针对 pWnOS 靶机(IP:192.168.5.132)开展全维度黑盒渗透测试,覆盖 Web 应用层、系统服务层、权限提权等维度,挖掘高危漏洞并验证完整攻击链,评估靶机整体安全风险及防御短板。 1.2 测试范围 Web 应用层:index1.php 核心参数(help/connect/name)、表单交互逻辑、文件包含 / 执行漏洞; 系统服务层:SSH(22)、HTTP(80)、Samba(139/445)、Webmin(10000)等开放服务的漏洞利用与权限突破; 权限提权层:普通用户(vmware)到 root 权限的提权路径验证; 敏感信息层:系统配置文件、用户凭证、服务漏洞利用脚本等。 1.3 测试工具与方法 工具 / 方法 用途 arp-scan 内网 IP 存活探测 Nmap 端口扫描、服务版本识别 searchsploit 漏洞利用脚本检索(Webmin/Samba) 浏览器(Chrome) 手工验证文件包含、XSS 漏洞 SS...
CSRF攻击
CSRF 攻击(Cross-Site Request Forgery)中心主题:CSRF 攻击(跨站请求伪造) 原理 攻击建立在浏览器与 Web 服务器的会话(Session/Cookie)之中 攻击者不需要知道受害者的 Cookie 值 开发者未对会话设置 Token 或 Referer 验证,也未使用验证码等二次确认措施 浏览器在同源会话下自动携带 Cookie 发起请求 危害 用当前登录用户的权限执行任意操作 常见后果: 修改密码 新增管理员账号 修改个人信息 转账 / 支付 删除数据 发帖 / 评论(垃圾信息) 获取 Shell(如果结合文件上传等功能) 攻击流程(典型场景) 用户 C 正常登录网站 A,浏览器保存了 Cookie/Session 用户 C 在同一浏览器中访问恶意网站 B(或点击恶意链接、邮件、论坛图片等) 网站 B 返回恶意页面,包含自动触发的请求(img、form、iframe、XMLHttpRequest 等) 浏览器在用户不知情的情况下,向网站 A 发起带有 Cookie 的请求 网站 A 收到...
php核心语法
Java 数组详细教程数组是Java中存储固定大小同类型元素的数据结构。下面我将详细介绍Java数组的各个方面。 一、数组基础1. 数组声明12345678// 声明一个整型数组int[] intArray;// 声明一个字符串数组String[] stringArray;// 也可以使用C风格的声明方式(不推荐)int intArray2[]; 2. 数组初始化12345678910111213// 静态初始化 - 直接指定元素int[] numbers = {1, 2, 3, 4, 5};// 动态初始化 - 指定长度后再赋值int[] numbers2 = new int[5];numbers2[0] = 10;numbers2[1] = 20;// ...// 默认初始化 - 元素有默认值double[] doubles = new double[3]; // 默认值为0.0boolean[] flags = new boolean[2]; // 默认值为falseString[] names = new String[3]; // 默认值为null...
JAVA方法(函数)
Java方法(函数)详细教程1. 方法的基本概念方法是Java中执行特定任务的代码块,也称为函数。方法的主要目的是提高代码的复用性和可维护性。 方法的优点: 代码复用:避免重复编写相同的代码 模块化:将复杂问题分解为小模块 易于维护:修改只需在一个地方进行 2. 方法的定义方法的基本语法结构: 1234[访问修饰符] [static] 返回类型 方法名([参数列表]) { // 方法体 [return 返回值;]} 示例:1234public static int add(int a, int b) { int sum = a + b; return sum;} 3. 方法的组成部分3.1 访问修饰符 public: 公开访问 private: 仅类内可访问 protected: 同包和子类可访问 (默认): 同包可访问 3.2 static关键字 静态方法:属于类,可直接通过类名调用 非静态方法:属于对象,需要通过对象实例调用 3.3 返回类型 基本数据类型:int, double, boolean等 引...
JAVA基础
Java 基本语法详细教程Java 是一种面向对象的编程语言,具有简单、可移植、安全等特性。下面我将详细介绍 Java 的基本语法。 1. Java 程序结构一个最简单的 Java 程序如下: 12345678// 定义类public class HelloWorld { // 主方法,程序入口 public static void main(String[] args) { // 输出语句 System.out.println("Hello, World!"); }} public class HelloWorld:定义一个公共类,类名必须与文件名一致 public static void main(String[] args):主方法,程序执行的入口 System.out.println():输出语句 2. 基本数据类型Java 有 8 种基本数据类型: 数据类型 大小 范围 默认值 byte 8位 -128到127 0 short 16位 -32,...
JAVA类
OOP什么是面向对象的编程OOP表示面向对象的编程 过程编程是关于编写对数据执行操作的过程或方法,而面向对象编程是关于创建包含数据和方法的对象。 面向对象编程与过程编程相比有几个优点: OOP 更快更容易执行 OOP 为程序提供了清晰的结构 OOP 有助于保持 Java 代码干燥( DRY,”Don’t Repeat Yourself”),并使代码更易于维护、修改和调试 OOP 使得用更少的代码和更短的开发时间创建完全可重用的应用程序成为可能 **提示:**DRY 原则旨在减少代码的重复。您应该提取应用程序中通用的代码,然后将它们放在某处并重复使用它们。 类和对象 类水果 对象苹果 类汽车 对象奥迪 类/对象创建类使用关键字class 使用变量 x 创建名为 "Main" 的类: 123public class Main { int x = 5;} 创建对象在 Java 中,对象是从类创建的。我们已经创建了名为 Main 的类,所以现在我们可以使用它来创建对象。 如需创建 Main 对象,请指定类名,后跟对象...
php核心语法
PHP 代码基本结构1.纯PHP文本123<?php// 纯PHP文件不需要闭合标签 ?>,可避免输出空白字符echo "这是一个纯PHP文件"; 2.嵌入HTML12345678910<!DOCTYPE html><html><body> <h1>普通HTML内容</h1> <?php $name = "张三"; echo "<p>动态生成内容:你好,$name!</p>"; ?></body></html> 3.短标签(需要配置php.ini)1<?= "相当于 <?php echo '内容'; ?>" ?> 变量与数据类型1.变量规则 以$开头,区分大小写 由字母、数字、下划线组成,不能以数字开头 无需声明类型,赋值时自动确定类型 2.基本数据类型1234567891011121314151617...
sql注入(理论)
SQL注入(SQL Injection)中心主题:SQL注入 1. 注入位置分类1.1 WHERE 子句注入(最常见) 登录框(用户名 / 密码) 搜索框 GET/POST 参数(如 id、name、keyword) 典型 payload: ' or 1=1 -- ' or '1'='1 admin' -- ') or ('1'='1 1.2 ORDER BY 注入 常出现在排序参数(如 order=asc / desc) 典型 payload: order by 1-- order by 999-- (报错判断字段数) order by rand() (盲注) 1.3 GROUP BY / HAVING 注入 较少见,通常与聚合函数结合 1.4 LIMIT / OFFSET 注入 翻页参数 payload:1 union select 1,2,3 limit 0,1 1.5 UPDATE / INSERT 注入 ...
php数组
数组是一种特殊的变量,可以在单个名称下保存多个值,您可以通过引用索引号或名称来访问这些值。 PHP数组类型 索引数组 :有数字索引的数组 关联数组 : 有命令键的数组 多维数组 : 包含一个或多个数组的数组 数组项数组项可以是任何数据类型。 最常见的是字符串和数字(int, float),但数组项也可以是对象、函数或甚至是数组。 同一个数组中可以有不同的数据类型。 1$myArr = array("Volvo", 15, ["apples", "bananas"], myFunction); 数组函数php数组最强大的地方是处在于内置的数组函数,如count()函数用于计算数组的项数 12$cars = array("Volvo", "BMW", "Audi");echo count($cars); 索引数组php索引数组在索引数组中,每个项目都有一个索引号 默认情况下,第一个项目的索引是0,第二个项目的索引是1,以此类推 123$cars = array...




