渗透测试笔记 -------------持续更新中~

文章目录

  • 渗透测试
    • 1、Windows基础
      • 1.1 渗透测试介绍
      • 1.2 渗透测试的特点
      • 1.3 渗透测试流程
      • 1.4 Windows网站篇
        • http协议
        • http头讲解
        • 静态网站
        • 动态网站
      • 1.5 Windows常见端口
      • 1.6 注册表结构
      • 1.7 常用DOS命令
      • 1.8 Windows常用快捷键
      • 1.8.1 Windows 徽标键键盘快捷方式
      • 1.8.1命令提示符键盘快捷方式
      • 1.8.2 对话框键盘快捷方式
      • 1.8. 3 文件资源管理器键盘快捷方式
    • 2.网络基础
      • 2.1 TCP/IP协议栈
      • 2.2 三次握手 四次挥手
      • 2.3、TCP**(Transmission Control Protocol,传输控制协议)
      • 2.4、HTTP**(HyperText Transfer Protocol,超文本传输协议)
      • 2.5、相关资料**
      • 2.6、网络协议
      • 2.7、TCP(Transmission Control Protocol,传输控制协议)
        • 1、TCP头格式
        • 2、TCP协议中的三次握手和四次挥手
        • 3、建立连接需要三次握手
        • 4、断开连接需要四次挥手
      • 2.8、TCP报文抓取工具:Wireshark
      • 2.9、HTTP(HyperText Transfer Protocol,超文本传输协议)
        • 1、请求报文结构
        • 2、请求报文样例
        • 3、请求报文参数详解
        • 请求方法
        • 请求报头域
        • 4、响应报文结构
        • 5、响应报文样例
        • 6、响应报文参数详解
        • 响应状态码
        • 响应报头域
        • 7、HTTP报文抓取工具
        • 8、Session和Cookie
        • Session
        • Cookie
    • linux基础
      • 1.kali开启ssh 22号端口链接
      • 1.1 kali常用命令

渗透测试

1、Windows基础

  1. 脚本(asp 、PHP、jsp)、
  2. html(css、js、html)
  3. HTTP协议
  4. CMS(B/S)
  5. MDS
  6. 肉鸡:被黑客入侵被长期驻扎的及计算机或服务器
  7. 抓鸡:利用使用量大的程序的漏洞,使用自动化方式获取肉鸡的行为
  8. Webshell:通过Web入侵的一种脚本工具,可以据此对网站服务进行一定程度的控制
  9. 漏洞:硬件、软件、协议等等的可利用安全缺陷,可能被攻击者利用,对数据进行篡改,控制等
  10. 一句话【木马】渗透测试笔记 -------------持续更新中~_第1张图片

11.渗透测试笔记 -------------持续更新中~_第2张图片

  1. 提权:操作系统低权限的账户将自己提升为管理员权限使用的方法
  2. 后门: 黑客为了对主机进行长期的控制,在机器上种植的一段程序或留下的一个“入口”
  3. 旁站: 即同服务器下的网站入侵,入侵之后可以通过提权跨目录等手段拿到目标网站的权限。常见的旁站查询工具有:WebRobot、御剑、明小子和Web在线查询等
  4. C段入侵:即同C段下服务器入侵。如目标IP为192.168.1.253入侵192.168.1.*的任意一台机器,然后利用一些黑客工具嗅探获取在网络上传输的各种信息。常用的工具有:在Windows下的Cain,在UNIX环境下有Sniffit,Snoop,Tcpdump,Dsniff等

1.1 渗透测试介绍

1.2 渗透测试的特点

充满挑战与刺激----------不达目的的不罢休

思路与经验累积往往决定成败

三个臭皮匠/众人拾材火焰高

1.3 渗透测试流程

渗透测试笔记 -------------持续更新中~_第3张图片

1.4 Windows网站篇

  1. http协议

  2. 渗透测试笔记 -------------持续更新中~_第4张图片

  3. http头讲解

3.渗透测试笔记 -------------持续更新中~_第5张图片

  1. 静态网站

  2. 渗透测试笔记 -------------持续更新中~_第6张图片

  3. 动态网站

  4. 渗透测试笔记 -------------持续更新中~_第7张图片

1.5 Windows常见端口

渗透测试笔记 -------------持续更新中~_第8张图片

1.6 注册表结构

渗透测试笔记 -------------持续更新中~_第9张图片

1.7 常用DOS命令

常见dos命令汇总]

常用的内部命令有md、cd、rd、dir、path、copy、type、edit、ren、del、cls、ver、date、time、prompt。
常用的外部命令有deltree、format、diskcopy、label、vol、sys、xcopy、fc、attrib、mem、tree。

切换到其他盘符d:

1.md——建立子目录
功能:创建新的子目录
类型:内部命令ü
格式:md[盘符:][路径名]〈子目录名〉
for 1:
c:>md y /—建立y子目录—/

2.cd——改变当前目录
功能:显示当前目录ü
类型:内部命令ü
格式:cd[盘符:][路径名][子目录名]
说明:cd命令不能改变当前所在的盘,cd…退回到上一级目录,cd\表示返回到当前盘的目录下,cd无参数时显示当前目录名。
for 2:
c:>cd y /—显示当前目录y—/

3.rd——删除子目录命令
功能:从指定的磁盘删除了目录。
类型:内部命令ü
格式:rd[盘符:][路径名][子目录名]
for 3:
c:>rd y

4.dir——显示磁盘目录命令
功能:显示磁盘目录的内容。
类型:内部命令ü
格式:dir [盘符][路径][/p][/w]
for 4:
c:>dir y

5.path——路径设置命令
功能:设备可执行文件的搜索路径,只对文件有效。
类型:内部命令ü
格式:path[盘符1]目录[路径名1]{[;盘符2:],〈目录路径名2〉…}
for 5:
c:>path
path=c:\windows;c:\windows\command;c:\programfiles\mts
6.copy文件复制命令
ü 功能:拷贝一个或多个文件到指定盘上。
类型:内部命令ü
格式:copyü [源盘][路径]〈源文件名〉[目标盘][路径][目标文件名]
for 6_1:
c:>copy yyy.txt yyy
1 file(s) copied
c:\yyy>dir yyy
yyy txt 8 11-23-03 19:21 /—现在用dir命令查看复制的情况—/
说明: 如果是将多个文件复制到一个新的文件,命令是这样的copy [源盘][路径]〈源文件a〉+[源盘][路径]〈源文件b〉[目标盘][路径][目标文件名]
for 6_2:
c:>copy x.txt+y.txt xy.t
x.txt
y.txt
1 file(s) copied

7.type——显示文件内容命令
功能:显示ascii码文件的内容。ü
类型:内部命令。ü
ü 格式:type[盘符:][路径]〈文件名〉
for 7:
c:>trpe yyy.txt /—假设c盘目录下存在yyy.txt文件—/

8.edit——编辑文件内容命令
1.功能:编辑ascii文件的内容,也可建立一个新文件。
2.类型:内部命令。
\3. edit[盘符:][路径]〈文件名〉
说明: edit即可以编辑ascii文件的内容,也可以新建立一个文件,他们的扩展名命名方式也很灵活,比如.txt、.bat,甚至可以编辑.c、.bas的格式。
for 8_1:
c:>edit /进入编辑模式/
for 8_2:
c:>edit yyy.txt /—编辑yyy.txt文件的内容,如果要选择支持中文格式,应该安装ucdos—/

9.ren——文件改名命令
ü 功能:更改文件名称
类型:内部命令ü
格式:ren[盘符:][路径]〈旧文件名〉〈新文件名〉ü
for 9:
c:>ren yyy.txt cly.txt

10.del——删除文件命令
功能:删除指定的文件。ü
类型:内部命令ü
ü 格式:del[盘符:][路径]〈文件名〉[/p]
说明:选用/p参数,系统在删除前询问是否真要删除该文件,若不使用这个参数,则自动删除。

11.cls——清屏幕命令
ü 功能:清除屏幕上的所有显示,光标置于屏幕左上角。
类型:内部命令ü
格式:clsü
for 11:
c:>cls

12.ver查看系统版本号命令
功能:显示当前系统版本号ü
类型:内部命令ü
ü 格式:ver
for 12:
c:>ver
windows 98 [version 4.10.2222] /—当前系统的版本号—/

