SSRF漏洞、SQL注入、CSRF漏洞、XXE漏洞

news2024/12/23 5:46:59

SSRF漏洞

1.我理解的定义
攻击者将伪造的服务器请求发给一个用户,用户接受后,攻击者利用该安全漏洞获得该用户的相关信息
2.原理:

3.场景:

(1)分享

(2)转码

(3)翻译

(4)图片加载、下载

(5)图片、文章收藏

(6)未公开的API

4.UPL关键字:

share、wap、url、link、srcsource、target

3g、display、sourceURL、u、imageURL、domain

5.常见端口:

http 80、https 443、telnet 23、ftp 21、ssh 22smtp 25
weblogic 7001、tomcat 8080、jboss 8080、Oracle 1521、sqlserver 1443

6.SSRF可以遵守的协议:

ftp、dict、gopher、file、ladp、ssh、smb、http、https
7.file读取敏感文件
我理解的:攻击者利用任意文件读取漏洞,读取敏感文件。
网上查的:敏感文件包括日志文件,配置文件,网站源代码文件,系统文件等。

SQL注入

网上查的定义:SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。(额。。。。差不多理解了)

1.如何判断是否存在sql注入点
登录框 、查询、订单处理等地方、获取http头功能点
2.注入点查看及常见注入类型及利用方式
(1)报错注入
会出现 MySQL 查询语句报错信息

(2)盲注
看不到报错信息
盲注一般用到的一些函数: if() ascii() substr() length() exists() concat()
(3)bool 盲注
前输入信息为真 and 数字 = 数字 # 1' and 1=1# 1' and 1=2# 多改变值进行测
试 。根据报错返回的东西来确定页面字节长度条件成立或条件不成立
(4)时间盲注
=and sleep(5) --+ 延迟五秒反应
注:字符型双单引号会把单个单引号产生的报错取消,但字符型仍会报错
也有可能出现单引号过滤,进行转换等可以试试 "`)
3.猜解字段
a') order by 1# 1 开始猜解到报错 通过双写 ' 来猜解闭合
4.查询语句
除了查看数据库 还有会使用到的其他函数 :
1、user()查当前的用户为:user() > select user();
2、 Version();当前 mysql 的版本union select 1,2,version()
3、 Database();当前网站使用的数据库
union select 1,2,database()
4、 User();当前 MySQL 的用户
union select 1,2,user()
5、 system_user(); 系统用户名
6、session_user();连接数据库的用户名
7、current_user;当前用户名
8、load_file();读取本地文件
9、@@datadir:读取数据库路径
10、@@basedir:mysql安装路径
9、length(str) : 返回给定字符串的长度,如 length(“string”)=6
10、substr(string,start,length) : 对于给定字符串string,从start位开始截取,
截取length长度 ,如 substr(“chinese”,3,2)=“in”
substr()、stbstring()、mid() 三个函数的用法、功能均一致
11、concat(username):将查询到的username连在一起,默认用逗号分隔
concat(str1,’’,str2):将字符串str1和str2的数据查询到一起,中间用连接
12、group_concat(username) :将username数据查询在一起,用逗号连接
Columns 表存储该用户创建的所有数据库的库名、表名、字段名,要记住该表中记录数据库库
名、表名、字段名为 table_schema、table_name、columns_name
# sqlmap基本语法
**扫描语法**
1、-u 指定目标url2、-m url_list.txt # 使用一个包含多个url的文件进行扫描。
3、-r request.txt # Post提交方式,使用HTTP请求文件,该文件可从BurpSuit中导
出。 (
BurpSuit抓包 > 将请求复制到txt中即可)
4、-p "username,id" # 指定要扫描的参数
5、 - proxy="http: / 127.0.0.1:8087/" # 使用代理去扫描目标
6、 - force-ssl # 使用HTTPS连接进行扫描
7、 - delay="3" # 每次http请求之间的延迟时间,默认无延迟
8、 - timeout="10" # 请求超时时间,浮点数,默认为30秒
9、 - level
```
2:检测cookie中是否含有注入
```
```
3:检测user-agent、referer是否含有注入
```
```
5:检测host是否含有注入
```
10、 - risk 默认1,最高4,等级高容易造成数据被篡改风险
11、 - threads=7 #提高并发线程,默认为1,建议不要超过10,否则影响站点可用性
12、 - dbms="Mysql" # 指定数据库类型,还可以加上版本 Mysql
13、 - os="Windows" # 指定操作系统,还可以是Linux
**查询语法**
1. - users # 查询所有的数据库账号
2. - dbs # 查询所有数据库
3. - schema # 查询源数据库(包含定义数据的数据)如何判断是否存在sql注入点
和数据库有交互的地方
登录框
可以尝试万能密码(如何都能登录成功)
4. -a # 查询当前user、当前数据库、主机名、当前user是否是最大权限管理员、数据库账
号等
5. -D dvwa# 指定数据库
命令:sqlmap -u http: / 172.23.188.13:8083/show.php?id=3 -D dvwa
tables
-T 是查看某个数据表
columns 查看的表中的所有字段
命令:sqlmap -u http: / 172.23.188.13:8083/show.php?id=3 -D dvwa -T
users - columns
dump 查看所有字段的内容
6. - current-user # 查询当前数据库用户
7. - current-db # 查询当前数据库
8. - hostname # 查看服务器的主机名
9. - columns # 查看所有的字段
10. - tables # 查看所有的表
5.waf绕过和sqlmap使用

