0x01 代码分析 后台地址:192.168.5.176/admin.php admin admin 安装后的界面 在后台发布了一首新歌后,前台点进去到一个“下载LRC歌词”功能点的时候发现是使用readfile()函数的(readfile() 函数输出一个文件) 文件位置:\template\default\source\down.php 代码很短,这里下载文件漏洞我们重点关注readfile函数和传递给这个函数的参数,也就是$file,可以看到file这个变量是由geturl和getfiel…
  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位 测试…
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'] :…
  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 环境准备 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…
  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…
在文件下载操作中,文件名及路径由客户端传入的参数控制,并且未进行有效的过滤,导致用户可恶意下载任意文件.  0x01 客户端下载 常见于系统中存在文件(附件/文档等资源)下载的地方. 漏洞示例代码: . <?php . $filename = $_GET['filename']; . echo file_get_contents($filename); . header('Content-Type: imgage/jpeg'); . header('Content-Disposition: at…
文件下载接口的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对下载返回的文件命名. 某协…
漏洞文件: 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…
文件下载漏洞 漏洞代码: <% function download(f,n) on error resume next Set S=CreateObject("Adodb.Stream") S.Mode= S.Type= S.Open S.LoadFromFile(f) then Reaponse.status=" else Response.ContentType="application/octet-stream" Response.AddHea…
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…
今天我们将讨论在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…
任意文件下载漏洞 很多网站都会提供文件下载功能,即用户可以通过点击下载链接,下载到链接所对应的文件. 但是,如果文件下载功能设计不当,则可能导致攻击者可以通过构造文件路径,从而获取到后台服务器上的其他的敏感文件.(任意文件下载) 在靶场的unsafe filedownload栏目可以看到 这些球星 这里提示我们,点击球员的名字可以下载, 我们尝试点击一下 确实是进行了下载,但是我们右击球员的名字,选择新建标签页打开链接 在下载的同时,我们看到了下载的url 这里通过get请求,下载了名为kb.p…
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 为…
应该算0day吧,自己分析出来的,有点鸡肋,不过小cms分析确实比较简单. xss地址:search.php?word=a><img+src=1+onerror=alert`1`>a&type=1 对于word的参数,他的过滤是这样的 $trim_str = ' .,;[]|+-=_`~!@#$%^&*()<>?{}'; empty($this->type) && $this->type = 1; $this->type =…
从Java的角度谈下文件下载漏洞的产生,然后到他的修复方案.这里我的修复方案是白名单,而没有采用黑名单的方式. 首先先看一段存在文件下载漏洞的代码code: HTML视图页面  download.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <bo…
IIS 6.0 PUT上传 任意文件创建漏洞 require 1.IIS Server在Web服务扩展中开启了WebDAV. 2.IIS配置了可以写入的权限,包括网站 1.根目录 2.子文件夹 3.iis网站属性目录选项卡 写入权限 利用 burp 测试 将GET方法改为OPTIONS后测试: 2.利用PUT方法上传一句话,404 利用平台…
前言 根据红日安全写的文章,学习PHP代码审计的第三节内容,题目均来自PHP SECURITY CALENDAR 2017,讲完相关知识点,会用一道CTF题目来加深巩固.之前分别学习讲解了in_array函数缺陷和filter_var函数缺陷,有兴趣的可以去看看: PHP代码审计01之in_array()函数缺陷 PHP代码审计02之filter_var()函数缺陷 漏洞分析 下面我们看第一题,代码如下: <?php function __autoload($className) { inclu…
0x01 代码分析 发现在app\system\include\module\old_thumb.class.php疑似有任意文件读取漏洞 public function doshow(){ global $_M; $dir = str_replace(array('../','./'), '', $_GET['dir']); if(substr(str_replace($_M['url']['site'], '', $dir),0,4) == 'http' && strpos($dir,…
很老的漏洞了,但很经典~ 在 phpcms2008/include/global.func.php eval  可以执行命令 在这里我们看一下是谁调用 跟进string2array函数 yp/web/include/common.inc.php $menu变量初始化不严,导致可以注入执行任意PHP代码 我们访问 common.inc.php肯定是无法访问的,但是我们可以先搜索一下,看看有哪些文件调用common.inc.php 这里我们进入yp/web/index.php 发现竟然无法访问,我们…
先来看看PHPCMS V9.6.0的任意下载 还是和上次的注入一样,是个由parse_str() 函数引发的变量覆盖. 位于 /phpv9.6.0/phpcms/modules/content/down.php 的init() 函数  第11-82行 先是获取$a_k = trim($_GET['a_k']);  跟注入分析的时候一样就不多bb了, 参数f就是要下载的文件值,继续执行,当遇到p72行 if(preg_match('/(php|phtml|php3|php4|jsp|dll|asp…
文章来源:https://xz.aliyun.com/t/1633 最近在先知上看到之前有篇关于java代码审计的文章总结的蛮好,记录以下特征函数,方便查阅,同时自己也会将在平时代码审计过程中积累的函数补充在这篇文章中.(虽然作者已经很贴心的提供了脚本). 1.xxe 常见解析xml的类有如下: javax.xml.parsers.DocumentBuilderjavax.xml.stream.XMLStreamReaderorg.jdom.input.SAXBuilderorg.jdom2.i…
此漏洞无视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…
  0x00 环境准备 YzmCMS官网:http://www.yzmcms.com/ 程序源码下载:http://pan.baidu.com/s/1pKA4u99 测试网站首页: 0x01 代码分析 1.文件位置: /application/admin/controller/admin_manage.class.php第35-59行中: public function add() { $admin = D('admin'); $admin_role = D('admin_role'); $ro…
0x01 url任意跳转 未做任何限制,传入任何网址即可进行跳转. 漏洞示例代码: <?php $redirect_url = $_GET['url']; header("Location: " . $redirect_url); exit; ?> Payload:?url=http://www.baidu.com,即可跳转到百度首页 0x02 编码解码 之前黑盒测试遇到过一个案例,感觉有点意思,写个demo复现一下 漏洞示例代码: <?php $url = base…
命令执行漏洞:通过易受攻击的应用程序在主机操作系统上执行任意命令,用户提供的数据(表单,cookie,http头等)未过滤 挖掘思路:用户能够控制函数输入,存在可执行代码的危险函数 命令执行和代码执行的区别:命令执行 执行效果不受限于语言,语法本身,不受命令本身限制代码执行 执行效果完全受限语言本身 命令执行类型:代码层过滤不严,系统的漏洞造成命令注入,调用的第三方组件存在代码执行漏洞 常见危险函数system函数string system(string $command[,int &$retu…
代码执行漏洞代码执行漏洞是指应用程序本身过滤不严,用户可以通过请求将代码注入到应用中执行,当应用在调用一些能将字符串转化成代码的函数(如php中的eval)时,没有考虑到用户是否能控制这个字符串,造成代码注入. 挖掘思路:存在可执行代码的危险函数,用户能控制函数的输入. 常见危险函数 eval和assert函数:eval(),assret()将输入的字符串参数作为PHP程序代码来执行代码1:<?phpif(isset($_GET['cmd'])){   $cmd = $_GET['cmd']; …
0x01 代码分析 安装好后是这样的 漏洞文件地址\include\common.inc.php 首先是在这个文件发现存在变量覆盖的漏洞 foreach(array('_COOKIE', '_POST', '_GET') as $_request) { foreach($$_request as $_key => $_value) { $_key{0} != '_' && $$_key = daddslashes($_value,0,0,1); $_M['form'][$_key]…