13.data日期设置命令
功能:设置或显示系统日期。ü
类型:内部命令ü
ü 格式:date[mm—dd—yy]
for 13:
c:>date
current date is sun 11-23-2
enter new date (mm-dd-yy): /—提示你输入新的日期—/

14.time系统时钟设置命令
功能:设置或显示系统时期。ü
类型:内部命令ü
ü 格式:time[hh:mm:ss:xx]
for 14:
c:>time
current time is 22:49:28.81
enter new time:

15.prompt:更改命令提示符
ü 功能:改变dos系统提示符的风格。

补充:

\1. dir
dir是英文单词directory(目录)的缩写,主要用来显示一个目录下的文件和子目录。
[格式] dir [盘符][路径]
2.md–建立目录
它的格式为"md [盘符][路径]",例如"md temp"。
3.rd–删除目录
格式为"rd [盘符][路径]"。
4.cd–进入指定目录
格式为" cd [路径]",例如"cd happy
5.copy–拷贝文件
格式为"copy [源目录或文件] [目的目录或文件
6.del–删除文件
格式为"del [盘符][路径][文件名] [参数]"
7.ren–改名
格式为"ren [原名] [现名]
8.type–显示文本文件
格式为"type [文件名]"
9.discopy–磁盘复制
[格式] diskcopy 源驱动器名 目的驱动器名
10.deltree–删除目录树
[格式] [c:][path]deltree [c1:][path1] [[c2:][path2] […]]
\11. mem–查看你的计算机内存有多少,以及内存的使用情况。
[格式] 直接键入mem命令
12.chkdsk–检查你的磁盘的使用情况。
[格式] chkdsk 磁盘名
13.cls–清除显示器屏幕上的内容,使dos提示符到屏幕左上角。
[格式] cls
14.time–显示和设置dos的系统时间
[格式] time [hh[:mm[:ss[.cc]]]
15.format(format.com)–格式化命令
格式为"format [盘符] [参数]",例如:“format a: /s”。它有两个常见的参数:
/q:进行快速格式化;
/s:完成格式化,并将系统引导文件拷贝到该磁盘。
16.fdisk(fdisk.exe)–分区命令

uname 显示版本信息(同win2k的 ver)
dir 显示当前目录文件,ls -al 显示包括隐藏文件(同win2k的 dir)
pwd 查询当前所在的目录位置
cd cd …回到上一层目录,注意cd 与…之间有空格。cd /返回到根目录。
cat 文件名 查看文件内容
cat >abc.txt 往abc.txt文件中写上内容。
more 文件名 以一页一页的方式显示一个文本文件。
cp 复制文件
mv 移动文件
rm 文件名 删除文件,rm -a 目录名删除目录及子目录
mkdir 目录名 建立目录
rmdir 删除子目录,目录内没有文档。
chmod 设定档案或目录的存取权限
grep 在档案中查找字符串
diff 档案文件比较
find 档案搜寻
date 现在的日期、时间
who 查询目前和你使用同一台机器的人以及login时间地点
w 查询目前上机者的详细资料
whoami 查看自己的帐号名称
groups 查看某人的group
passwd 更改密码
history 查看自己下过的命令
ps 显示进程状态
kill 停止某进程
gcc 黑客通常用它来编译c语言写的文件
su 权限转换为指定使用者
telnet ip telnet连接对方主机(同win2k),当出现bash$时就说明连接成功。
ftp ftp连接上某服务器(同win2k)

网络命令大全

compmgmt.msc计 算机管理
net stop messenger 停止信使服务
conf 启动netmeeting
dvdplay dvd播放器
charmap 启动字符映射表
diskmgmt.msc 磁盘管理实用程序
calc 启动计算器
dfrg.msc 磁盘碎片整理程序
chkdsk.exe chkdsk磁盘检查
devmgmt.msc 设备管理器
regsvr32 /u *.dll 停止dll文件运行
drwtsn32 系统医生
dxdiag 检查directx信息
regedt32 注册表编辑器
msconfig.exe 系统配置实用程序
rsop.msc 组策略结果集
mem.exe 显示内存使用情况
regedit.exe 注册表
winchat xp自带局域网聊天
progman 程序管理器
winmsd 系统信息
perfmon.msc 计算机性能监测程序
winver 检查windows版本
sfc /scannow 扫描错误并复原
taskmgr 任务管理器(2000/xp/2003)
gpedit.msc 组策略
sndrec32 录音机
nslookup ip地址侦测器
explorer 打开资源管理器
logoff 注销命令
tsshutdn 60秒倒计时关机命令
lusrmgr.msc 本机用户和组
services.msc 本地服务设置
oobe/msoobe /a 检查xp是否激活
notepad 打开记事本
cleanmgr 垃圾整理
net start messenger 开始信使服务

windows运行命令全集

winver检查windows版本
dxdiag检查directx信息
mem.exe显示内存使用情况
sndvol32音量控制程序
sfc.exe系统文件检查器
gpedit.msc 组策略
regedit.exe 注册表
msconfig.exe 系统配置实用程序
cmd.exe cmd命令提示符
chkdsk.exe chkdsk磁盘检查
mem.exe显示内存使用情况
gpedit.msc 组策略
regedit.exe 注册表
msconfig.exe 系统配置实用程序
cmd.exe cmd命令提示符
services.msc 服务
lusrmgr.msc 本地账户管理
drwtsn32 系统医生
cleanmgr 垃圾整理
iexpress 木马捆绑工具,系统自带
mmc 控制台
dcpromo 活动目录安装
ntbackup 系统备份和还原
rononce -p 15秒关机
taskmgr 任务管理器
conf 启动netmeeting
devmgmt.msc 设备管理器
diskmgmt.msc nt的磁盘管理器
compmgmt.msc 计算机管理
winchat 局域网聊天
dvdplay dvd播放器
mplayer2 简易widnows media player
mspaint 画图板
nslookup 网络管理的工具
syskey 系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
wupdmgr widnows update
clipbrd 剪贴板查看器
odbcad32 odbc数据源管理器
nslookup ip地址侦测器

cmd命令大全

有关某个命令的详细信息,请键入 help 命令名

xp.cmd命令大全

有关某个命令的详细信息,请键入 help 命令名
assoc 显示或修改文件扩展名关联。
at 计划在计算机上运行的命令和程序。
attrib 显示或更改文件属性。
break 设置或清除扩展式 ctrl+c 检查。
cacls 显示或修改文件的访问控制列表(acls)。
call 从另一个批处理程序调用这一个。
cd 显示当前目录的名称或将其更改。
chcp 显示或设置活动代码页数。
chdir 显示当前目录的名称或将其更改。
chkdsk 检查磁盘并显示状态报告。
chkntfs 显示或修改启动时间磁盘检查。
cls 清除屏幕。
cmd 打开另一个 windows 命令解释程序窗口。
color 设置默认控制台前景和背景颜色。
comp 比较两个或两套文件的内容。
compact 显示或更改 ntfs 分区上文件的压缩。
convert 将 fat 卷转换成 ntfs。您不能转换
当前驱动器。
copy 将至少一个文件复制到另一个位置。
date 显示或设置日期。
del 删除至少一个文件。
dir 显示一个目录中的文件和子目录。
diskcomp 比较两个软盘的内容。
diskcopy 将一个软盘的内容复制到另一个软盘。
doskey 编辑命令行、调用 windows 命令并创建宏。
echo 显示消息,或将命令回显打开或关上。
endlocal 结束批文件中环境更改的本地化。
erase 删除至少一个文件。
exit 退出 cmd.exe 程序(命令解释程序)。
fc 比较两个或两套文件,并显示
不同处。
find 在文件中搜索文字字符串。
findstr 在文件中搜索字符串。
for 为一套文件中的每个文件运行一个指定的命令。
format 格式化磁盘,以便跟 windows 使用。
ftype 显示或修改用于文件扩展名关联的文件类型。
goto 将 windows 命令解释程序指向批处理程序
中某个标明的行。
graftabl 启用 windows 来以图像模式显示
扩展字符集。
help 提供 windows 命令的帮助信息。
if 执行批处理程序中的条件性处理。
label 创建、更改或删除磁盘的卷标。
md 创建目录。
mkdir 创建目录。
mode 配置系统设备。
more 一次显示一个结果屏幕。
move 将文件从一个目录移到另一个目录。
path 显示或设置可执行文件的搜索路径。
pause 暂停批文件的处理并显示消息。
popd 还原 pushd 保存的当前目录的上一个值。
print 打印文本文件。
prompt 更改 windows 命令提示符。
pushd 保存当前目录,然后对其进行更改。
rd 删除目录。
recover 从有问题的磁盘恢复可读信息。
rem 记录批文件或 config.sys 中的注释。
ren 重命名文件。
rename 重命名文件。
replace 替换文件。
rmdir 删除目录。
set 显示、设置或删除 windows 环境变量。
setlocal 开始批文件中环境更改的本地化。
shift 更换批文件中可替换参数的位置。
sort 对输入进行分类。
start 启动另一个窗口来运行指定的程序或命令。
subst 将路径跟一个驱动器号关联。
time 显示或设置系统时间。
title 设置 cmd.exe 会话的窗口标题。
tree 以图形模式显示驱动器或路径的目录结构。
type 显示文本文件的内容。
ver 显示 windows 版本。
verify 告诉 windows 是否验证文件是否已正确
写入磁盘。
vol 显示磁盘卷标和序列号。
xcopy 复制文件和目录树。

appwiz.cpl------------添加删除程序

control userpasswords2--------用户帐户设置

cleanmgr-------垃圾整理

cmd--------------命令提示符可以当作是 windows 的一个附件,ping,convert 这些不能在图形环境下 使用的功能要借助它来完成。

cmd------jview察看java虚拟机版本。

command.com------调用的则是系统内置的 ntvdm,一个 dos虚拟机。它完全是一个类似 virtual pc 的 虚拟环境,和系统本身联系不大。当我们在命令提示符下运行 dos 程序时,实际上也 是自动转移到 ntvdm虚拟机下,和 cmd 本身没什么关系。

calc-----------启动计算器

chkdsk.exe-----chkdsk磁盘检查

compmgmt.msc—计算机管理

conf-----------启动 netmeeting

control userpasswords2-----user account 权限设置

devmgmt.msc— 设备管理器

diskmgmt.msc—磁盘管理实用程序

dfrg.msc-------磁盘碎片整理程序

drwtsn32------ 系统医生

dvdplay--------启动media player

dxdiag-----------directx diagnostic tool

gpedit.msc-------组策略编辑器

gpupdate /target:computer /force 强制刷新组策略

eventvwr.exe-----事件查看器

explorer-------打开资源管理器

logoff---------注销命令

lusrmgr.msc----本机用户和组

msinfo32---------系统信息

msconfig---------系统配置实用程序

net start (servicename)----启动该服务

net stop (servicename)-----停止该服务

notepad--------打开记事本

nusrmgr.cpl-------同control userpasswords,打开用户帐户控制面板

nslookup-------ip地址侦测器

oobe/msoobe /a----检查xp是否激活

perfmon.msc----计算机性能监测程序

progman--------程序管理器

regedit----------注册表编辑器

regedt32-------注册表编辑器

regsvr32 /u *.dll----停止dll文件运行

route print------查看路由表

rononce -p ----15秒关机

rsop.msc-------组策略结果集

rundll32.exe rundll32.exe %systemroot%system32shimgvw.dll,imageview_fullscreen----启动一个空白的windows 图片和传真查看器

secpol.msc--------本地安全策略

services.msc—本地服务设置

sfc /scannow-----启动系统文件检查器

sndrec32-------录音机

taskmgr-----任务管理器(适用于2000/xp/2003)

tsshutdn-------60秒倒计时关机命令

winchat--------xp自带局域网聊天

winmsd---------系统信息

winver-----显示about windows 窗口

wupdmgr-----------windows update

1.8 Windows常用快捷键

  1. 按此键  —》  执行此操作

    Ctrl + X  —》 剪切选定项

    Ctrl + C(或 Ctrl + Insert) —》 复制选定项

    Ctrl + V(或 Shift + Insert) —》 粘贴选定项

    Ctrl + Z —》 撤消操作

    Alt + Tab —》 在打开的应用之间切换

    Alt + F4 —》 关闭活动项,或者退出活动应用

    Windows 徽标键 + L —》 锁定电脑

    Windows 徽标键 + D —》 显示和隐藏桌面

  2. 2

    F2 —》 重命名选定项

    F3 —》 在文件资源管理器中搜索文件或文件夹

    F4 —》 在文件资源管理器中显示地址栏列表

    F5 —》 刷新活动窗口

    F6 —》 在窗口中或桌面上循环浏览屏幕元素

    F10 —》 激活活动应用中的菜单栏

    Alt + F8 —》 在登录屏幕上显示密码

    Alt + Esc —》 以项目打开的顺序循环切换项目

    Alt + 带下划线的字母 —》 执行该字母对应的命令

    Alt + Enter —》 显示选定项的属性

    Alt + 空格键 —》 为活动窗口打开快捷菜单

    Alt + 向左键 —》 后退

    Alt + 向右键 —》 前进

    Alt + Page Up —》 向上移动一个屏幕

    Alt + Page Down —》 向下移动一个屏幕

Ctrl + F4 —》 关闭活动文档(在全屏模式和允许你同时打开多个文档的应用中)

Ctrl + A —》 选择文档或窗口中的所有项目

Ctrl + D(或 Delete) —》 删除选定项并将其移动到“回收站”

Ctrl + R(或 F5) —》 刷新活动窗口

Ctrl + Y —》 重做操作

Ctrl + 向右键 —》 将光标移动到下一个字词的起始处

Ctrl + 向左键 —》 将光标移动到上一个字词的起始处

Ctrl + 向下键 —》 将光标移动到下一个段落的起始处

Ctrl + 向上键 —》 将光标移动到上一个段落的起始处

Ctrl + Alt + Tab —》 使用箭头键在所有打开的应用之间切换

Ctrl + Alt + Shift + 箭头键 —》 当分组或磁贴在“开始”菜单中获得焦点时,请将其按指定方向移动

Ctrl + 箭头键(用来移动到某个项目)+ 空格键 —》 在窗口中或桌面上选择多个单独的项目

Ctrl + Shift 加某个箭头键 —》 选择文本块

Ctrl + Esc —》 打开“开始”屏幕

Ctrl + Shift + Esc —》 打开任务管理器

Ctrl + Shift —》 在提供了多个键盘布局时切换键盘布局

Ctrl + 空格键 —》 打开或关闭中文输入法编辑器 (IME)

Shift + F10 —》 显示选定项的快捷菜单

Shift 加任意箭头键 —》 在窗口中或桌面上选择多个项目,或者在文档中选择文本

Shift + Delete —》 无需先将选定项移动到“回收站”,直接将其删除

向右键 —》 打开右侧的下一个菜单,或者打开子菜单

向左键 —》 打开左侧的下一个菜单,或者关闭子菜单

Esc —》 停止或退出当前任务

END

1.8.1 Windows 徽标键键盘快捷方式

按此键 —》 执行此操作

Windows 徽标键 —》 打开或关闭“开始”菜单

Windows 徽标键 + A —》 打开“操作中心”

Windows 徽标键 + B —》 将焦点设置到通知区域

Windows 徽标键 + Shift + C —》 在侦听模式下打开 Cortana,注意: Cortana 仅在某些国家/地区提供,并且某些 Cortana 功能可能无法随时随地使用。如果 Cortana 不可用或已关闭,你仍然可以使用搜索。

Windows 徽标键 + D —》 显示和隐藏桌面

Windows 徽标键 + Alt + D —》 显示和隐藏桌面上的日期和时间

Windows 徽标键 + E —》 打开“文件资源管理器”

Windows 徽标键 + F —》 打开“反馈中心”

Windows 徽标键 + G —》 打开游戏栏(当游戏处于打开状态时)

Windows 徽标键 + H —》 打开“共享”超级按钮

Windows 徽标键 + I —》 打开“设置”

Windows 徽标键 + J —》  将焦点设置到 Windows 提示(如果可用)。出现 Windows 提示时,将焦点移到该提示。 再次按这些键盘快捷方式,将焦点移到定位 Windows 提示的屏幕上的元素。

Windows 徽标键 + K —》 打开“连接”快速操作

Windows 徽标键 + L —》 锁定电脑或切换帐户

Windows 徽标键 + M —》 最小化所有窗口

Windows 徽标键 + O —》 锁定设备方向

Windows 徽标键 + P —》 选择演示显示模式

Windows 徽标键 + R —》 打开“运行”对话框

Windows 徽标键 + S —》 打开搜素

Windows 徽标键 + T —》 在任务栏上循环切换应用

Windows 徽标键 + U —》 打开“轻松使用设置中心”

Windows 徽标键 + V —》 循环切换通知

Windows 徽标键 + Shift + V —》 以相反的顺序循环切换通知

Windows 徽标键 + X —》 打开“快速链接”菜单

Windows 徽标键 + Z —》 显示在以全屏模式呈现的应用中可用的命令

Windows 徽标键 + 逗号 (,) —》 临时快速查看桌面

Windows 徽标键 + Pause —》 显示“系统属性”对话框

Windows 徽标键 + Ctrl + F —》 搜索电脑(如果你位于网络中)

Windows 徽标键 + Shift + M —》 将最小化的窗口还原到桌面

Windows 徽标键 + 数字 —》 打开桌面,并启动固定到任务栏的位于该数字所表示位置的应用。如果该应用已在运行,则切换到该应用。

Windows 徽标键 + Shift + 数字 —》 打开桌面,并启动固定到任务栏的位于该数字所表示位置的应用的新实例

Windows 徽标键 + Ctrl + 数字 —》 打开桌面,并切换到固定到任务栏的位于该数字所表示位置的应用的最后一个活动窗口

Windows 徽标键 + Alt + 数字 —》 打开桌面,并打开固定到任务栏的位于该数字所表示位置的应用的跳转列表

Windows 徽标键 + Ctrl + Shift + 数字 —》 打开桌面,并以管理员身份打开位于任务栏上给定位置的应用的新实例

Windows 徽标键 + Tab —》 打开“任务视图”

Windows 徽标键 + 向上键 —》 最大化窗口

Windows 徽标键 + 向下键 —》 从屏幕中删除当前应用或最小化桌面窗口

Windows 徽标键 + 向左键 —》 将应用或桌面窗口最大化到屏幕左侧

Windows 徽标键 + 向右键 —》 将应用或桌面窗口最大化到屏幕右侧

Windows 徽标键 + Home —》 最小化除活动桌面窗口以外的所有窗口(在第二道笔划时还原所有窗口)

Windows 徽标键 + Shift + 向上键 —》 将桌面窗口拉伸到屏幕的顶部和底部

Windows 徽标键 + Shift + 向下键 —》 在垂直方向上还原/最小化活动桌面窗口,同时保持宽度不变

Windows 徽标键 + Shift + 向左键或向右键 —》 将桌面中的应用或窗口从一个监视器移动到另一个监视器

Windows 徽标键 + 空格键 —》 切换输入语言和键盘布局

Windows 徽标键 + Ctrl + 空格键 —》 更改为以前选择的输入

Windows 徽标键 + Enter —》 打开“讲述人”

Windows 徽标键 + 正斜杠 (/) —》 启动 IME 重新转换

Windows 徽标键 + 加号 (+) 或减号 (-) —》 使用“放大镜”放大或缩小

Windows 徽标键 + Esc —》 退出“放大镜”

END

1.8.1命令提示符键盘快捷方式

按此键 —》 执行此操作

Ctrl + C(或 Ctrl + Insert) —》 复制选定文本

Ctrl + V(或 Shift + Insert) —》 粘贴选定文本

Ctrl + M —》 进入标记模式

Alt + 选择键 —》 在阻止模式中开始选择

箭头键 —》 按指定方向移动光标

Page Up —》 将光标向上移动一页

Page Down —》 将光标向下移动一页

Ctrl + Home(标记模式) —》 将光标移动到缓冲区的起始处

Ctrl + End(标记模式) —》 将光标移动到缓冲区的末尾

Ctrl + 向上键 —》 在输出历史记录中向上移动一行

Ctrl + 向下键 —》 在输出历史记录中向下移动一行

Ctrl + Home(历史记录导航) —》 如果命令行为空,则将视口移动到缓冲区顶部。否则,删除命令行中光标左侧的所有字符。

Ctrl + End(历史记录导航) —》 如果命令行为空,则将视口移动到命令行。否则,删除命令行中光标右侧的所有字符。

END

1.8.2 对话框键盘快捷方式

按此键 —》 执行此操作

F4 —》 显示活动列表中的项目

Ctrl + Tab —》 在选项卡上向前移动

Ctrl + Shift + Tab —》 在选项卡上向后移动

Ctrl + 数字(数字 1 到 9) —》 移动到第 n 个选项卡

Tab —》 在选项上向前移动

Shift + Tab —》 在选项上向后移动

Alt + 带下划线的字母 —》 执行与该字母一起使用的命令(或选择相应的选项)

空格键 —》 如果活动选项是复选框,则选中或清除该复选框

Backspace —》 如果在“另存为”或“打开”对话框中选中某个文件夹,则打开上一级文件夹

箭头键 —》 如果活动选项是一组选项按钮,则选择某个按钮

END

1.8. 3 文件资源管理器键盘快捷方式

按此键 —》 执行此操作

Alt + D —》 选择地址栏

Ctrl + E —》 选择搜索框

Ctrl + F —》 选择搜索框

Ctrl + N —》 打开新窗口

Ctrl + W —》 关闭活动窗口

Ctrl + 鼠标滚轮 —》 更改文件和文件夹图标的大小及外观

Ctrl + Shift + E —》 显示选定文件夹上的所有文件夹

Ctrl + Shift + N —》 创建一个新文件夹

Num Lock + 星号 (*) —》 显示选定文件夹下的所有子文件夹

Num Lock + 加号 (+) —》 显示选定文件夹的内容

Num Lock + 减号 (-) —》 折叠选定文件夹

Alt + P —》 显示预览面板

Alt + Enter —》 打开选定项的“属性”对话框

Alt + 向右键 —》 查看下一个文件夹

Alt + 向上键 —》 查看上一级文件夹

Alt + 向左键 —》 查看上一个文件夹

Backspace —》 查看上一个文件夹

向右键 —》 显示当前选项(如果它处于折叠状态),或者选择第一个子文件夹

向左键 —》 折叠当前选项(如果它处于展开状态),或者选择其父文件夹

End —》 显示活动窗口的底端

Home —》 显示活动窗口的顶端

F11 —》 最大化或最小化活动窗口

2.网络基础

2.1 TCP/IP协议栈

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gfD93THl-1629455993686)(C:\Users\31315\Pictures\tcp、ip.png)]

