漏洞

PHP审计基础

做~自己de王妃 提交于 2019-12-22 04:17:04
php核心配置 register_globals 全局变量注册开关 设置为on时,把GET/POST的变量注册成全局变量 PHP 5.4.0中移除 allow_url_include 包含远程文件 设置为on时,可包含远程文件 PHP 5.2后默认为off allow_url_fopen  打开远程文件 magic_quotes_gpc 魔术引号自动过滤 设置为on时,自动在GET/POST/COOKIE变量中',",\,NULL的前面加上\ PHP5不会过滤$_SERVER变量,PHP5.4以后移除 magic_quotes_runtime 魔术引号自动过滤 与mq_gpc的区别:mq_runtime只过滤从数据库/文件中获取的数据 PHP5.4以后移除 magic_quotes_sybase 魔术引号自动过滤 会覆盖掉_gpc;仅仅转义NULL和把'替换成" PHP5.4以后移除 safe_mode 安全模式 联动配置指令有很多;...... PHP5.4以后移除 open_basedir PHP可访问目录 用;分割多个目录,且以前缀而非目录划分 PHP5.2.3以后范围时PHP_INI_ALL disable_functions 禁用函数 如果使用此指令,切记把dl()函数也加入到禁用列表 display_errors/error_reporting 错误显示 d

文件上传漏洞的原理、危害及防御

自古美人都是妖i 提交于 2019-12-22 01:28:43
一. 什么是文件上传漏洞 Web应用程序通常会有文件上传的功能, 例如在 BBS 发布图片 , 在个人网站发布ZIP 压缩 包, 在办公平台发布DOC 文件等 , 只要 Web应用程序允许上传文件, 就有可能存在文件上传漏 洞. 什么样的网站会有文件上传漏洞? 大部分文件上传漏洞的产生是因为Web应用程序没有对上传文件的格式进行严格过滤 , 还有一部分是攻击者通过 Web服务器的解析漏洞来突破Web应用程序的防护, 后面我们会讲 到一些常见的解析漏洞 , 最后还有一些不常见的其他漏洞, 如 IIS PUT 漏洞等 . 二. 文件上传漏洞的危害 上传漏洞与SQL 注入或 XSS 相比 , 其风险更大 , 如果 Web应用程序存在上传漏洞 , 攻击者甚至 可以直接上传一个 webshell到服务器上 . 三. 常见的解析漏洞 1.IIS 解析漏洞 IIS6.0 在解析文件时存在以下两个解析漏洞 . ①当建立 *.asa 、*.asp 格式的文件夹时 , 其目录下的任意文件豆浆被 IIS 当作 asp 文件 来解析 . ② 在 IIS6.0 下 , 分 号 后面 的 扩 展 名 不 会 被 解 析 , 也 就 是 说 当 文 件 为 *.asp;.jpg 时,IIS6.0 同样会以 ASP脚本来执行 . 2.Apache 解析漏洞 在 Apache 1.x 和 Apache 2.x

文件上传漏洞(绕过姿势)

