SSRF和XML

SSRF介绍

SSRF(Server-Side Request Forgery),即服务器请求伪造,是一种由攻击者构造形成由服务器发起请求的一个安全漏洞。

SSRF漏洞挖掘

只要一个网页读取或者加载了其他地址的内容,就有可能存在SSRF漏洞。

出现场景:分享、转码、在线翻译、图片加载下载、图片文章收藏、未公开的API

url中常见关键字:share、wap、url、link、src、source、target

SSRF漏洞利用

内网探测:

C类:192.168.0.0-192.168.255.255

B类:172.16.0.0-172.31.255.255

A类:10.0.0.0-10.255.255.255

常见端口探测:

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

协议探测:

ftp、dict、gopher、file、ladp、ssh、smb、http、https

file协议敏感文件:

Windows下:

C:\boot.ini //查看系统版本

C:\Windows\System32\inetsrv\MetaBase.xml //IIS配置文件

C:\Windows\repair\sam //存储系统初次安装的密码

C:\Program Files\mysql\my.ini //Mysql配置

C:\Program Files\mysql\data\mysql\user.MYD //Mysql root

C:\Windows\php.ini //php配置信息

C:\Windows\my.ini //Mysql配置信息

C:\Windows\win.ini //Windows系统的一个基本系统配置文件

Linux下:

/root/.ssh/authorized_keys

/root/.ssh/id_rsa

/root/.ssh/id_ras.keystore

/root/.ssh/known_hosts //记录每个访问计算机用户的公钥

/etc/passwd

/etc/shadow

/etc/my.cnf //mysql配置文件

/etc/httpd/conf/httpd.conf //apache配置文件

/root/.bash_history //用户历史命令记录文件

/root/.mysql_history //mysql历史命令记录文件

/proc/mounts //记录系统挂载设备

/porc/config.gz //内核配置文件

/var/lib/mlocate/mlocate.db //全文件路径

/porc/self/cmdline //当前进程的cmdline参数

XML介绍

XML指可扩展标记语言,被设计为传输和存储数据,xml文档包括xml声明、DTD文档类型定义、文档元素、其焦点是数据的内容,其把数据从HMTL分离,是独立于软件和硬件的信息传输工具。

DTD定义

DTD全称Document Type Definition,它是文档类型定义,其中规定XML文档中的元素、属性、标记、文档中的实体及其相互关系。DTD为XML文档结构制定了一套规则。

DTD作用

1.通过DTD,每一个XML文件均可以携带一个自身相关的描述

2.验证数据

3.交换数据

XXE介绍

XXE(XML External Entity Injection)全称为XML外部实体注入,由于程序在解析输入的XML数据时,解析了攻击者伪造的外部实体而产生的。

内部实体声明:

外部实体声明:

XXE的危害

  1. 文件读取

    有回显

    无回显,用dnslog带外测试

    ​ 带外测试:

    ​ 测试是不是payload写错了

    ​ 测试是不是存在这个漏洞

    ​ 测试是不是有存在但无回显

    ​ 测试是否存在这个文件

    如果:关闭了回显但是带外测试成功。

    远程文件窃取:

    读本地服务器上的文件--->远程加载了恶意DTD文件--->攻击者的服务器开启接收内容并写出文件

  2. 内网端口扫描

  3. 命令执行