2.2 三次握手 四次挥手

2.3、TCP**(Transmission Control Protocol,传输控制协议)

TCP头格式
TCP协议中的三次握手和四次挥手
TCP报文抓取工具

2.4、HTTP**(HyperText Transfer Protocol,超文本传输协议)

请求报文结构
请求报文样例
请求报文参数详解
响应报文结构
响应报文样例
响应报文参数详解
HTTP报文抓取工具
Session和Cookie

2.5、相关资料**

---------------------------------------------------------------------------------------------

2.6、网络协议

​ 国际标准化组织(International Standard Organization,ISO)公布了开放系统互连参考模型(OSI/RM)。OSI/RM是一种分层的体系结构,参考模型共有7层。
TCP/IP(Transmission Control Protocol/Internet Protocol)作为Internet的核心协议。它是个协议族,包含多种协议。
分层的基本想法是每一层都在它的下层提供的服务基础上提供更高级的增值服务,而最高层提供能运行分布式应用程序的服务。
渗透测试笔记 -------------持续更新中~_第10张图片
发送请求的过程是从最顶层(应用层)出发,每一层负责封装属于自己的信息到请求中,最后将一整个请求发送给对方。
接收请求的过程是从最底层(网络接口层)开始,每一层的协议负责解析属于自己的东西,比如网际层(IP)处理ip信息,传输层(TCP)处理点对点的端口,应用层(HTTP)处理Request或Response的Line\Header\Body。