旧街凉风 提交于 2019-12-22 01:28:01
  文件上传漏洞可以说是日常渗透测试用得最多的一个漏洞,因为用它获得服务器权限最快最直接。但是想真正把这个漏洞利用好却不那么容易,其中有很多技巧,也有很多需要掌握的知识。俗话说,知己知彼方能百战不殆,因此想要研究怎么防护漏洞,就要了解怎么去利用。此篇文章主要分三部分:总结一些常见的上传文件校验方式,以及绕过校验的各种姿势,最后对此漏洞提几点防护建议。(根据个人经验总结,欢迎补充纠错~~) 文件上传校验姿势 客户端javascript校验(一般只校验后缀名) 服务端校验 文件头content-type字段校验(image/gif) 文件内容头校验(GIF89a) 后缀名黑名单校验 后缀名白名单校验 自定义正则校验 WAF设备校验(根据不同的WAF产品而定) 1.客户端校验   一般都是在网页上写一段javascript脚本,校验上传文件的后缀名,有白名单形式也有黑名单形式。   判断方式:在浏览加载文件,但还未点击上传按钮时便弹出对话框,内容如:只允许上传.jpg/.jpeg/.png后缀名的文件,而此时并没有发送数据包。 2.服务端校验 2.1 content-type字段校验   这里以PHP代码为例,模拟web服务器端的校验代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <?php if( $_FILES[ 'userfile'][ 'type']

文件上传限制绕过的原理以及方法总结

我怕爱的太早我们不能终老 提交于 2019-12-22 01:27:27
0x00 概述 文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。文件上传这个功能本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑不够安全,就会导致上传的文件被web容器解释执行,从而造成严重的后果 0x01 客户端js检测检测绕过 检测原理 在客户端通过如下的javascript代码来检测用户提交的文件是否合法: 1 <script type="text/javascript"> 2 function checkFile() { 3 var file = document.getElementsByName('upload_file')[0].value; 4 if (file == null || file == "") { 5 alert("请选择要上传的文件!"); 6 return false; 7 } 8 //定义允许上传的文件类型 9 var allow_ext = ".jpg|.png|.gif"; 10 //提取上传文件的类型 11 var ext_name = file.substring(file.lastIndexOf(".")); 12 //判断上传文件类型是否允许上传 13 if (allow_ext.indexOf(ext_name) == -1) { 14 var

13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现

一笑奈何 提交于 2019-12-22 01:26:06
Weblogic任意文件上传漏洞(CVE-2018-2894)复现 漏洞背景 WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限。两个页面分别为 /ws_utc/begin.do,/ws_utc/config.do 。 影响范围 Oracle WebLogic Server,版本 10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3 。 漏洞详情 http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html#AppendixFMW 漏洞复现 本次漏洞环境是用docker搭建的,环境启动后,访问Weblogic控制台: 应为是本地搭建环境,所以在登陆日志中寻找登陆密码: docker-compose logs | grep password 可得登陆用户名密码为: weblogic/eZh6Cefm 正常的环境是判断是否存在weblogic弱口令,或者根据版本信息来读取敏感文件,比如,或者 后台用户密文与密钥文件,或者就像登陆日志logs之类的,来得到登陆密码。 得到用户名密码后,我们尝试登陆后台页面,点击base_domain的配置, 在“高级”中开启“启用 Web 服务测试页”选项: 保存配置 访问 http://192.168.0

WebLogic 两处任意文件上传漏洞动态分析(CVE-2018-2894)

天涯浪子 提交于 2019-12-22 01:25:50
0x01 前言 CNCERT前几天发公告称发现Oracle公司出品的基于JavaEE结构的中间件WebLogic产品存在一个远程上传漏洞,并得到了厂商的确认,危害程度评分高达9.8分。鉴于厂商已进行了安全修复,笔者对该漏洞进行了一次分析。WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限。两个页面分别为/ws_utc/begin.do,/ws_utc/config.do;漏洞的影响范围 Oracle WebLogic Server,版本10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3;相关链接: http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html#AppendixFMW , 下文笔者从这两个文件入手来系统调试跟踪找出漏洞产生的原理和位置。 0x02 漏洞流程 笔者首先访问了一下 http://IP/ws_utc/config.do 并且将默认的目录WSTestPageWorkDir修改了为 user_projects\domains\base_domain\tmp\sd\ 如下图 工作台设置一个新的目录后,weblogic会将原来目录下的子目录和文件一起转移到新设定的目录下,但旧的目录依然保留。因为不是重点

文件上传漏洞总结

强颜欢笑 提交于 2019-12-22 01:25:32
1.在很早以前,很多上传文件过滤是用的是javascript,所以改一下javascript或直接nc发包就行了。有的是判断后缀,有的只是判断id,比如: “uploadfile” style=”file” size=”uploadfile” runat= “lbtnUpload” runat= “JavaScript”> 只是简单的对ID进行验证,只要构造javascript:lbtnUpload.click();满足条件达到上传木马的效果。成功以后查看源代码 a “lbtnUpload” “javascript:__doPostBack(‘lbtnUpload’,”)”script ‘javascript’ 2.IIS6的目录解析问题如/a.aspx/a.jpg,在某些特殊情况下会应用到,在很早的时候由我同事1982发现的。 3.某些上传文件的被动过滤有缺陷,有的只过滤asp,却忘了.asa、.cdx、cer等等,php的话就尝试php2、.php3、.php4 等等,相关实例有动力文章(Powereasy),具体参考http://www.sebug.net/vulndb/4326/ 4.结束符%00截断最后的后缀,最早是老外发现,当时非常流行,主流bbs程序都有此漏洞,比如dvbbs就存在此漏洞,非常经典! 5.iis的文件名解析漏洞,比如a.asp;.gif

非法文件上传漏洞技术

纵饮孤独 提交于 2019-12-22 01:24:08
1 上传技术基础 1.1 JS验证绕过类    如何判断为 本地验证 呢? 一般情况下速度较快的返回信息认为是本地验证,但有时候需要根据抓包以及跟踪上传代码来分析是否为本地验证。  删除验证方法绕过上传  修改过滤白名单绕过上传   在客户端的检测中,通常使用JS对上传图片检测,包括 文件大小 、 文件拓展名 、 文件类型 等。在绕过本地上传限制时,可以使用Firebug对客户端的脚本进行编辑。 1.2 MIME类型检测绕过类   MIME作用:使用客户端软件,Web服务器使用MIME来说明 发送数据的种类 ,Web客户端使用MIME来说明希望 接收到的数据类型 。   在检测绕过过程中,可以使用 BurpSuite 抓包, 拦截并更改 相应提交数据,后述几种绕过方法类似。 1.3 文件扩展名检测绕过类   PHP 语言除了可以解析以 php 为后缀的文件,还可以解析 php2 、 php3 、 php4 、 php5 这些后缀的文件,同时不同的服务器所支持的文件类型也 不尽相同 。 1.4 文件内容检测绕过类   对于文件内容检测,可以使用BurpSuite修改提交的数据包,可通过在末尾 添加几个空格 后粘贴 “一句话” ,然后修改相应的尾缀为 php 。注,上述的“一句话”为一句话木马相应的代码。 1.5 空字符截断目录路径检测类    对于空字符截断目录路径检测类

实战挖掘一个某公司网站漏洞

非 Y 不嫁゛ 提交于 2019-12-21 15:03:42
作为一个资深安全菜鸟,主要是讲解常规挖洞的一个流程和思路,以找到的一个某公司sql注入为例,大佬轻喷 网上很多资料及博客都有讲解,通过搜索引擎寻找网站漏洞,实际上整个挖洞的过程基本上是撞大运,掏出谷歌,搜索inurl:php?id=,实际上搜索的都是php网站,然后一个个测试。。。作为一个菜鸡也只能这样了 往后面找,一个个测试 这个一看就可能存在sql诸如,开始测试,单引号,and1=1,and 1=2一顿操作, and1=1页面正常 1=2时页面错误 基本上就可以确定存在sql了,作为一名菜鸡,直接掏出sqlmap,拿到数据库之后找后台,找到后台之后寻找上传点拿shell,大概的过程就是这样,奈何本人水平太菜搞不定 来源: CSDN 作者: 安全我只会360 链接: https://blog.csdn.net/qq_25725865/article/details/103643357

JBOSS 未授权访问漏洞复现学习

僤鯓⒐⒋嵵緔 提交于 2019-12-21 05:59:49
0x00 漏洞简介 JBoss是一个基于J2EE的开放源代码应用服务器,代码遵循LGPL许可,可以在任何商业应用中免费使用;JBoss也是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3规范。 默认情况下访问 http://ip:8080/jmx-console 就可以访问管理控制台,不需要输入用户名和密码就可以直接浏览 JBoss 的部署管理的信息,部署上传木马,存在安全隐患。 影响范围:JBOSS 全版本 0x01 环境搭建 测试机:Ubuntu 2(16.04)+win10 靶机:Ubuntu(16.04) 使用docker搭建环境 1、查找修改过的testjboss镜像 docker search testjboss 2、从镜像仓库中拉取或者更新指定镜像 docker pull testjboss/jboss:latest 3、列出本地主机上的镜像 docker images 4、创建一个新的容器并运行 docker run -p 8080:8080 -d 5661a2e31006 5、访问IP:PORT 出现如下页面即安装成功 0x02 漏洞证明 1、访问 /jmx-console/ 无需认证即可进入 0x03 利用方法 利用Jboss未授权访问漏洞 远程部署木马 步骤如下 1、使用apache搭建远程木马服务器