web通信原理笔记

wangshaoyu   ·   发表于 2023-11-19 14:31:42   ·   学习杂记

开学典礼

渗透测试->工作方向

  1. 安全相关的岗位:售前
  2. 安服 渗透 应急响应 培训等等->找漏洞,提供修复建议
  3. 渗透 利用漏洞,拿下目标服务器(还需掌握免杀、0day漏洞的利用)

渗透测试:有授权才可以测

名词解释:

  • 0day、1day、n day
    根据漏洞披露的时间决定
    0day:某个应用有漏洞,外人不知道,很难被防御,打存在漏洞应用或站点,一打一个准
    1day:被发现,在小圈子里流传,没用相应的修复工具,生命走到尽头
    n day:
  • sql注入:
  • poc/payload:
    用来验证是否存在漏洞的脚本
    攻击者在利用漏洞时,通过向受攻击的系统发送的恶意代码或指令,用于实现攻击目的的数据包。Payload 可以是一个简单的指令,也可以是一段复杂的代码,可以导致系统崩溃、数据泄露、远程控制等多种攻击行为。在计算机安全领域中,Payload 通常是黑客利用漏洞进行攻击的最重要部分之一
  • exp:
    有害的,后续的利用脚本,执行反弹shell
  • shell:能让目标服务器执行系统指令
  • webshell:通过web网站和目标系统进行交互的工具

    虚拟机安装

    安装windows server 2008 R2

https://msdn.itellyou.cn/

问题:win7虚拟机无法安装tools,需要升级到sp1

解决:https://www.jianshu.com/p/8a4550326e2b

问题:ping不通

解决:关闭防火墙;使用NAT模式

远程桌面连接

计算机—>属性->远程——允许远程连接

需要对用户设置密码

kali虚拟机安装

系统默认用户名:kali;密码:kali

修改root密码 sudo passwd root

更新源:

源文件:vi /etc/apt/sources.list
更新源:apt-get update
设置中文编码:=dpkg-reconfigure locales,选择en-ch utf-8、zh-cn utf-8
安装中文字体:sudo apt-get install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy

重启:reboot

解决升级后msf不兼容的问题:gem install bundler

计算机基础命令和概念公式

操作系统

操作系统本质上是一个应用软件,普通应用软件是运行在系统软件上的;操作系统的核心是操作各种硬件
三方平台:Windows,Linux,Mac os

一个软件不能直接在三种平台上运行

  • Windows:.exe

    内部集成的应用不同,漏洞修复问题;使用简单,几乎所有的操作都可以借助图形界面完成,非常易用;电脑的性能(内存、CPU)要求比较高

  • linux 开源(.bin)

    大部分的的操作需要借助命令行完成,存在较高的学习成本对硬件性能的需求非常底,对便用者的技术要求偏高;基于核心代码,去做不同内容定制

    debian => 比较干净

    ubuntu => 日常的开发工作 => 办公软件\待开发工具

    arch

    centos => 企业服务期环境,nginx\apache\mysql

    kali => 渗透测试的集成环境(渗透测试会使用到的工具)

  • mac os:(.dmg)

    个人电脑上的, 迭代比较干净优点: 很好的集成了windows和linux的优点。 大部分的linxu指令能过度到mac上使用

开源与闭源

​ 开源:开放源代码.

​ 闭源 :不开放源代码 => 企业或者团体持有.

​ Apache :用来搭建web服务的。

服务器与个人电脑

服务器: 使用场景为提供各种服务

对电脑的性能要求高、稳定 7*24*365、服务器是具有一定的安全性的;和日常使用的电脑,稍微有一些不同

服务器的操作系统和个人电脑使用的操作系统是不同的

IP

