蓝队面试经验总结
Sql注入
1、sql注入漏洞原理
开发者没有在网页传参点做好过滤,导致恶意 sql 语句拼接到数据库进行执行
2、sql注入分类
联合注入 、布尔盲注 、时间盲注 、堆叠注入 、宽字节注入 、报错注入
3、堆叠注入原理
在 mysql 中,分号 代表一个查询语句的结束,所以我们可以用分号在一行里拼接多个查询语句
4、宽字节注入原理
a 数据库使用 gbk 编码
b 使用反斜杠进行转义
5、报错注入原理:
a 报错注入函数,例如:floor() 、group by 、exp() 、updatexml() 、extractvalue()
6、Dnslog注入原理
a 利用 load_file() 函数读取共享文件
b共享文件形式:\hex(user()).dnslog.cn/ 或者 \host\
c 利用 mysql 的 load_file() 函数解析拼接过的 dnslog 域名,进而带出数据
7、联合注入的步骤
a 找传参点
b 判断闭合符
c 判断列数
d 判断显示位
e 查询database()
f 查表
g 数据
8、盲注分类
a 布尔盲注(页面回显 长度 :burp 里的 Content-Length )
b 时间盲注(页面回显 时间 :burp 包的 右下角 )、Dnslog
9、盲注函数
if() 、sleep() 、substr() 、left() 、limit 、ascii() 、length()
10、判断闭合符方式:
构造真和假:id=1 and 1=1 、id=1’ and 1=2 、=1" or 1=1 、') or 1=2 、and 234=234 、and 1 、or 1 、and 1^1 、&&1 、||0
11、sql注入绕waf
a 代替空格:/**/ 、/!/ 、+ 、%09 、%0a 、%00 、括号
b 关键字:16进制 、char() 、字符串拼接
c 等价函数替换:sleep()==benchmark() 、if()==case when then else end 、ascii()==ord() 、substr()==substring()
d 内联注释:/*! */
12、sqlmap常用参数
a -r :用于post型注入,指定 txt 文件的 post 数据包
b -u :指定url,通常用于 get 型注入
c -p:指定注入点,例如: python sqlmap.py-u http://127.0.0.1/index.php?id=1&mid=2&page=3 -p “page”
d * :指定注入点,例如:python sqlmap.py-u http://127.0.0.1/index.php?id=1*&mid=2&page=3* 注意:* 号也可以用于伪静态的注入,用法同前面一样,直接在注入点后面加 *
e -m :用于sqlmap批量跑注入,指定一个含有多个 url 的 txt 文件
f --os-shell :用户获取 shell
g --os-cmd :执行系统命令
h --tamper :指定绕过用的脚本文件
i --level 3 :指定测试等级,等级越高,检查项越多,共 1-5 个等级
j --risk 3 :指定风险等级,等级越告,payload 越复杂,共 1-3 个等级
k --random-agent :指定随机 agent 头
l --batch :默认选项
m --dbms :指定数据库类型
13、sql注入获取 webshell 的方式
a 写文件(需要写权限)
b 写日志文件(不要学权限,但是需要通过命令开启日志记录功能,而且还需要把日志文件的路径指定到网站根路径下面)
14、sql注入防御
a 过滤敏感字符,例如:information_schema 、into out_file 、into dump_file 、’ 、" 、()
b 预编译
c 站库分离:增加攻击者的时间成本、防止通过数据库拿到webshell
15、mysql提权方式
a mof提权
b udf提权
XSS:跨站脚本攻击
1、XSS原理
开发人员没有做好过滤,导致我们可以闭合标签进而插入并执行恶意JS代码
2、xss类型分类
a DOM型 :由 DOM 文档完成解析
b 反射型 :即插即用,没有存储在数据库里面
c 存储型 :被存储在数据库里面,造成持久型的攻击
3、常用的JS函数
a document.cookie() :弹出当前网址的浏览器 cookie
b console.log(‘xss’) :在控制台输出日志
4、绕过方式
a 改变大小写:
b 编码绕过( html 实体编码、 十进制十六进制八进制编码、 unicode 编码)、
c 关闭标签:利用大于号 > 关闭标签使得xss生效
d 双写饶过:<scr
e 可以使用 空格 , 换行 ,tab 键或者 /**/ , /!a/,的形式绕过 关键词的检测
f 用/代替空格
g 用 反引号 代替 括号 、双引号
h 用 throw 代替括号
i 用 html 实体编码 : 代替 冒号
j 用 jsfuck 编码绕过大部分字符过滤
5、扫描工具
xsstrick
6、XSS钓鱼平台
kali工具:BEEF
免费平台:自行搜索
7、xss防御
过滤敏感字符
a 例如:aler() ,script ,onerror
b 增加 httponly :禁止前端执行JS代码
XXE:外部实体注入
1、漏洞原理:
PHP开启 外部实体引用 传入的 xml 数据未经过过滤
2、漏洞特点
a 传参数据是以 xml 标签的形式
b 相应包里的 Content-type:text/xml
3、攻击手法
a 利用 file 协议读取文件
b 利用 http 协议进行端口探测,例如:http://127.0.0.1:22
c 利用 php 伪协议读取文件
4、盲XXE
核心:加载执行远程xml文件,造成数据外发的效果
5、防御
关闭外部实体功能:libxml_disable_entity_loader(ture);
文件上传
1、漏洞原理
开发人员未在上传点对文件名和文件内容做严格的过滤
2、绕过黑名单
1 特殊后缀名绕过:php3-php5 、 phtml 、通过修改 httpd.conf 文件按可以实现解析任意后缀名
2 通过上传 .htaccess 文件可以实现解析任意后缀名
3 上传 .user.ini 文件,利用包含实现getshell
4 空格绕过,利用的是 windows 和 linux 不允许文件名出现包括 空格 在内的特殊字符,例如上传:1.php[空格]
5 点绕过,windows 不允许出现点结尾的文件名,会自动去掉文件名后面的点, linux 允许出现点结尾的文件
6 流文件绕过,windows 中,:: D A T A 符号后面的内容会被当成字节流数据,上传之后会自动去掉 : : DATA 符号后面的内容会被当成字节流数据,上传之后会自动去掉 :: DATA符号后面的内容会被当成字节流数据,上传之后会自动去掉::DATA 以及后面的内容
7 双写后缀名,例如上传 1.pphphp ,只适用于将 php 替换为空的情况
3、绕过白名单
1 00 截断
2 配合文件包含
4、对文件内容进行绕过
1 填充垃圾字符
2 免杀
5、绕过前端验证
1 在浏览器关闭前端 JS 功能
2 burp 抓包修改
文件包含
1、文件包含函数
a include() 、 require 、 include_once() 、 require_once()
2、文件包含支持的协议
a php 伪协议:fiter 、 input 、 data 、 zip 、phar
b file 协议
c http 和 https
3、利用条件
a 本地文件包含不需要开启 allow_url_* 参数
b 部分伪协议需要开启一个或者两个 allow_url_* 参数
4、防御
a 过滤关键字,例如:php:// 、 file:// 、 http://
b 关闭 allow_url_* 参数
命令执行
1、拼接 & 、&& 、 | 、 ||
2、原理:在操作系统中, & 、&& 、 | 、 || 都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令
CSRF:跨站请求伪造
1、原理:在 cookie 有效期范围内,诱使受害者点击某个页面,进而执行非受害者本意的操作。
2、同源策略内容
主机、端口、协议
2、防御
a 验证 referer
b 加 token 验证
SSRF:服务器请求伪造
1、原理
大都是由于服务端提供了从其他服务器获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。
2、支持的协议
a http://
b https://
c dict://
d ftp://
e file1
f php 伪协议
g gopher://
3、危害
a 内外网的端口和服务扫描
b 主机本地敏感数据的读取
c 内外网主机应用程序漏洞的利用
d 内外网Web站点漏洞的利用
4、防御
a 过滤 file:// 、 gocher:// 等,过滤 端口
b 把网站需要访问的内网资源路径写死,不从外部接收
信息泄露
1、原理:
信息泄露可能是不慎泄露给浏览该网站信息用户的,也有可能是攻击者通过恶意的交互从网站获得数据。例如.svn、.git、.ds_store
2、利用手法:
a 通过 robots.txt 泄露网站隐藏目录/文件.或者站点结构
b 网站站点的 备份文件 未删除导致的泄露,可能会泄露网站源代码
c 没有正确处理网站的一些 错误消息 ,在错误消息中泄露数据库表,字段等
d 一些高度敏感的用户信息,银行账号等泄露
e 在源代码中泄露数据库 账号密码 ,等等(GitHub)
f 网站某些程序的细微差别提示是否存在某些资源,用户名
中间件漏洞
Apache
a 解析漏洞:多后缀名解析漏洞(从后往前解析,一直解析到可识别的后缀)、罕见
b 后缀名解析漏洞、.htaccess解析漏洞
命令执行漏洞:CVE-2021-42013
IIS
a 文件名解析漏洞,从前往后解析,遇到分号就截断,忽略分号后面的内容
例如:1.asp;.jpg
b 罕见后缀名,例如:.asa、.cer、.cdx
c IIS 5.X/6.0的文件夹解析漏洞,例如:将文件夹以1.asp命名,该文件夹中的所有文件都会被当做asp文件执行:1.asp/1.jpg、1.asa/1.jpg、1.cer/1.jpg、1.cdx/1.jpg
d IIS 7.0/IIS 7.5的CGI解析漏洞,例如上传1.jpg然后访问1.jpg/.php
e IIS PUT文件上传漏洞
f HTTP.sys远程代码执行漏洞:MS15-034
Nginx
a CGI解析漏洞,例如上传1.jpg然后访问1.jpg/.php
其他
1、IIS:目录解析漏洞、分号截断、CGI解析漏洞、PUT文件上传漏洞、MS15-034
2、Apache:多后缀名解析漏洞、目录遍历、命令执行漏洞:CVE-2021-42013
3、Nginx:CGI解析漏洞
4、Tomcat:后台部署war包、PUT文件上传漏洞、反序列化漏洞、样例目录session操控漏洞
5、Weblogic:后台部署war包、一大堆反序列化漏洞、未授权RCE漏洞
6、Jboss:后台部署war包、一堆反序列化
框架漏洞
thinkphp5.x RCE
基本都是对模型,对方法的路由处理有误导致RCE,反序列化漏洞的话需要有反序列化点
thinkphp5.0.x漏洞原因是对url处理有关,导致远程命令执行
Struts2
1、原理:struts2是一个框架,他在处理action的时候,调用底层的getter/setter来处理http的参数,将每一个http的参数声明为一个ONGL。导致命令执行
框架特点:文件后缀名”.action ” “.do”
2、例子:
S2-062漏洞形成的原因是struts在处理标签的name属性时,将用户输入当作表达式进行二次解释,导致OGNL表达式注入。
s2 046 通过Content-Type这个header头 filename 后面需要00截断,注入OGNL语言,进而执行命令,通过不恰当的 filename 字段或者大小超过 2G 的 Content-Length 字段来触发异常,进而导致任意代码执行。
Shrio 反序列化
1、原理:Apache Shiro是一个Java安全框架,执行身份验证、授权、密码和会话管理,Shiro提供了RememberMe的功能,当用户关闭浏览器,下次再打开浏览器访问时,还是能记住我是谁,无需登录即可访问。
其实很多网站都有这功能,Shiro对RememberMe的Cookie做了加密处理,在CookieRememberMeManaer类中将Cookie中RememberMe字段内容分别进行序列化、AES加密、Base64编码等操作,但是默认的加密AES Key是硬编码进去的,都知道这个Key是什么,所以在逆向操作反序列化、Base64解密的时候,攻击者就可以伪造恶意数据通过反序列化远程执行命令。
Fastjson 反序列化
通过Fastjson反序列化漏洞,攻击者可以传入一个恶意构造的JSON内容,程序对其进行反序列化后得到恶意类并执行了恶意类中的恶意函数,进而导致代码执行。
redis未授权
1、redis在6379端口
2、写webshell
3、写公钥实现免密登录
4、写计划任务实现反弹shell
5、主从复制getshell
相关文章:
蓝队面试经验总结
Sql注入 1、sql注入漏洞原理 开发者没有在网页传参点做好过滤,导致恶意 sql 语句拼接到数据库进行执行 2、sql注入分类 联合注入 、布尔盲注 、时间盲注 、堆叠注入 、宽字节注入 、报错注入 3、堆叠注入原理 在 mysql 中,分号 代表一个查询语句的…...
MySQL命令分类与大纲
一、数据库管理 创建与删除数据库 CREATE DATABASE:创建新数据库DROP DATABASE:删除已存在的数据库ALTER DATABASE:修改数据库属性 切换与查看数据库 USE:选择当前工作数据库SHOW DATABASES:列出所有可用数据库 二、…...