渗透测试笔记 -------------持续更新中~_第11张图片

2.7、TCP(Transmission Control Protocol,传输控制协议)

TCP是一种面向连接(连接导向)的、可靠的基于字节流的传输层通信协议。TCP将用户数据打包成报文段,它发送后启动一个定时器,另一端收到的数据进行确认、对失序的数据重新排序、丢弃重复数据。
TCP的特点有:

TCP是面向连接的运输层协议
  每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的
  TCP提供可靠交付的服务
  TCP提供全双工通信。数据在两个方向上独立的进行传输。因此,连接的每一端必须保持每个方向上的传输数据序号。
  面向字节流。面向字节流的含义:虽然应用程序和TCP交互是一次一个数据块,但TCP把应用程序交下来的数据仅仅是一连串的无结构的字节流。

1、TCP头格式

渗透测试笔记 -------------持续更新中~_第12张图片

(1) Source Port(源端口号):数据发起者的端口号,16bit。
(2) Destination Port(目的端口号):数据接收者的端口号,16bit。
(3) Sequence Number(顺序号码,Seq):用于在数据通信中解决网络包乱序(reordering)问题,以保证应用层接收到的数据不会因为网络上的传输问题而乱序(TCP会用这个顺序号码来拼接数据),32bit。
(4) Acknowledgment Number(确认号码,ack):是数据接收方期望收到发送方在下一个报文段的顺序号码(Seq),因此确认号码应当是上次已成功收到顺序号码(Seq)加1,32bit。
(5) Offset(TCP报文头长度):用于存储报文头中有多少个32bit(上图的一行),存储长度为4bit,最大可表示(23+22+2^1+1)32bit=60bytes的报文头。最小取值5,532bit=20bytes。
(6) Reserved(保留):6bit, 均为0
(7) TCP Flags(TCP标志位)每个长度均为1bit
CWR:压缩,TCP Flags值0x80。
ECE:拥塞,0x40。
URG:紧急,0x20。当URG=1时,表示报文段中有紧急数据,应尽快传送。
ACK:确认,0x10。当ACK = 1时,代表这是一个确认的TCP包,取值0则不是确认包。
PSH:推送,0x08。当发送端PSH=1时,接收端尽快的交付给应用进程。
RST:复位,0x04。当RST=1时,表明TCP连接中出现严重差错,必须释放连接,再重新建立连接。
SYN:同步,0x02。在建立连接是用来同步序号。SYN=1, ACK=0表示一个连接请求报文段。SYN=1,ACK=1表示同意建立连接。
FIN:终止,0x01。当FIN=1时,表明此报文段的发送端的数据已经发送完毕,并要求释放传输连接。
(8) 窗口:用来控制对方发送的数据量,通知发放已确定的发送窗口上限。
(9) 检验和:该字段检验的范围包括头部和数据这两部分。由发端计算和存储,并由收端进行验证。
(10) 紧急指针:紧急指针在URG=1时才有效,它指出本报文段中的紧急数据的字节数。
(11) TCP选项:长度可变,最长可达40字节