在互联网上的家庭住址

  • 概念 ip地址就是家庭住址

  • 地址的分类

    公网地址: 江西省 南昌市 高新区 火炬五路 洪泰制造工厂 a1栋13号;只要你能上网,你就能访问到这个地址。 一个公网IP地址,只能对应一个IP设备

    内网地址: a1栋13号 (你不在 洪泰制造工厂 ) 局域网,子网,私网;只适用在 洪泰制造工厂 小的区域里面

  • 内网地址具有特定的IP段:10.0.0.0~10.255.255.255 |172.16.0.0~172.31.255.255 |192.168.0.0~192.168.255.255

nat 网络基础知识

​ 1-255.1-255.1-255.1-255

​ 通过公网地址向下拆分子网,降低 公网IP数量的压力

共享IP

网段

划分网络区域

网段用来划分分范围。

通过具体的 => 共享给一个小的区域里面的设备使用。

域名

简化对IP的记忆

借助域名解析服务器(DNS)

101.43.54.81 => anchorubik.com

根域名 一级域名 二级域名 三级域名

一级域名,需要花钱,例:x.com

二级域名 (二级域名以后的域名,子域名)例:www.x.com

端口

通过端口来划分服务内容

设置虚拟的端口 1-65535 个端口

不同的房间对应不同的服务 101.43.54.81

​ web 服务 443端口

​ 数据库服务 3306

​ 文件共享服务 21

​ 远程桌面服务 3389

Windows

cmd命令行:

  • IP端口相关的指令

    1. ipconfig
    2. 192.168.0.1-192.168.1.255 广播地址
    3. nslookup www.anchorubik.com
    4. ping 192.168.0.141
    5. 只能作为一个参考
    6. 通过扫描端口来判断主机是否存活
    7. 通过 telnet 访问一个具体的端口
    8. netstat -ano
    9. 管道符 | 将前一个输出作为后一个指令的输入
    10. tracert
    11. 数据包在互联网中的路由情况
  • 用户操作

    用户权限

    (最高)system -> administrator -> user -> iis

    日常使用中,无法获取到system权限

    1. whoami
    2. whoami /all 查看当前具有的权限
    3. net user rubik rubik@123 /add //创建用户
    4. net localgroup administrators rubik /add //提权
    5. net user //查看用户
    6. net localgroup //查看本地分组
    7. 遇到权限冲突时,优先选择高权限
    8. 目录和文件的操作权限,是通过用户组和用来继承的

相对路径和绝对路径:

​ windows的文件管理 基于盘符进行划分

​ 相对路径: 基于当前所在的位置,然后去找目的地

  1. 当前所在的路径:
  2. D:\software\phpstudy\WWW
  3. 退出一层
  4. ..\mysql\bin
  5. 目的路径:
  6. D:\software\phpstudy\MySQL\bin
  7. ..\ 返回上层目录
  8. . 当前所在目录
  9. D:\software\phpstudy\nginx\1.php 包含了 index.html
  10. D:\software\phpstudy\nginx\html\index.html
  11. .\html\index.html
  12. C:\Users\Z\Desktop\nginx\html

程序运行

有些应用,不在目录下可以运行,有些应用却必须得到文件所在目录才能运行?

​ 环境:文件(可执行文件)查找顺序

  1. 1. 当前目录下是否有这个应用
  2. 1. 当前目录下不存在这个应用时,查找环境变量中的路径下是否有这个应用

Linux的所有文件都是 /

一些Windows命令

  1. dir 查看当前目录
  2. copy 复制文件或隐藏文件
  3. del
  4. sc 对服务进行控制

Linux

打开终端:ctrl+alt+t

文件系统:树结构

​ /var

​ /etc :配置文件

​ /home:用户家目录

​ /bin 可执行文件

​ /tmp 临时文件缓存目录

  1. ls
  2. pwd
  3. cd 切换目录
  4. vi/vim
  5. 命令模式 搜索、替换、设置、退出
  6. : wq q! wq!
  7. 输入模式 i/a/s
  8. 搜索字符串 /字符串 n:下一个 shift+n:上一个
  9. 显示行号:set nu
  10. 视图模式 比较高级
  11. rm 删除数据直接没了 删文件
  12. 文件和目录是不同的东西
  13. mkdir tmp 创建目录
  14. rmdir tmp 删除目录 (目录为空)
  15. echo 1fafdsa > tmp/1.txt 覆盖到文件中
  16. >> 追加到文件中
  17. cat
  18. less 交互式的查看 退出 q
  19. ifconfig / ip addr
  20. netstat -ltuano 之查看tcp的端口监听