windows编译xlnt,获取Excel表里的数据
用git拉取项目 这个文件是空的 要用git拉下来,使用终端编译xlnt库 点击解决方案 运行生成 然后新建项目,配置好库, #include <iostream> #include <xlnt/xlnt.hpp>int main() {// 打开 Excel 文件xlnt::workbook workbook;workb…...
c#字段和属性的区别
在C#中,字段(fields)和属性(properties)都是类的成员,它们提供了类存储数据的方式,但它们在用途和功能上有着明显的区别。 字段 字段通常用来存储类或结构的状态信息。字段是类的数据成员&…...

微软正式发布Copilot for Security
微软公司近日宣布,其备受期待的安全自动化解决方案——Copilot for Security现已全面上市,面向全球用户开放。这一创新工具的推出标志着微软在提升企业安全防护能力方面迈出了重要一步,同时也为安全专业人士提供了强大的支持。 Copilot for …...

AI大模型日报#0416:李飞飞《2024年人工智能指数报告》、Sora加入Adobe、李彦宏聊百度大模型之路
导读: 欢迎阅读《AI大模型日报》,内容基于Python爬虫和LLM自动生成。目前采用“文心一言”生成了每条资讯的摘要。标题: 刚刚,李飞飞团队发布《2024年人工智能指数报告》:10大趋势,揭示AI大模型的“喜”与“忧” 摘…...