CSRF漏洞

1.定义:通过伪装成受信任用户请求受信任的网站来跨站请求伪造攻击

2.被攻击的条件:

(1)登录受信任网站A,并在本地生成Cookie

(2)在A没有推出登录的情况下,访问危险网站B

3.看图后,我理解为黑客介入用户及其信任网站之间,伪造出该网站的链接并发给用户,诱导用户访问该链接、泄露甚至修改登录账号和密码等信息

4.CSRF漏洞如何防范
1、验证 HTTP Referer 字段;
2、增加 token并验证
3、在 HTTP 头中自定义属性并验证。

XXE漏洞

1.定义:如果 Web 应用的脚本代码没有限制 XML 引入外部实体,从而导致用户可以插入一个外部实
体,并且其中的内容会被服务器端执行,插入的代码可能导致任意文件读取、系统命令执行、内网端口探测、攻击内网网站等危害。
2.XML介绍
XML 指可扩展标记语言,被设计为传输和存储数据, xml 文档包括 xml 声明、 DTD 文档类型
定义(可选)、文档元素、其焦点是数据的内容,其把数据从 HMTL 分离,是独立于软件和
硬件的信息传输工具。
XML 主要两个用途:
(1).配置文件:层级分明 结构清晰
(2). 在不同的系统之间交换数据
3.DTD
DTD , 即文档类型定义,可定义合法的 XML 文档构建模块。它使用一系列合法的元素来定义文档的结构。DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。控制XML 的格式规范。
DTD 作用:
(1)通过 DTD ,每一个 XML 文件均可以携带一个自身相关的描述
(2)验证数据
(3)交换数据

4.XXE的危害

(1). 文件读取(2) . 内网端口扫描(3) . 命令执行
5.带外测试:
(1). 是不是 payload 写错了
(2). 是不是存在这个漏洞
(3). 有存在但是无回显
(4). 是否存在这个文件
如果:关闭了回显但是带外测试成功。
6.远程文件窃取:
(1). 读本地服务器上的文件
(2). 远程加载了恶意 DTD 文件
(3). 攻击者的服务器 开启 接收内容并写出文件

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

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

相关文章

网络编程知识点总结(4)