备注:ISN(Inital Sequence Number):初始化Sequence Number,发生在建立连接时。

2、TCP协议中的三次握手和四次挥手

渗透测试笔记 -------------持续更新中~_第13张图片

三次握手可以理解成:

我打电话给你你没看到,一会之后你又打电话给我问有什么事,我再给你说我有什么什么事

四次挥手可以理解成:

我给你说我不想再要你送的东西了,你说不行啊还有很多没有送完(继续在送),(送完啦)你说已经把所有东西都送给我啦,我说我收到了那就结束吧-----------

特别注意

Seq:是发送方当前报文的顺序号码
ack:是发送方期望对方在下次返回报文中给回的Seq

3、建立连接需要三次握手

第一次握手:客户端向服务端发送连接请求包,标志位SYN(同步序号)置为1,顺序号码为X=0。

第二次握手:服务端收到客户端发过来报文,由SYN=1知道客户端要求建立联机,则为这次连接分配资源。并向客户端发送一个SYN和ACK都置为1的TCP报文,设置初始顺序号码Y=0,将确认序号(ack)设置为上一次客户端发送过来的顺序号(Seq)加1,即X+1 = 0+1=1。

第三次握手:客户端收到服务端发来的包后检查确认号码(ack)是否正确,即第一次发送的Seq加1(X+1=1)。以及标志位ACK是否为1。若正确,服务端再次发送确认包,ACK标志位为1,SYN标志位为0。确认号码(ack)=Y+1=0+1=1,发送顺序号码(Seq)为X+1=1。Server收到后确认号码值与ACK=1则连接建立成功,可以传送数据了。

4、断开连接需要四次挥手

提醒:中断连接端可以是Client端,也可以是Server端。只要将下面两角色互换即可。
第一次挥手:客户端给服务端发送FIN报文,用来关闭客户端到服务端的数据传送。将标志位FIN和ACK置为1,顺序号码为X=1,确认号码为Z=1。意思是说”我Client端没有数据要发给你了,但是如果你还有数据没有发送完成,则不必急着关闭Socket,可以继续发送数据。所以你先发送ACK过来。”

第二次挥手:服务端收到FIN后,发回一个ACK(标志位ACK=1),确认号码为收到的顺序号码加1,即X=X+1=2。顺序号码为收到的确认号码=Z。意思是说“你的FIN请求我收到了,但是我还没准备好,请继续你等我的消息" 这个时候客户端就进入FIN_WAIT状态,继续等待服务端的FIN报文。

第三次挥手:当服务端确定数据已发送完成,则向客户端发送FIN报文,关闭与客户端的连接。标志位FIN和ACK置为1,顺序号码为Y=1,确认号码为X=2。意思是告诉Client端“好了,我这边数据发完了,准备好关闭连接了。”

第四次挥手:客户端收到服务器发送的FIN之后,发回ACK确认(标志位ACK=1),确认号码为收到的顺序号码加1,即Y+1=2。顺序号码为收到的确认号码X=2。意思是“我Client端知道可以关闭连接了,但是我还是不相信网络,怕 Server端不知道要关闭,所以发送ACK后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。Client端等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。“(在TIME_WAIT状态中,如果TCP client端最后一次发送的ACK丢失了,它将重新发送。TIME_WAIT状态中所需要的时间是依赖于实现方法的。典型的值为30秒、1分钟和2分钟。等待之后连接正式关闭,并且所有的资源(包括端口号)都被释放。)

为什么关闭的时候却是四次挥(握)手?
因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,“你发的FIN报文我收到了”。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

2.8、TCP报文抓取工具:Wireshark

捕获过滤器中填入表达式:host www.cnblogs.com and port 80(80等效于http)
有多个TCP流时在显示过滤器中填入表达式:tcp.stream eq 0 筛选出第一个TCP流(包含完整的一次TCP连接:三次握手和四次挥手)

渗透测试笔记 -------------持续更新中~_第14张图片

渗透测试笔记 -------------持续更新中~_第15张图片

每条记录都有如下协议层
(1) Frame: 物理层的数据帧概况
(2)Ethernet II: 数据链路层以太网帧头部信息
(3) Internet Protocol Version 4: 互联网层IP包头部信息
(4)Transmission Control Protocol: 传输层的数据段头部信息,此处是TCP
(5) Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议

渗透测试笔记 -------------持续更新中~_第16张图片

2.9、HTTP(HyperText Transfer Protocol,超文本传输协议)

HTTP是一个应用层协议,虽然在2015年已推出HTTP/2版本,并被主要的web浏览器和web服务器支持。但目前使用最广泛的还是HTTP/1.1版本。有关历史请查阅这里。
它的主要特点可概括如下:

支持客户/服务器模式。
  简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
  灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
  无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。为了解决这个问题, Web程序引入了Cookie机制来维护状态。

另外,HTTP请求报文和响应报文都是由开始行(对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行),消息报头(可选),空行(只有CRLF的行),消息正文(可选)组成。将在下面详细讲解。

1、请求报文结构

