“雷一欧”通过精心收集,向本站投稿了9篇micecms一个鸡肋漏洞及修复 附EXP漏洞预警,以下是小编整理后的micecms一个鸡肋漏洞及修复 附EXP漏洞预警,仅供参考,希望能够帮助到大家。
- 目录
篇1:micecms一个鸡肋漏洞及修复 附EXP漏洞预警
不是说这个漏洞鸡肋需要什么条件 而是直接改管理员密码了 等你进后台后真正的管理员都进不到更不知道新密码是什么了 所以才鸡肋
经典对白 看代码!..........
index\\setpwdAction.php
运行路径是www.7747.net/index.php/setpwd 呵呵 看上去有点奇特哦
class setpwdAction extends security_normal {
function action{
$loginname=$this->_getParamId(1);
$forgetpwd=$this->_getParamId(2);
global $conn;
if($_POST['user_id']){ //-0-! 居然不是获取Session里的而是自己定义...漏洞所在
$user=new model_User(); //连接数据库
$user->setSubsection('WHERE user_id='.$_POST['user_id']); //查询会员ID 注意 是ID 不是name 默认管理员的ID 绝对是1
$results=$user->doSelectOne();
$password1=$_POST['pwd1']; //密码
$password2=$_POST['pwd2']; //确认密码
$pwd='';
if($password1==$password2 and strlen($password1)>4)
{
$salt = md5(rand(100000, 999999).$_POST['loginname']);
//这个数值用作多重加密密码 不错的加密思路 同时写在USER表里
$pwd=sha1($salt.$password1);
//不解析,。。 就是加密
}
if($results) //不解析
{
if(strlen($pwd)>0){ //没理由你打算空密码把?
$user->setSalt($salt);
$user->setPassword($pwd);
}
$user->setForgetpwd('');
$results=$user->doUpdate();
//写进去了...
if($results)
$exeresult='密码修改成功,请使用新密码登录网站';
else
$exeresult='验证错误,请联系网站管理员!';
//以下代码可以忽略
分析完毕 admin和会员同放在USER表里 所以这里直接修改了
后台登录地址www.7747.net/admin.php/login
EXP:
作者:心灵
修复:看代码自己改吧
篇2:80After CMS V4 鸡肋上传漏洞漏洞预警
By:小A
官方网址:www.reaft.com/
Cms下载地址:www.reaft.com/html/1/200.html
界面做的还不错,搜索了一下好像用的人很少,开始,
首先看目录下 UpLoad.html 文件上传,调用了的是 UpLoad.asp。
UpLoad.asp:
文件上传
<%
dim upload
set upload = new AnUpLoad
upload.Exe = “*”
upload.MaxSize = 4 * 1024 * 1024 '4M
upload.GetData()
if upload.ErrorID>0 then
response.Write upload.Description
else
postMess(“images/operate_02.jpg”)
dim savpath
savepath = “/upload/”&year(date())&“/”&month(date())&“/”
for each f in upload.files(-1)
dim file
set file = upload.files(f)
if not(file is nothing) then
if file.saveToFile(savepath,0,true) then
postMess(“images/operate_01.jpg”)
postValue = postValue&“”&savepath&file.filename&“|”
response.write (“”)
end if
end if
set file = nothing
next
end if
set upload = nothing
%>
然后在来看看:UpLoad_Class.vbs.asp。
UpLoad_Class.vbs.asp:
<%
'=========================================================
'类名: AnUpLoad(艾恩无组件上传类)
'=========================================================
C省略N行代码
Public Function GetWH()
'本函数代码参考网络
On Error Resume Next
mvarExtend = lcase(mvarExtend)
if instr(“|jpg|jpeg|bmp|png|gif|asa|”,“|” & mvarExtend & “|”)<=0 then exit function
Dim m_binItem
Set m_binItem =server.CreateObject(“ADODB.Stream”)
m_binItem.Mode = 3
m_binItem.Type = 1
m_binItem.Open
Dim Info
Set Info = server.CreateObject(“ADODB.Recordset”)
Info.Fields.Append “value”, 205, -1
Info.Open
Info.AddNew
Info(“value”).AppendChunk (mvarValue)
m_binItem.Write (Info(“value”))
Info(“value”).AppendChunk (Null)
Info.Update
Info.Close
Set Info = Nothing
select case lcase(mvarExtend)
case “jpg”,“jpeg”
m_binItem.Position=3
do while not m_binItem.EOS
do
intTemp = Ascb(m_binItem.Read(1))
loop while intTemp = 255 and not m_binItem.EOS
if intTemp < 192 or intTemp >195 then
m_binItem.read(Bin2Val(m_binItem.Read(2))-2)
else
Exit do
end if
do
intTemp = Ascb(m_binItem.Read(1))
loop while intTemp < 255 and not m_binItem.EOS
loop
m_binItem.Read(3)
mvarHeight = Bin2Val(m_binItem.Read(2))
mvarWidth = Bin2Val(m_binItem.Read(2))
case “gif”
if Lcase(strFext)“gif” then strFext=“gif”
m_binItem.Position=6
mvarWidth = BinVal2(m_binItem.Read(2))
mvarHeight = BinVal2(m_binItem.Read(2))
case “png”
if Lcase(strFext)“png” then strFext=“png”
m_binItem.Position=18
mvarWidth = Bin2Val(m_binItem.Read(2))
m_binItem.Read(2)
mvarHeight = Bin2Val(m_binItem.Read(2))
case “bmp”
if Lcase(strFext)“bmp” then strFext=“bmp”
m_binItem.Position=18
mvarWidth = BinVal2(m_binItem.Read(4))
mvarHeight = BinVal2(m_binItem.Read(4))
case “asa”
if Lcase(strFext)“asa” then strFext=“asa”
m_binItem.Position=18
mvarWidth = BinVal2(m_binItem.Read(2))
mvarHeight = BinVal2(m_binItem.Read(2))
end select
m_binItem.Close
If err then
mException=Err.Description
End If
End Function
看红色部分,其他就不解释了,
直接上传asa拿shell。
还有就是上传可能会提示登录,直接伪造session就可以通过了。(站长评论:什么、?伪造 Session???……我了个擦,这要是能伪造,那岂不、、、小A同学可能是看错了,当成了cookie ……)
验证代码在 admin.asp。
admin.asp:
<%
if session(“username”)=“” and session(“password”)=“” then
session(“Errortxt”)=“登录超时,请重新登陆”
response.Redirect(“login.asp”)
response.end
end if
%>
其他就不多说了!
重新编辑了一下,第一次发贴,格式不对,请见谅。
这个应该算是一个漏洞吧,不知道是不是作者故意加上的,在上传扩展名,检查那里,居然加了个asa,无意间发现的。
篇3:Discuz2.x3.x鸡肋通杀注入漏洞漏洞预警
首先说明这个东西价值不大,测试通杀2.x-3.x,以下的版本没看,具体的利用方法本人也没去研究,顶多mysql有file权限的时候可以getshell,当然discuz还是有不少地方有问题的,这个不能说,。。
问题出在文件uc_clientmodelbase.php 的function note_exists函数
1function note_exists { $noteexists = $this->db->fetch_first(“SELECT value FROM ”.UC_DBTABLEPRE.“vars WHERE name='noteexists”.UC_APPID.“'”); if(empty($noteexists)) { returnFALSE; } else { return TRUE; } }
标红的UC_DBTABLEPRE 常量是从configconfig_ucenter.php 文件读取出来的
标红的UC_DBTABLEPRE 常量是从configconfig_ucenter.php 文件读取出来的
而这个东西是可控的,
在后台站长->UCenter设置
更新一次,表前缀成功写入文件后,下一次更新的时候会调用note_exists函数,于是就触发了漏洞。
篇4:dedecms 补出来的一个鸡肋漏洞漏洞预警
作者:冰的原点[L.S.T]&[0.S.T]
刚看了下小帅同志的博客发现上面又介绍了一个关于dedecms的一个0day(www.xssor.cn/sa/?action=show&id=58),不过这个漏洞和几个月前的那个直接写文件的漏洞好象不在一个文件(我记得不太清楚,大家勿怪),刚好手里有一个dedecms的站,但是测试的时候老是不成功,于是下载了一套最新版的dede下载下来看了一下,原来官方早已经补了。可是我在测试的时候,发现官方的补救措施不太明显。下面我们来回顾一下漏洞的形成。在member/story_add_content_action.php文件夹下有如下代码:
WriteBookText($arcID,stripslashes($body));
再来看一下这个函数是处么写的,在include\\inc_bookfunctions.php:
function WriteBookText($cid,$body)
{
global $cfg_cmspath,$cfg_basedir;
$ipath = $cfg_cmspath.“/data/textdata”;
$tpath = ceil($cid/5000);
if(!is_dir($cfg_basedir.$ipath)) MkdirAll($cfg_basedir.$ipath,$GLOBALS['cfg_dir_purview']);
if(!is_dir($cfg_basedir.$ipath.'/'.$tpath)) MkdirAll($cfg_basedir.$ipath.'/'.$tpath,$GLOBALS['cfg_dir_purview']);
$bookfile = $cfg_basedir.$ipath.“/{$tpath}/bk{$cid}.php”;
$body = “<”.“?php exit();\\r\\n”.$body.“\\r\\n?”.“>”;
@$fp = fopen($bookfile,'w');
最重要的是这一句:$body = “<”.“?php exit();\\r\\n”.$body.“\\r\\n?”.“>”;我没看以前的代码,但是前面加了一个exit();后,即使我们写入一句话,文件里的内容就会变成
好了,漏洞分析到这里了!这也是我们的一句话为什么写进去了却连不上的原因了!有什么说的不对的地方,还请大家指正!
篇5:QCMS 1.6小漏洞及修复漏洞预警
百度和GG告诉我太少人用了 所以放出来
问题出在后台登录验证
private function _admin_login
{
if((!empty($_REQUEST['api']) || $_REQUEST['api'] == $this->p_site['connect']) || $_COOKIE['api'] == $this->p_site['connect']){
setcookie (“api”, $this->p_site['connect'], time() + 31536000, “/”);
return;
}
if(empty($_COOKIE['user']['username']) || empty($_COOKIE['user']['level']) || empty($_COOKIE['user']['password']))
{
exec_script('window.top.location.href=“'.SITEPATH.'”');return;//什么年代了还COOKIES
}
$user_obj = self::load_model('Q_User');
$result = $user_obj->select(array('username' =>$_COOKIE['user']['username'], 'password' =>$_COOKIE['user']['password'], 'level' =>$_COOKIE['user']['level']));
//上面是验证COOKIES里的帐号密码和用户权限
if(!$result)
{
exec_script('window.top.location.href=“'.SITEPATH.'”');return;
}
}
//问题不在上面 问题是exec_script.......
function exec_script($str) { echo '
补充下:7楼宝宝说了下 感概有道理
说明下怎么意思 首先
if(empty($_COOKIE['user']['username']) || empty($_COOKIE['user']['level']) || empty($_COOKIE['user']['password']))
{exec_script('window.top.location.href=“'.SITEPATH.'”');return;//什么年代了还COOKIES 这里可以构建COOKIES去绕过 不管数值对和不对
至于怎么构建 火狐浏览器有COOKIES EDIT插件 不会用的话 百度搜索老兵COOKIES欺骗浏览器 估计能找到
然后程序是验证COOKIES里的帐号密码 权限有没有存在
$user_obj = self::load_model('Q_User');
$result = $user_obj->select(array('username' =>$_COOKIE['user']['username'], 'password' =>$_COOKIE['user']['password'], 'level' =>$_COOKIE['user']['level'])); 如果不存在 那么
if(!$result)
{
exec_script('window.top.location.href=“'.SITEPATH.'”');return; 跳转回去登录界面
问题在于 exec_script. 这个自定义函数
function exec_script($str) { echo '
篇6:phpaa cms 0day及修复漏洞预警
Author:BlAck.Eagle
cookie欺骗
漏洞文件:/admin/global.php
/**
* 后台公用配置文件
*
* 用于后台应用初始化、后台权限验证 等
*/
require_once '../data/config.inc.php'; //系统初始化文件
require_once '../include/function.admin.php'; //后台公用函数库
//后台登陆验证
if (!isset($_COOKIE['userid']) empty($_COOKIE['userid'])){ //程序员只是判断了 userid是否存在,当然可以绕过,
phpaa cms 0day及修复漏洞预警
,
防范的话就是session验证或者生成随机数的cookie
setcookie(lastURL,get_url());//上次访问地址
header(“Location: login.php”);
}
?>
利用方式:通过cookie&&sqlinjection工具伪造userid=任意值。然后访问/admin/index.php即可进入后台
修复方案:
进行session验证或者生成随机数的cookie
篇7:QVODCMS V4.0相关漏洞利用及修复漏洞预警
先是上传:
位于admin/Fckeditor/maxcms_upload.htm 可以直接访问
maxcms_upload.htm :
form. name=“form” id=“form” enctype=“multipart/form-data” action=“maxcms_upload.asp?act=up” method=post>
调用maxcms_upload.asp
maxcms_upload.asp:
' www.2cto.com 判断文件类型
if lcase(up_fileExt)=“asp” and lcase(up_fileExt)=“asa” and lcase(up_fileExt)=“aspx” then
CheckFileExt(up_fileExt)=false
end if
if CheckFileExt(up_fileExt)=false then
response.write “文件格式不正确 [ 重新上传 ]”
response.end
end if
很明显过滤了asp asa aspx .... so you know how to use! php cer....
位于Admin\\Fckeditor\\editor\\qvodcms_editor_server下有FCK不过被改名了 也可用直接访问利用
有:
frmupload.html
frmresourcetype.html
frmresourceslist.html
frmfolders.html
frmcreatefolder.html
frmactualfolder.html
Data/##QVODCMS4.0.mdb
md5加密的
后台路径:admin/
用户名:qvodcms
密 码:qvodcms
认证码: qvodcms
but........
安全提醒:你必须修改默认后台admin目录名称不然无法输入帐号密码进后台!
so 你需要猜后台,
QVODCMS V4.0相关漏洞利用及修复漏洞预警
,
篇8:Ybcms 通杀0day及修复漏洞预警
作者:hackdn
百度上没搜到,顺手发下吧
FCKEDITOR的上传漏洞:fck/editor/filemanager/connectors/test.html
上传.asa;jpg
没有TEST.HTML的,保存下面EXP.自己填上网址
FCKeditor - Connectors Tests
Connector:
ASP
/fck/editor/filemanager/connectors/aspx/connector.asp“>ASP.Net
ColdFusion
Lasso
Perl
/fck/editor/filemanager/connectors/php/connector.php”>PHP
Python
Current Folder
Resource Type
File
Image
Flash
Media
Invalid Type (for testing)
Get Folders
Get Folders and Files
Create Folder
File Upload
URL:
篇9: 认证设计缺陷及修复漏洞预警
简要描述: 设计缺陷,导致在知道原账号密码的情况下,即使修改密码一样可以被人取得权限发表微博,添加关注之类操作,可以参考www.80sec.com/session-hijackin.html
详细说明: 认证上存在缺陷,由于用户的认证是保存在
浏览器里的,用户在修改密码的时候并不会导致原有认证状态的失效,只要用户保持不退出将一直获得用户的身份
漏洞证明:开两个浏览器,一个chrome一个ie,登录之后在chrome里修改密码之后无论是chrome和ie里的用户将都不会退出,导致一个session hijacking的攻击,看起来是修改密码无效
修复方案: www.badguest.cn/Article/200812/31068.html
作者 结界师
★ 漏洞整改报告
★ Shopv8 商城系统 v12.07 Cookies 注入漏洞漏洞预警
★ Andys PHP Knowledgebase 0.95.4 SQL注入漏洞及修复
★ ewebeditor(PHP) Ver 3.8 任意文件上传0day漏洞预警
★ 永久网络个人音乐盒LajoxBox v1.1上传漏洞利用漏洞预警
micecms一个鸡肋漏洞及修复 附EXP漏洞预警(整理9篇)




