PHP审计之class_exists与任意实例化漏洞 前言 发现PHP的一些漏洞函数挺有意思,跟着七月火师傅的文章来学习. class_exists函数 函数说明 class_exists:(PHP 4, PHP 5, PHP 7) 功能 :检查类是否已定义 定义 : bool class_exists ( string $class_name[, bool $autoload = true ] ) $class_name 为类的名字,在匹配的时候不区分大小写.默认情况下 $autoload 为…
前言 根据红日安全写的文章,学习PHP代码审计的第三节内容,题目均来自PHP SECURITY CALENDAR 2017,讲完相关知识点,会用一道CTF题目来加深巩固.之前分别学习讲解了in_array函数缺陷和filter_var函数缺陷,有兴趣的可以去看看: PHP代码审计01之in_array()函数缺陷 PHP代码审计02之filter_var()函数缺陷 漏洞分析 下面我们看第一题,代码如下: <?php function __autoload($className) { inclu…
  0x00 环境准备 XYHCMS官网:http://www.xyhcms.com/ 网站源码版本:XYHCMS V3.5(2017-12-04 更新) 程序源码下载:http://www.xyhcms.com/Show/download/id/2/at/0.html 测试网站首页: 0x01 代码分析 1.漏洞文件位置:/App/Manage/Controller/DatabaseController.class.php  第365-379行: public function downFil…
  0x00 环境准备 ThinkSNS官网:http://www.thinksns.com 网站源码版本:ThinkSNS V4  更新时间:2017-09-13 程序源码下载:http://www.thinksns.com/experience.html(填写信息后,提交并下载代码) 默认后台:http://127.0.0.1/index.php?app=admin&mod=Public&act=login 默认用户:管理员帐号: admin@admin.com密码自设,大于6位 测试…
  0x00 环境准备 EasySNS官网:http://www.imzaker.com/ 网站源码版本:EasySNS极简社区V1.60 程序源码下载:http://es.imzaker.com/index.php/Topic/gview/id/92.html 默认后台地址:http://127.0.0.1/admin.php/Login/login.html 默认账号密码:admin/admin 测试网站首页: 0x01 代码分析 1.        漏洞文件位置:  /app/common…
  0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chichu/cltphp 默认后台地址: http://127.0.0.1/admin/login/index.html 默认账号密码: 后台登录名:admin  密码:admin123 测试网站首页: 0x01 代码分析 1./app/admin/controller/Database.php  第203…
在文件下载操作中,文件名及路径由客户端传入的参数控制,并且未进行有效的过滤,导致用户可恶意下载任意文件.  0x01 客户端下载 常见于系统中存在文件(附件/文档等资源)下载的地方. 漏洞示例代码: . <?php . $filename = $_GET['filename']; . echo file_get_contents($filename); . header('Content-Type: imgage/jpeg'); . header('Content-Disposition: at…
0x01 代码分析 后台地址:192.168.5.176/admin.php admin admin 安装后的界面 在后台发布了一首新歌后,前台点进去到一个“下载LRC歌词”功能点的时候发现是使用readfile()函数的(readfile() 函数输出一个文件) 文件位置:\template\default\source\down.php 代码很短,这里下载文件漏洞我们重点关注readfile函数和传递给这个函数的参数,也就是$file,可以看到file这个变量是由geturl和getfiel…
IIS 6.0 PUT上传 任意文件创建漏洞 require 1.IIS Server在Web服务扩展中开启了WebDAV. 2.IIS配置了可以写入的权限,包括网站 1.根目录 2.子文件夹 3.iis网站属性目录选项卡 写入权限 利用 burp 测试 将GET方法改为OPTIONS后测试: 2.利用PUT方法上传一句话,404 利用平台…
文件下载接口的URL构造分析与讨论 某学院的文件下载接口 http://www.****.edu.cn/item/filedown.asp?id=76749&Ext=rar&fname=filedown.rar 参数分析: id 资源的id Ext 资源的文件下载格式 fname 文件下载后的名字 逻辑原理: 发送参数给filedown.asp,asp文件接收参数id的值并从数据库查询对于ID资源的URL地址,并且下载:按照ext格式进行下载返回,按照fname对下载返回的文件命名. 某协…
此漏洞无视gpc转义,过80sec注入防御. 补充下,不用担心后台找不到.这只是一个demo,都能修改任意数据库了,还怕拿不到SHELL? 起因是全局变量$GLOBALS可以被任意修改,随便看了下,漏洞一堆,我只找了一处. include/dedesql.class.php if(isset($GLOBALS['arrs1'])) { $v1 = $v2 = ''; for($i=0;isset($arrs1[$i]);$i++) { $v1 .= chr($arrs1[$i]); } for(…
此漏洞无视gpc转义,过80sec注入防御. 补充下,不用担心后台找不到.这只是一个demo,都能修改任意数据库了,还怕拿不到SHELL? 起因是全局变量$GLOBALS可以被任意修改,随便看了下,漏洞一堆,我只找了一处. include/dedesql.class.php 1 2 3 4 5 6 7 8 9 10 11 12 13 if(isset($GLOBALS['arrs1']))  {      $v1 = $v2 = '';      for($i=0;isset($arrs1[$i…
PS:该漏洞已被公布,只是学习.故自己跟着大佬的步伐审计. 文件地址:\controllers\ApiController.php Line 57 public function downAction() { $data = fn_authcode(base64_decode($this->get('file')), 'DECODE'); $file = isset($data['finecms']) && $data['finecms'] ? $data['finecms'] :…
漏洞文件: phpcms\modules\content\down.php 1.在download函数中对文件的校验部分 首先 if(preg_match('/(php|phtml|php3|php4|jsp|dll|asp|cer|asa|shtml|shtm|aspx|asax|cgi|fcgi|pl)(\.|$)/i',$f) || strpos($f, ":\\")!==FALSE || strpos($f,'..')!==FALSE) showmessage(L('url_e…
今天我们将讨论在WordPress插件WordPress插件与重点会员简化v1.58作为这个剧本的创作时间不打补丁的扶贫开发实践.脆弱脚本如下: CVE-ID:cve-2017-1002008 当然,也可以利用Google来找 inurl:/wp-content/plugins/membership-simplified-for-oap-members-only 问题 下面是上面脚本的一些问题: ①该脚本不检查有效登录WordPress的用户,也不保护自己免受直接访问-这使得它任意(不受限制)的…
漏洞文件: /apps/admin/Lib/Action/UpgradeAction.class.php 主要问题还是出现在了180行直接将远程获取到的图片直接保存. 文中可见并没有做任何的对$downUrl进行过滤,$path也是. 所以就顺利的通过file_get_contents远程获取到了文件,然后通过file_put_contents写入到了$path当中.所以你远程文件名是啥这儿就是啥. 那么现在就来构造Payload 1.首先先了解一下这个UpgradeAction.class.p…
dzzoffice 任意文件下载 \updload\dzz\system\save.php第72行开始:    elseif($_GET['do']=='move'){    $obz=trim($_GET['obz']);    $tbz=trim($_GET['tbz']);    $sourcetype=trim($_GET['sourcetype']);    $icoids=explode(',',$_GET['icoid']);    $ticoid=intval($_GET['ti…
环境搭建 怎么设置Mysql支持外联? use mysql; grant all privileges on *.* to root@'%' identified by '密码'; //授权语句 flush privileges; //刷新配置 MAC上设置Mysql环境允许外联 use mysql; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; //这一步是因为有的Mysql客户端是没有mysq…
昨日(2012.04.09)ThinkPHP框架被爆出了一个php代码任意执行漏洞,黑客只需提交一段特殊的URL就可以在网站上执行恶意代码. ThinkPHP作为国内使用比较广泛的老牌PHP MVC框架,有不少创业公司或者项目都用了这个框架.不过大多数开发者和使用者并没有注意到本次漏洞的危害性,提醒:此漏洞是一个非常严重的问题,只要使用了thinkphp框架,就可以直接执行任意php代码,使用thinkphp框架的各位站长赶快对自己的网站进检测,并修复. 修复方法: 1.下载官方发布的补丁: h…
Vim通过Modelines执行任意代码 漏洞概要: 在8.1.1365之前的Vim和在0.3.6之前的Neovim很容易通过打开特制的文本文件而通过模型执行任意代码. 复现条件: 确保未禁用modeline选项(:set modeline). 开启 modeline # vim /usr/share/vim/vimrc 大概在50行写入    :set modeline  复现过程: 1.    创建poc.txt 输入代码  :!uname -a||" vi:fen:fdm=expr:fde…
ref:https://xz.aliyun.com/t/2043 小结: 3.2.2版本之前的Apache-CommonsCollections存在该漏洞(不只该包)1.漏洞触发场景 在java编写的web应用与web服务器间java通常会发送大量的序列化对象例如以下场景: 1)HTTP请求中的参数,cookies以及Parameters. 2)RMI协议,被广泛使用的RMI协议完全基于序列化 4)JMX 同样用于处理序列化对象 5)自定义协议 用来接收与发送原始的java对象 2. 漏洞挖掘…
漏洞挖掘技术一直是网络攻击者最感兴趣的问题,漏洞挖掘的范围也在随着技术的提升而有所变化.在前期针对缓冲区溢出.格式化字符串.堆溢出.lib库溢出等技术都是针对ELF文件(Linux可执行文件)或者PE文件(Win可执行文件)的漏洞挖掘技术. 在针对ELF文件.PE文件(*.exe与*.dll)的漏洞挖掘过程中,出现了很多的漏洞挖掘技术,但是针对PE文件.ELF文件的漏洞挖掘始终停留在了黑盒测试(包括单元黑盒测试)源代码审计等办法.通过RATS等源代码审计软件可以找到部分源代码级别的漏洞信息,但是…
风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞 0x03 任意文件下载漏洞 一些网站由于业务需求,往往需要提供文件下载功能,但若对用户下载的文件不做限制,则恶意用户就能够下载任意敏感文件,这就是文件下载漏洞. 漏洞产生原因 有读取文件的函数 读物文件的路径用户可控,且没有经过校验,或者校验不严格 输出文件内容 一个正常的网站,存在一个下载文件的功能,同时还会从浏览器接收文件名字 文件下载的两种方式 1.直接下载: <a href="http://www.a.com/xxx.ra…
成因: 当文件上传时,若服务端脚本语言未对上传的文件进行严格验证和过滤,若恶意用户上传恶意的 脚本文件时,就有可能控制整个网站甚至是服务器,这就是文件上传漏洞. 权限: 1. 后台权限:登陆了后台,可以进行一些操作.配置 2. 网站权限:获得了webshell,可以进行查看源代码等操作 3. 服务器权限:可以对服务器进行任意操作 漏洞分类: 1.客户端(本地过滤文件名) 2.服务端(文件名,文件内容,mime类型检查,路径检测(nginx),00截断) 3.编辑器 4.查看中间件版本号,搜索是否…
Android安全之Https中间人攻击漏洞 0X01 概述   HTTPS,是一种网络安全传输协议,利用SSL/TLS来对数据包进行加密,以提供对网络服务器的身份认证,保护交换数据的隐私与完整性. 中间人攻击,Man-in-the-middle attack,缩写:MITM,是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制. https在理论上是可以抵御MITM,但是由于开发过程中的编码…
01)概述: 关于APP漏洞检测,分为两个层面的安全检测,包括手机应用层,以及APP代码层,与网站的漏洞检测基本上差不多,目前越来越多的手机应用都存在着漏洞,关于如何对APP进行漏洞检测,我们详细的介绍一下. APP代码: 代码加密解密,反混迹调试,模式器安装 APP应用: 跟网站漏洞检测是一样的,主要是一个SIGN值的正向,反向的算法,牵扯到https协议的传输绕过,SSL安全绕过. 02)APP漏洞检测-经常出现的漏洞 APP用户任意登录漏洞: 有些用户的登录调用的是token值,这个值是跟…
KPPW2.2 漏洞利用--文件下载 任意文件下载漏洞 环境搭建 1,集成环境简单方便,如wamp,phpstudy.... 2,KPPW v2.2源码一份(文末有分享)放到WWW目录下面 3,安装,访问(http://127.0.0.1/test/KPPW2.2UTF8/install/index.php)(如果显示500错误  Internal Server Error ,须将目录下面的 .htaccess 文件删除),选择下一步,下一步,填写数据库信息,后台管理员账号密码等等. 上述,漏洞…
前面大致讲解了下客户端的安全漏洞,现在来讲解下服务端的安全漏洞. 1.SQL注入(SQL Injection),是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击. 这里举个例子: 下面这个是一个正常的登录,密码为MD5加密,用户在界面输入用户名和密码后,通过post请求将值传入到后台服务器,最终通过拼接好的sql进行查询,查询返回正确则登录成功. 那么sql注入是怎么做的呢?由下图我们知道,我们用户名输入的是admin' -- ,而密码却无任何…
点评:记得曾经有段时间很多SRC平台被刷了大量APP本地拒绝服务漏洞(目前腾讯金刚审计系统已经可检测此类漏洞),移动安全团队发现了一个安卓客户端的通用型拒绝服务漏洞,来看看他们的详细分析吧. 0xr0ot和Xbalien交流所有可能导致应用拒绝服务的异常类型时,发现了一处通用的本地拒绝服务漏洞.该通用型本地拒绝服务可以造成大面积的app拒绝服务. 针对序列化对象而出现的拒绝服务主要是由于应用中使用了getSerializableExtra() 的API,由于应用开发者没有对传入的数据做异常判断,…
http://jz.qq.com/m_card.shtml POST /cgi-bin/league_change_userinfo HTTP/1.1 Host: jz.qq.com Connection: keep-alive Content-Length: 171 Cache-Control: max-age=0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Origin: http://jz.…