tar -h / —help

tar 选项 参数1 参数2 …

​ tar -cf test.tar /

对用户的操作:

  1. useradd -d /home/rubik rubik -s /bin/sh
  2. sudo vim /etc/sudoers
  3. sudo groupadd -g 1000 rubik

linux 中大小写敏感

Linux的权限问题:

root user ftp(权限实在太低)

sudo:提权
su:切换用户
sudo su root:直接切换到root

  1. id 查看用户的权限
  2. uid=0(root) gid=0(root) groups=0(root)
  3. 0-1000 相对系统内置的用户
  4. uid=1000(kali) gid=1000(kali) groups=1000(kali),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),100(users),106(netdev),111(bluetooth),115(scanner),138(wireshark),141(kaboxer)
  5. 自建用户

操作文件时,文件的归属来判断权限,分别为属主,属组,和其他用户

r 可读;w 可写x ;可执行

  1. chmod 777 Video 修改文件的权限
  2. chown root:root video 修改文件的归属
  3. 1. 先给对应的读写权限
  4. 2. 进行编辑
  5. 3. 在将权限该回去

sudo 特殊权限组 普通用户临时获取的root权限

软件运行和安装

搜索已安装文件:apt search docker |grep docker

管理服务:

​ 掌握一些简单的服务搭建。

  1. systemctl start/stop/restart/status/enable ssh

查看出错信息(日志):journalctl -ex

安装应用:

​ 通常需要修改操作系统安装源 (换源);直接从软件仓库中下载软件

​ 用国内的源地址替换linux默认的源地址;不同的linux发行版,使用的软件管理工具是不同的

快速自建web安全测试环境

为什么要自建web环境:

  1. 需要测试环境。
  2. 了解web网站的基本结构和运行

网站的结构

前端 + 后端

前端: html + css + JavaScript

后端: 让网站具有一些特殊的业务功能

​ java

​ php

​ python

前台:用来展示正常用的内容
后台:管理网站前台显示内容的 (后台的攻击优先级要高于前台) 提供和服务器进行交互的接口

网站运行的一些准备工作

web容器:

​ 是一个应用,解析网站相关的文件

​ php使用的容器 nginx、apache(针对php后端语言友好)、

​ java 使用的容器 tomcat、weblogic

前端: html css javascript

后端: php

php网站的环境:

​ wamp : windows + apache + mysql + php

​ wnmp: windows + nginx + mysql + php

​ lamp

集成工具:一键化环境安装工具

​ 宝塔、phpstudy

windows解析域名是:

​ 1. 查看hosts 文件中的记录

​ 127.0.0.1 回环地址

​ 0.0.0.0 => 本机的任意IP

网站的搭建模式

  1. 基于端口

    一个端口 对应一项服务

    3389 远程桌面 192.168.189.129:3389

    80 端口

    ​ 通过修改配置文件,让网站运行在不同的端口上

  2. 基于域名

    通过域名来网文网站

    只是修改host,不设置域名监听网站

    ​ 访问到的内容 http://127.0.0.1:80/

    通过设置不同的子域名,就能获得不同的网站,可以指向同一台服务器

    ​ 对应到具体文件时,指向了不同的文件

  3. 基于目录

    ​ 将网站源码解压到phpstudy根目录

    ​ 并不是每一个目录都是不同的网站,只是可以通过不同的目录来区分不同的网站

    ​ web访问只能访问到根目录及其子目录下面的文件

打赏我,让我更有动力~

1 条回复   |  直到 5个月前 | 149 次浏览

zbs
发表于 5个月前

多发点,适合我这种懒得记笔记的

评论列表

  • 加载数据中...

编写评论内容
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.