报文中的数据都使用ASCII编码,各个字段的长度是不确定的(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。

渗透测试笔记 -------------持续更新中~_第17张图片

2、请求报文样例

[复制代码](javascript:void(0)

复制代码

POST /search HTTP/1.1  
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, 
application/msword, application/x-silverlight, application/x-shockwave-flash, */*  
Referer: http://www.google.cn/  
Accept-Language: zh-cn  
Accept-Encoding: gzip, deflate  
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; TheWorld)  
Host: www.google.cn 
Connection: Keep-Alive  
Cookie: PREF=ID=80a06da87be9ae3c:U=f7167333e2c3b714:NW=1:TM=1261551909:LM=1261551917:S=ybYcq2wpfefs4V9g; 
NID=31=ojj8d-IygaEtSxLgaJmqSjVhCspkviJrB6omjamNrSm8lZhKy_yMfO2M4QMRKcH1g0iQv9u-2hfBW7bUFwVh7pGaRUb0RnHcJU37y-
FxlRugatx63JLv7CWMD6UB_O_r  

hl=zh-CN&source=hp&q=domety  

复制代码

[复制代码](javascript:void(0)

3、请求报文参数详解

请求方法

所有请求方法名称全为大写,目前有9种:
渗透测试笔记 -------------持续更新中~_第18张图片
备注
安全性:https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
幂等性:表示的操作至多只会被处理一次,每次调用都将返回第一次调用时的处理结果。
关于HTTP请求GET和POST的区别
(1).提交形式:
GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body中.
(2).传输数据的大小:
HTTP协议本身没有对传输的数据大小进行限制,HTTP协议规范也没有对URL长度进行限制。 而在实际开发中存在的限制主要有:
GET:特定浏览器和服务器对URL长度有限制,例如IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。
因此对于GET提交时,传输数据就会受到URL长度的限制。
POST:由于不是通过URL传值,理论上数据不受限。但实际各个WEB服务器会规定对post提交数据大小进行限制,Apache、IIS6都有各自的配置。
(3).安全性:
POST的安全性要比GET的安全性高,具有真正的Security的含义。而且通过GET提交数据,用户名和密码将明文出现在URL上,因为登录页面有可能被浏览器缓存,其他用户浏览历史纪录就可以拿到账号和密码了。

请求报头域

报头域指头部中的Key,且不分大小写。

渗透测试笔记 -------------持续更新中~_第19张图片

4、响应报文结构

如所见,响应报文结构与请求报文结构唯一真正的区别在于第一行中用状态信息代替了请求信息。状态行(status line)通过提供一个状态码来说明所请求的资源情况。

渗透测试笔记 -------------持续更新中~_第20张图片

5、响应报文样例

[复制代码](javascript:void(0)

复制代码

HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Content-Type: text/html; charset=UTF-8
Content-Encoding: UTF-8
Content-Length: 138
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)
ETag: "3f80f-1b6-3e1cb03b"
Accept-Ranges: bytes
Connection: close



  An Example Page


  Hello World, this is a very simple HTML document.


复制代码

[复制代码](javascript:void(0)

6、响应报文参数详解

响应状态码

状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。
1xx:指示信息–表示请求已接收,继续处理。
2xx:成功–表示请求已被成功接收、理解、接受。
3xx:重定向–要完成请求必须进行更进一步的操作。
4xx:客户端错误–请求有语法错误或请求无法实现。
5xx:服务器端错误–服务器未能实现合法的请求。
常用状态码:

200 OK:成功返回状态,对应,GET,PUT,PATCH,DELETE。
201 created - 成功创建。
302 Found:重定向,新的URL会在response中的Location中返回,浏览器将会使用新的URL发出新的Request。

​ 例如在IE中输入http://www.google.com. HTTP服务器会返回304, IE取到Response中Location header的新URL, 又重新发送了一 个 Request.
304 Not Modified:代表上次的文档已经被缓存了, 还可以继续使用。
400 bad request - 请求格式错误。
401 unauthorized - 未授权。
403 forbidden - 鉴权成功,但是该用户没有权限。
404 not found - 请求的资源不存在。
405 method not allowed - 该http方法不被允许。
410 gone - 这个url对应的资源现在不可用。
415 unsupported media type - 请求类型错误。
422 unprocessable entity - 校验错误时用。
429 too many request - 请求过多。
500 Internal Server Error:服务器发生了不可预期的错误。
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

其它状态码请查阅:https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

响应报头域

报头域指头部中的Key,且不分大小写。

渗透测试笔记 -------------持续更新中~_第21张图片

7、HTTP报文抓取工具

Wireshark、Fiddler、HttpWatch(需结合IE)、Telnet
Wireshark:
在显示过滤器中填入表达式:http and ip.addr == 42.121.252.58 and tcp.port == 80 过滤出http的响应和请求流程

渗透测试笔记 -------------持续更新中~_第22张图片

8、Session和Cookie

说到HTTP,就不得不提Session和Cookie。但严格来说,Session和Cookie并不是http协议的一部分。由于HTTP协议设计原则是无状态的,但是近年来出现了种种需求,其中cookie的作用就是为了解决HTTP协议无状态的缺陷所作出的努力。后来出现的session机制则是又一种在客户端与服务器之间保持状态的解决方案。 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上它还有其他选择。

Session

Session是可以存储针对于某一个用户的浏览器以及通过其当前窗口打开的任何窗口具有针对性的用户信息存储机制。
通常大家认为,只要关闭浏览器,session就消失,其实这是错误的理解。对session来说也是一样的,除非程序通知服务器删除一个session,否则服务器会一直保留。由于关闭浏览器不会导致session被删除,迫使服务器为seesion设置了一个失效时间,当距离客户端上一次使用session的时间超过这个失效时间时,服务器就可以认为客户端已经停止了活动,才会把session删除以节省存储空间.

(1)第一次访问某个web站点资源时,客户端提交没有带SessionID的请求(请求报文头没有Cookie头域信息)。
而web服务器会检查是否有SessionID过来,没有则创建SessionID,并根据web程序自身定义在请求哪个资源时添加属于当前会话的信息(也可为空),这个信息列表以SessionID作为标识。然后将SessionID返回给客户端(通过响应报文头的Set-Cookie头域)。
(2 )客户端再次访问同个web站点时,提交带有SessionID的请求(通过Cookie头域存储SessionID)。由服务端判断session是否失效,如果未失效,可查询属于当前会话的信息列表。如果失效,则创建新的session(产生新的SessionID),而原先的session(包含session带的信息列表)则丢失,无法访问。

渗透测试笔记 -------------持续更新中~_第23张图片

渗透测试笔记 -------------持续更新中~_第24张图片

Cookie

保存SessionID的方式可以采用Cookie,这样在交互过程中浏览器可以自动的按照规则把这个SessionID发回给服务器。Cookie的命名方式类似于SessionID。有时Cookie被人为的禁止,所以出现了其他机制以便在Cookie被禁止时仍然能够把SessionID传递回服务器。这种技术叫做URL重写,就是把SessionID直接附加在URL路径的后面,附加方式也有两种,一种是作为URL路径的附加信息,表现形式为http://www.wantsoft.com/index.asp;jsessionid= ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764 。
另一种是作为查询字符串附加在URL后面,表现形式为http://www.wantsoft.com/index?js … 99zWpBng!-145788764 。


linux基础

1.kali开启ssh 22号端口链接

命令: vim’ /etc/ssh/sshd_config

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TXSaTpmG-1629455993704)(C:\Users\31315\Pictures\kali.png)]

然后退出保存 ,ESC 大写ZZ退出保存

重启服务

/etc/init.d/ssh restart

service ssh start #开启ssh服务

不成功可以reboot重启,再试一下

然后然后用xshell测试链接

1.1 kali常用命令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iQskBixn-1629455993705)(C:\Users\31315\Pictures\Linux基础.png)]

arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
date 显示系统日期
cal 2007 显示2007年的日历表
date 041217002007.00 设置日期和时间 - 月日时分年.秒
clock -w 将时间修改保存到 BIOS
关机 (系统的关机、重启以及登出 )
shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销

文件和目录

cd /home 进入 ‘/ home’ 目录’
cd … 返回上一级目录
cd …/… 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls [0-9] 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构(1)
lstree 显示文件和目录由根目录开始的树形结构(2)
mkdir dir1 创建一个叫做 ‘dir1’ 的目录’
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 ‘file1’ 的文件’
rmdir dir1 删除一个叫做 ‘dir1’ 的目录’
rm -rf dir1 删除一个叫做 ‘dir1’ 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 列出已知的编码
iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
find . -maxdepth 1 -name *.jpg -print -exec convert “{}” -resize 80x60 “thumbs/{}” ; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)

文件搜索

find / -name file1 从 ‘/’ 开始进入根文件系统搜索文件和目录
find / -user user1 搜索属于用户 ‘user1’ 的文件和目录
find /home/user1 -name *.bin 在目录 ‘/ home/user1’ 中搜索带有’.bin’ 结尾的文件
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
find / -name *.rpm -exec chmod 755 ‘{}’ ; 搜索以 ‘.rpm’ 结尾的文件并定义其权限
find / -xdev -name *.rpm 搜索以 ‘.rpm’ 结尾的文件,忽略光驱、捷盘等可移动设备
locate *.ps 寻找以 ‘.ps’ 结尾的文件 - 先运行 ‘updatedb’ 命令
whereis halt 显示一个二进制文件、源码或man的位置
which halt 显示一个二进制文件或可执行文件的完整路径

挂载一个文件系统

mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 ‘/ mnt/hda2’ 已经存在
umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 ‘/ mnt/hda2’ 退出
fuser -km /mnt/hda2 当设备繁忙时强制卸载
umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
mount /dev/fd0 /mnt/floppy 挂载一个软盘
mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom
mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件
mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统
mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享

磁盘空间

df -h 显示已经挂载的分区列表
ls -lSr |more 以尺寸大小排列文件和目录
du -sh dir1 估算目录 ‘dir1’ 已经使用的磁盘空间’
du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小
rpm -q -a --qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
dpkg-query -W -f='Installed−Size;10t

{Package}n’ | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)

用户和群组

groupadd group_name 创建一个新用户组
groupdel group_name 删除一个用户组
groupmod -n new_group_name old_group_name 重命名一个用户组
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 “admin” 用户组的用户
useradd user1 创建一个新用户
userdel -r user1 删除一个用户 ( ‘-r’ 排除主目录)
usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性
passwd 修改口令
passwd user1 修改一个用户的口令 (只允许root执行)
chage -E 2005-12-31 user1 设置用户口令的失效期限
pwck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及存在的用户
grpck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及存在的群组
newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组

文件的权限

-——使用 “+” 设置权限,使用 “-” 用于取消 ls -lh 显示权限
ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示
chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限
chown user1 file1 改变一个文件的所有人属性
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chgrp group1 file1 改变文件的群组
chown user1:group1 file1 改变一个文件的所有人和群组属性
find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件
chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
chmod u-s /bin/file1 禁用一个二进制文件的 SUID位
chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
chmod g-s /home/public 禁用一个目录的 SGID 位
chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
chmod o-t /home/public 禁用一个目录的 STIKY 位

文件的特殊属性

—— 使用 “+” 设置权限,使用 “-” 用于取消
chattr +a file1 只允许以追加方式读写文件
chattr +c file1 允许这个文件能被内核自动压缩/解压
chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件
chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接
chattr +s file1 允许一个文件被安全地删除
chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件
lsattr 显示特殊的属性

打包和压缩文件

bunzip2 file1.bz2 解压一个叫做 'file1.bz2’的文件
bzip2 file1 压缩一个叫做 ‘file1’ 的文件
gunzip file1.gz 解压一个叫做 'file1.gz’的文件
gzip file1 压缩一个叫做 'file1’的文件
gzip -9 file1 最大程度压缩
rar a file1.rar test_file 创建一个叫做 ‘file1.rar’ 的包
rar a file1.rar file1 file2 dir1 同时压缩 ‘file1’, ‘file2’ 以及目录 ‘dir1’
rar x file1.rar 解压rar包
unrar x file1.rar 解压rar包
tar -cvf archive.tar file1 创建一个非压缩的 tarball
tar -cvf archive.tar file1 file2 dir1 创建一个包含了 ‘file1’, ‘file2’ 以及 'dir1’的档案文件
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个包
tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包

RPM 包 - (Fedora, Redhat及类似系统)
rpm -ivh package.rpm 安装一个rpm包
rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
rpm -U package.rpm 更新一个rpm包但不改变其配置文件
rpm -F package.rpm 更新一个确定已经安装的rpm包
rpm -e package_name.rpm 删除一个rpm包
rpm -qa 显示系统中所有已经安装的rpm包
rpm -qa | grep httpd 显示所有名称中包含 “httpd” 字样的rpm包
rpm -qi package_name 获取一个已安装包的特殊信息
rpm -qg “System Environment/Daemons” 显示一个组件的rpm包
rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表
rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表
rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表
rpm -q package_name --whatprovides 显示一个rpm包所占的体积
rpm -q package_name --**s 显示在安装/删除期间所执行的脚本l
rpm -q package_name --changelog 显示一个rpm包的修改历史
rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供
rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表
rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书
rpm --checksig package.rpm 确认一个rpm包的完整性
rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性
rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间
rpm -Va 检查系统中所有已安装的rpm包- 小心使用
rpm -Vp package.rpm 确认一个rpm包还未安装
rpm2cpio package.rpm | cpio --extract --make-directories bin 从一个rpm包运行可执行文件
rpm -ivh /usr/src/redhat/RPMS/arch/package.rpm 从一个rpm源码安装一个构建好的包
rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包

YUM 软件包升级器 - (Fedora, RedHat及类似系统)
yum install package_name 下载并安装一个rpm包
yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
yum update package_name.rpm 更新当前系统中所有安装的rpm包
yum update package_name 更新一个rpm包
yum remove package_name 删除一个rpm包
yum list 列出当前系统中安装的所有包
yum search package_name 在rpm仓库中搜寻软件包
yum clean packages 清理rpm缓存删除下载的包
yum clean headers 删除所有头文件
yum clean all 删除所有缓存的包和头文件

DEB 包 (Debian, Ubuntu 以及类似系统)
dpkg -i package.deb 安装/更新一个 deb 包
dpkg -r package_name 从系统删除一个 deb 包
dpkg -l 显示系统中所有已经安装的 deb 包
dpkg -l | grep httpd 显示所有名称中包含 “httpd” 字样的deb包
dpkg -s package_name 获得已经安装在系统中一个特殊包的信息
dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表
dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表
dpkg -S /bin/ping 确认所给的文件由哪个deb包提供

APT 软件工具 (Debian, Ubuntu 以及类似系统)
apt-get install package_name 安装/更新一个 deb 包
apt-cdrom install package_name 从光盘安装/更新一个 deb 包
apt-get update 升级列表中的软件包
apt-get upgrade 升级所有已安装的软件
apt-get remove package_name 从系统删除一个deb包
apt-get check 确认依赖的软件仓库正确
apt-get clean 从下载的软件包中清理缓存
apt-cache search searched-package 返回包含所要搜索字符串的软件包名称
返回顶部索引 ^
查看文件内容
cat file1 从第一个字节开始正向查看文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
more file1 查看一个长文件的内容
less file1 类似于 ‘more’ 命令,但是它允许在文件中和正向操作一样的反向操作
head -2 file1 查看一个文件的前两行
tail -2 file1 查看一个文件的最后两行
tail -f /var/log/messages 实时查看被添加到一个文件中的内容

文本处理

cat file1 file2 … | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT
cat file1 | command( sed, grep, awk, grep, etc…) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中
cat file1 | command( sed, grep, awk, grep, etc…) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中
grep Aug /var/log/messages 在文件 '/var/log/messages’中查找关键词"Aug"
grep ^Aug /var/log/messages 在文件 '/var/log/messages’中查找以"Aug"开始的词汇
grep [0-9] /var/log/messages 选择 ‘/var/log/messages’ 文件中所有包含数字的行
grep Aug -R /var/log/* 在目录 ‘/var/log’ 及随后的目录中搜索字符串"Aug"
sed ‘s/stringa1/stringa2/g’ example.txt 将example.txt文件中的 “string1” 替换成 “string2”
sed ‘/^/d’ example.txt 从example.txt文件中删除所有空白行 sed ‘/ *#/d; /^
/d’ example.txt 从example.txt文件中删除所有注释和空白行
echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ 合并上下单元格内容
sed -e ‘1d’ result.txt 从文件example.txt 中排除第一行
sed -n ‘/stringa1/p’ 查看只包含词汇 "string1"的行
sed -e ‘s/ *//′example.txt删除每一行最后的空白字符sed−e′s/stringa1//g′example.txt从文档中只删除词汇"string1"并保留剩余全部sed−n′1,5p;5q′example.txt查看从第一行到第5行内容sed−n′5p;5q′example.txt查看第5行sed−e′s/00∗/0/g′example.txt用单个零替换多个零cat−nfile1标示文件的行数catexample.txt|awk′NR1}’ 查看一行第一栏
echo a b c | awk '{print 1,

3}’ 查看一行的第一和第三栏
paste file1 file2 合并两个文件或两栏的内容
paste -d ‘+’ file1 file2 合并两个文件或两栏的内容,中间用"+"区分
sort file1 file2 排序两个文件的内容
sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)
sort file1 file2 | uniq -u 删除交集,留下其他的行
sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)
comm -1 file1 file2 比较两个文件的内容只删除 ‘file1’ 所包含的内容
comm -2 file1 file2 比较两个文件的内容只删除 ‘file2’ 所包含的内容
comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分