OpenCV轻松入门(八)——图片卷积
对图像和滤波矩阵进行逐个元素相乘再求和的操作就相当于将一个二维的函数移动到另一个二维函数的所有位置,这个操作就叫卷积。 卷积需要4个嵌套循环,所以它并不快,除非我们使用很小的卷积核。这里一般使用3x3或者5x5 图像滤波 图像滤波是尽…...
鸿蒙HarmonyOS开发规范-完善中
代码规范 所有文件,包括自动生成的编译文件package.json都要格式化(IDE快捷键CtrlAltL);函数命名,C大驼峰,TS、JS小驼峰,函数命名注意动宾结构;静态常量需使用全大写,文…...

神经网络压缩图像
简介 典型的压缩管道由四个组件组成: 编码:输入图像 x x x通过编码器函数 ε \varepsilon ε,将其转换为潜在表示 z z z。 量化:截断 z z z以丢弃一些不重要的信息 熵编码:使用某种形式的熵编码(例如&…...
Catagory(rt)
继承(IMP融合):支持super命令码;继承推荐重写 分类(IMP替换):不支持super命令码;分类推荐组合 //替换(原来没了/破坏掉原来IMP/分类(替换特性)) 情况1: 自封装(组件化)开源库>分类推荐组合 情况2:逆向分析> 有意替换>分类IMP替换 #import "CatagoryViewContro…...

Games104 现代游戏引擎3
Sprite Animation 序列帧动画 自由度(degrees of freedom,DoF)对于刚体而言描述它的运动需要3个位移3个旋转,一共6个自由度 顶点动画(per-vertex animation)利用网格的顶点来控制运动。此时网格上的每个顶…...

【云计算】混合云分类
《混合云》系列,共包含以下 3 篇文章: 【云计算】混合云概述【云计算】混合云分类【云计算】混合云组成、应用场景、风险挑战 😊 如果您觉得这篇文章有用 ✔️ 的话,请给博主一个一键三连 🚀🚀Ὠ…...

探索分布式系统监控zabbix------------自动发现与自动注册
目录 一、部署 zabbix 服务端 二、部署 zabbix 客户端 2.1环境准备 2.2服务端和客户端都配置时间同步 (ntp) 2.2.1服务端zbx-server 2.2.2服务端zabbix-agent01客户端 2.3客户端配置时区,与服务器保持一致 2.4设置 zabbix 的下载源&…...

权限管理Ranger详解
文章目录 一、Ranger概述与安装1、Ranger概述1.1 Ranger介绍1.2 Ranger的目标1.3 Ranger支持的框架1.4 Ranger的架构1.5 Ranger的工作原理 2、Ranger安装2.1 创建系统用户和Kerberos主体2.2 数据库环境准备2.3 安装RangerAdmin2.4 启动RangerAdmin 二、Ranger简单使用1、安装 R…...

WPF Extended.Wpf.Toolkit 加载界面
1、NuGet 中安装 Extended.Wpf.Toolkit 。 2、在MainWindow.xaml中添加xmlns:tk"http://schemas.xceed.com/wpf/xaml/toolkit" 。 MainWindow.xaml 代码如下。 <Window x:Class"WPF_Extended_Wpf_Toolkit_Loading.MainWindow" xmlns"ht…...

【切换网络连接后】VMware虚拟机网络配置【局域网通信】
初次安装Linux虚拟机以及切换网络都需要配置虚拟机网络, 从而使得win主机内通过远程连接工具能够连接该虚拟机, 而不是在虚拟机内操作。 本片文章你将了解到网络切换后如何配置虚拟机网络的一些基础操作,以及局域网通信的一些基础知识。 …...

革新鞋服零售:数据驱动的智能商品管理 解锁库存优化与高效增长
国内鞋服零售企业经过多年的发展,已经形成诸多家喻户晓的品牌,但近年来一些企业的库存问题也时常显现,高库存不仅困扰着品牌商,也使一些多年合作良好的经销商深受其害,当下的订货会制度在初期帮助企业解决了盲目生产的…...

word文件的创建时间和修改时间可以更改吗?答案是肯定的 文件属性修改的方法
一,引言 在日常生活和工作中,我们经常需要处理各种Word文件。有时,由于某些原因,我们可能需要更改Word文件的创建时间和修改时间。虽然这听起来可能有些复杂,但实际上,通过一些简单的方法和工具࿰…...

redisson -- 延迟队列RDelayedQueue
1.maven配置 <!-- 用于管理起步工程的依赖管理 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.11</version><relativePath/> </parent…...

Flex弹性盒子布局案例(认识弹性布局)
一、导航菜单 此示例创建了一个水平导航菜单,其中链接在 Flex 容器中等距分布。 HTML结构: <nav class"nav-menu"><a href"#">Home</a><a href"#">About</a><a href"#">…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...