sock服务端代码实现读写 前几章有具体介绍这几个函数,这里就简单罗列出来了 (1)socket()函数 int socket(int domain, int type, int protocol); (2)bind()函数: IP号端口号与相应描述字赋值函数 int bind(int soc…

shell编程之for循环

文章目录 shell编程之for循环一.for语句1.什么是for循环2.for语句的结构3.for语句中常用转义字符 二.for语句应用示例1.批量添加用户2.根据IP地址检查主机状态三.循环的次数1.循环次数的格式2.循环次数示例2.1求1-100的整数求和2.2 1-10的偶数求和 3.步长——seq3.1 1-10的偶的…

JavaScript对象详解(六)

JavaScript对象详解 1、对象的使用1.1、使用对象字面量法1.2、使用构造函数1.3、使用 Object.create() 2、继承与原型链2.1、基于原型链的继承2.1.1、继承属性2.1.2、继承方法 2.2、不同方式所生成的原型链2.2.1、使用语法结构2.2.2、使用构造器2.2.3、使用Object.create()2.2.…

【锂离子电池容量估算】电池单元总容量的递归近似加权总最小二乘估计(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

论文笔记--Deep contextualized word representations

论文笔记--Deep contextualized word representations 1. 文章简介2. 文章概括3 文章重点技术3.1 BiLM(Bidirectional Language Model)3.2 ELMo3.3 将ELMo用于NLP监督任务 4. 文章亮点5. 原文传送门 1. 文章简介 标题:Deep contextualized word representations作者…

MMPose(openmmlab AI实战营二期第一节)

链接:人体关键点检测与MMPose_哔哩哔哩_bilibili 赶了个进度,实际上没听到,一个方向被浓缩成50分钟是有点难度。后续有需要再回顾吧 人体姿态估计:识别人体关键点坐标。模式识别任务,难点是始终在变化。以关键点连线…

chatgpt赋能python:如何使用Python匹配IP地址

如何使用Python匹配IP地址 如果你是一位网络管理员或是网络安全专家,那么你很可能需要经常处理IP地址。在一些情况下,你需要使用Python来自动化匹配或验证IP地址。在本文中,我们将介绍如何使用Python匹配IP地址。 IP地址的基础知识 在介绍…

地震segy数据高效读写库cigsegy在windows系统的编译

https://github.com/JintaoLee-Roger/cigsegy 一个读写 segy 格式地震数据的 python 和 c 工具。可以将 segy 格式文件读到内存或者直接转为二进制文件,也可以将一个 numpy 数据存储为segy格式的文件。 特点: 快,底层使用c实现可以在python中使用&…

皮卡丘XXE/URL重定向/SSRF

一.XXE 1.概述 XXE -"xml external entity injection" 既"xml外部实体注入漏洞"。 概括一下就是"攻击者通过向服务器注入指定的xml实体内容,从而让服务器按照指定的配置进行执行,导致问题" 也就是说服务端接收和解析了来自用户端的xml数据,而又…

chatgpt赋能python:Python升级所有包:一步引导所有Python开发者升级你的Python环境

Python升级所有包:一步引导所有Python开发者升级你的Python环境 Python作为一种动态的编程语言,一直在不断发展和更新。每个Python版本都有自己的新功能和改进。因此,许多Python开发者在使用Python时都会尝试升级到最新的版本。但是&#xf…

论文笔记--Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context

论文笔记--Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context 1. 文章简介2. 文章概括3 文章重点技术3.1 Segment-Level Recurrence with State Reuse3.2 相对位置编码 4. 文章亮点5. 原文传送门 1. 文章简介 标题:Transformer-XL: Attent…

Spring集合

目录 SpringSpring简介Spring概述Spring FrameworkSpring Framework特征 IOC1、IOC的思想(1)传统方式的获取资源(2)控制反转方式的获取资源(3)DI 2、IOC 容器的两种实现BeanFactoryApplicationContext 基于XML管理bean1.创建Maven2.引入依赖3.创建HelloWorld.Java类4.创建sprin…

【Java】单例设计模式-饿汉模式和懒汉模式

单例模式概念如何设计 饿汉模式懒汉模式分析造成线程不安全的原因解决方法 总结 单例模式 概念 单例是一种设计模式。单例指的是在全局范围内只有一个实例对象。比如在学习JDBC编码时使用的DataSource,定义了数据库的用户名,密码和连接串,定…

以太网交换机自学习和转发帧的流程

以太网交换机自学习和转发帧的流程 笔记来源: 湖科大教书匠:以太网交换机自学习和转发帧的流程 声明:该学习笔记来自湖科大教书匠,笔记仅做学习参考 以太网交换机工作在数据链路层(也包括物理层) 以太网交…

大数据处理领域的经典框架:MapReduce详解与应用【上进小菜猪大数据】

上进小菜猪,沈工大软件工程专业,爱好敲代码,持续输出干货。 MapReduce是一个经典的大数据处理框架,可以帮助我们高效地处理庞大的数据集。本文将介绍MapReduce的基本原理和实现方法,并给出一个简单的示例。 一、MapR…

文件上传漏洞、XSS漏洞、RCE漏洞

文件上传漏洞 1.定义:指用户上传了一个可执行的脚本文件(常见头像,简历,资源,附件,编辑器),并通过此脚本文件获得了执行服务器端命令的能力。 2.所需条件 (1&#xff0…

什么是“支付二清”,“二清”的定义

“二清”的定义: 支付行业的"二清"是指二次清算,也称为二级清算。在支付行业中,清算是指在交易完成后,将资金从付款人账户转移到收款人账户的过程。一级清算通常由银行完成,而二级清算则是指由支付机构或清…

正则表达式命令

文章目录 一.基础命令1.grep命令1.1grep格式1.2grep命令选项 2.特殊的符号2.1空行——^$2.2以什么为开头—^,以什么为结尾—$2.2.1以什么为开头的格式:2.2.2以什么为结尾的格式: 3.只匹配单行——^匹配的字符$ 二.文本处理命令1.sort命令1.1命令解释及格…

打电话用什么耳机好,推荐几款性能表现高的骨传导耳机

近几年有一种新型传播方式的耳机,将声音转化为振动,从而让我们的听觉神经感知到。这种声音传播方式叫做"骨传导",所以叫做骨传导耳机。因为它不需要通过耳膜进行传播声音,所以可以让耳朵在不接触外界的情况下听到声音。…

SpringCloud(四)

文章目录 Ribbon负载均衡负载均衡原理源码跟踪1)LoadBalancerIntercepor2)LoadBalancerClient3)负载均衡策略IRule4)总结 Ribbon负载均衡 在springcloud(三)中,我们添加了LoadBalanced注解&…