9.SSRF和XML的更多相关文章

  1. 小试XML实体注入攻击

    基础知识 XML(Extensible Markup Language)被设计用来传输和存储数据.关于它的语法,本文不准备写太多,只简单介绍一下. XML基本知识 1 2 3 4 5 <?xml ...

  2. XXE漏洞学习

    0x00 什么是XML 1.定义 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.XML文档结构包括XML声明.DTD文 ...

  3. XXE注入攻击与防御

    在研究XXE注入攻击之前先了解一下什么是XXE 定义 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.XML文档结构包括 ...

  4. XXE总结

    0x00 目录 0x01 XML基础 定义:一种标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. XML文档结构包括XML声明.D ...

  5. 【技巧总结】Penetration Test Engineer[3]-Web-Security(SQL注入、XXS、代码注入、命令执行、变量覆盖、XSS)

    3.Web安全基础 3.1.HTTP协议 1)TCP/IP协议-HTTP 应用层:HTTP.FTP.TELNET.DNS.POP3 传输层:TCP.UDP 网络层:IP.ICMP.ARP 2)常用方法 ...

  6. XXE漏洞攻击与防御

    转自https://www.jianshu.com/p/7325b2ef8fc9 0x01 XML基础 在聊XXE之前,先说说相关的XML知识吧. 定义 XML用于标记电子文件使其具有结构性的标记语言 ...

  7. 初识XXE漏洞

    本文是参照本人觉得特别仔细又好懂的一位大佬的文章所做的学习笔记 大佬的链接:https://www.cnblogs.com/zhaijiahui/p/9147595.html#autoid-0-0-0 ...

  8. WebLogic SSRF

    本文主要记录一下Weblogic SSRF 利用的操作过程. 一.WebLogic SSRF漏洞简介 漏洞编号:CVE-2014-4210 漏洞影响: 版本10.0.2,10.3.6 Oracle W ...

  9. SSRF漏洞挖掘经验

    SSRF概述 SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞.一般情况下,SSRF攻击的目标是从外网无法访问 ...

  10. SSRF漏洞分析与利用

    转自:http://www.4o4notfound.org/index.php/archives/33/ 前言:总结了一些常见的姿势,以PHP为例,先上一张脑图,划√的是本文接下来实际操作的 0x01 ...

随机推荐

  1. NOIP2015 pj

    达成成就!--尝试不看题解的情况下用cpp打完了一套NOIP pj 题目全部在luogu上-- P2669 金币 题目描述 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到一枚金币:之后两天(第 ...

  2. 在使用admin后台管理,添加或者修改数据库时,出现错误,no such table: main.auth_user__old

    在使用admin后台管理,添加或者修改数据库时,出现错误,no such table: main.auth_user__old. Django是2.0.9的版本,python是3.8.0 上述错误是因 ...

  3. AX2012 快速清空整个log表数据

    如果当一个log表的数据非常大的时又需要清理时,如果允许删除全部数据,在AX里,可以 将log表的TableType调整为[TempDB], 保存同步后再将TableType设置回[Regular]即 ...

  4. 树莓派启动后自动连接wifi

    安装好系统后我们先使用 网线进行连接 使用ssh 工具连接 cd /etc/wpa_supplicant/ wpa_passphrase "网络名称" "密码" ...

  5. 尝试改善科研V2

    参考链接: https://fulequn.github.io/2022/09/26/Article202209261/ https://www.xljsci.com/ https://apps.an ...

  6. 修改浏览器搜索引擎:设置网址格式(用“%s”代替搜索字词)

    浏览器搜索引擎设置,如何填写网址格式(用"%s"代替搜索字词)? 以下收集部分: 综合检索 名称 关键字 网址(用"%s"代替搜索字词) 必应 cn.bing. ...

  7. k8s配置ingress的https访问

    一.部署步骤 1.安装nginx-ingress-controller 2.创建secret绑定证书 3.创建测试服务 4.创建ingress 5.测试https访问 二.安装nginx-ingres ...

  8. scrollToFirstError失效解决方法

    ant design 使用 设置scrollToFirstError = true,表单验证失败后却没有滚动到第一个错误字段 解决方法: 在button按钮中加入 html-type = 'submi ...

  9. Linux命令 之 contrab

    crontab 命令是用来在linux平台上执行 定时任务的命令: 默认是在安装完操作系统之后,便会启动此任务的调度 crontab 会在每分钟检查是否有要执行的任务,如果有便会执行该任务:新建的cr ...

  10. 第四章 快速排序 分而治之(divide an conquer)

    def quicksort(array): if len(array) < 2: return array else: flag = array[0] less = [] greater = [ ...