字符设置和文件格式转换

dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX
unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS
recode …HTML < page.txt > page.html 将一个文本文件转换成html
recode -l | more 显示所有允许的转换格式

文件系统分析

badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块
fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性
fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性
fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性
dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性

初始化一个文件系统

mkfs /dev/hda1 在hda1分区创建一个文件系统
mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统
mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统
mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统
fdformat -n /dev/fd0 格式化一个软盘
mkswap /dev/hda3 创建一个swap文件系统

SWAP文件系统
mkswap /dev/hda3 创建一个swap文件系统
swapon /dev/hda3 启用一个新的swap文件系统
swapon /dev/hda2 /dev/hdb3 启用两个swap分区

备份

dump -0aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的完整备份
dump -1aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的交互式备份
restore -if /tmp/home0.bak 还原一个交互式备份
rsync -rogpav --delete /home /tmp 同步两边的目录
rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync
rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录
rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ 通过ssh在远程主机上执行一次备份本地磁盘的操作
dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件
tar -Puf backup.tar /home/user 执行一次对 ‘/home/user’ 目录的交互式备份操作
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ 通过ssh在远程目录中复制一个目录内容
( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ 通过ssh在远程目录中复制一个本地目录
tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接
find /home/user1 -name ‘.txt’ | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 ‘.txt’ 结尾的文件到另一个目录
find /var/log -name '.log’ | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 ‘.log’ 结尾的文件并做成一个bzip包
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容

光盘

cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容
mkisofs /dev/cdrom > cd.iso 在磁盘上创建一个光盘的iso镜像文件
mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件
mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件
cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件
mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件
cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中
cd-paranoia – “-3” 从一个CD光盘转录音轨到 wav 文件中(参数-3)
cdrecord --scanbus 扫描总线以识别scsi通道
dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD

应用命令

whois 域名/ip 查看域名的详细信息。
ping 域名/ip 测试本机到远端主机是否联通。
dig 域名/ip 查看域名解析的详细信息。
host -l 域名 dns服务器 传输zone。

扫描nmap

-sS 半开扫描TCP和SYN扫描。
-sT 完全TCP连接扫描。
-sU UDP扫描
-PS syn包探测(防火墙探测)
-PA ack包探测(防火墙探测)
-PN 不ping。
-n 不dns解析。
-A -O和-sV。
-O 操作系统识别。
-sV 服务版本信息(banner)
-p 端口扫描。
-T 设置时间级别(0-5)
-iL 导入扫描结果。
-oG 输出扫描结果。

操作系统识别:
p0f -i eth0 -U -p 开启混杂模式。
xprobe2 ip|域名 检测os。

banner获取:
nc ip port 检测端口是否打开。
telnet ip port 检测端口是否打开。
wget ip 下载主页。
cat index.html | more 显示主页代码。
q 退出。

windows枚举
nmap -sS -p 139,445 ip 扫描windows。
cd /pentest/enumeration/smb-enum
nbtscan -f targetIP 检测netbios。
smbgetserverinfo -i targetIP 扫描name,os,组。
smbdumpusers -i targetIP 列出用户。
smbclient -L //targetIP 列出共享。

使用windows:
net use \ipipc$ “” /u:"" 开启空会话。
net view \ip 显示共享信息。
smbclient:
smbclient -L hostName -I targetIP 枚举共享。
smbclient -L hostName/share -U “” 用空用户连接。
smbclient -L hostName -I targetIP -U admin普通用户连接。

rpcclient:
rpcclient targetIP -U “”打开一个空会话。
netshareenum 枚举共享。
enumdomusers 枚举用户。
lsaenumsid 枚举域SID。
queryuser RID 查询用户信息。
createdomuser 创建用户访问。

ARP欺骗:
ettercap:
nano /usr/local/etc/etter.conf配置文件
Sniff > Unified sniffing > Network interface: eth0 > OK 设置抓包的网卡
Hosts > Scan for hosts (do this two times)扫描网段的主机
Hosts > Hosts list 显示主机列表
Select the default gateway > Add to Target 1 添加主机
Select the target > Add to Target 2 添加主机
Mitm > Arp poisoning > Sniff remote connections > OK 设置ARP攻击
Start > Start sniffing 开始攻击
dsniff -i eth0 监听网卡窃听登录用户密码
urlsnarf -i eth0 嗅探http请求
msgsnarf -i eth0 嗅探聊天软件的聊天内容
driftnet -i eth0 网络管理嗅探图片,音频。

dns欺骗:
nano /usr/local/share/ettercap/etter.dns编辑配置文件
Plugins > Manage the plugins > dns_spoof 设置dns欺骗
Mitm > Arp poisoning > Sniff remote connections > OK 设置ARP
Start > Start sniffing 开始攻击

Exploits漏洞利用:
cd /pentest/exploits/exploit-db 进入目录
cat sploitlist.txt | grep -i [exploit] 查询需要的漏洞
cat exploit | grep "#include"检查运行环境
cat sploitlist.txt | grep -i exploit | cut -d " " -f1 | xargs grep sys | cut -d “:” -f1 | sort -u只保留可以在linux下运行的代码

Metasploit:
svn update 升级
./msfweb Web接口127.0.0.1:55555。.
./msfconsole 字符下的Console。
help 帮助
show 显示选项 searc
————————————————
-p 139,445 ip 扫描windows。
cd /pentest/enumeration/smb-enum
nbtscan -f targetIP 检测netbios。
smbgetserverinfo -i targetIP 扫描name,os,组。
smbdumpusers -i targetIP 列出用户。
smbclient -L //targetIP 列出共享。

使用windows:
net use \ipipc$ “” /u:"" 开启空会话。
net view \ip 显示共享信息。
smbclient:
smbclient -L hostName -I targetIP 枚举共享。
smbclient -L hostName/share -U “” 用空用户连接。
smbclient -L hostName -I targetIP -U admin普通用户连接。

rpcclient:
rpcclient targetIP -U “”打开一个空会话。
netshareenum 枚举共享。
enumdomusers 枚举用户。
lsaenumsid 枚举域SID。
queryuser RID 查询用户信息。
createdomuser 创建用户访问。

ARP欺骗:
ettercap:
nano /usr/local/etc/etter.conf配置文件
Sniff > Unified sniffing > Network interface: eth0 > OK 设置抓包的网卡
Hosts > Scan for hosts (do this two times)扫描网段的主机
Hosts > Hosts list 显示主机列表
Select the default gateway > Add to Target 1 添加主机
Select the target > Add to Target 2 添加主机
Mitm > Arp poisoning > Sniff remote connections > OK 设置ARP攻击
Start > Start sniffing 开始攻击
dsniff -i eth0 监听网卡窃听登录用户密码
urlsnarf -i eth0 嗅探http请求
msgsnarf -i eth0 嗅探聊天软件的聊天内容
driftnet -i eth0 网络管理嗅探图片,音频。

dns欺骗:
nano /usr/local/share/ettercap/etter.dns编辑配置文件
Plugins > Manage the plugins > dns_spoof 设置dns欺骗
Mitm > Arp poisoning > Sniff remote connections > OK 设置ARP
Start > Start sniffing 开始攻击

Exploits漏洞利用:
cd /pentest/exploits/exploit-db 进入目录
cat sploitlist.txt | grep -i [exploit] 查询需要的漏洞
cat exploit | grep "#include"检查运行环境
cat sploitlist.txt | grep -i exploit | cut -d " " -f1 | xargs grep sys | cut -d “:” -f1 | sort -u只保留可以在linux下运行的代码

Metasploit:
svn update 升级
./msfweb Web接口127.0.0.1:55555。.
./msfconsole 字符下的Console。
help 帮助
show 显示选项 searc
————————————————

你可能感兴趣的:(渗透测试,kali,linux,windows)