Post

Webverselabs Parchive Challenge Command Injection

Webverselabs Parchive Challenge Command Injection

Scenario :

Parchive is a document-archiving SaaS founded in 2020 in Boston for mid-market law firms and audit shops, with seats starting at $89/month and a customer base of around 4,000 active reviewers. The bulk-export feature was rewritten last summer by a contractor who pushed back on the team’s request for a whitelist, arguing it would break power-user filenames; the compromise was a small “obvious junk” check on the archive name field. A client flagged some unexpected behaviour in the export endpoint during a routine review.

Solution :

image

As usual , we will navigate the application just like a normal user , understand different features , functionalities , then check Burp History to see the different requests that were made to the server .

image

After navigating the application , we find this Download button , looking at Burp’s History , this is the only POST request made to the server , and the only one containing a parameter we can tamper with .

image

I sent it to Repeater then tried some basic Command Injection payloads , injecting the first parameter resulted in an error .

image

But upon trying the same payload on the archive_name parameter , we dont get any errors :

image

Perfect we can try adding a different command , to see if we do actually have a command injection :

image

Perfect , we do have our commmand injection , now to read the flag , we don’t really know if spaces are blocked by default , for this we will use some basic bypasses , i already have this section on my methodology so i will just use it :

1
2
3
4
5
6
7
8
# Bypass Space : 

Check with New Line :  

\n : %0a ==> This is usually not blacklisted , we can check with this one , if it doesnt break anything , we probably have Command Injection .

===> Use $IFS : This is a known linux env variable .  
Ip=127.0.0.1%0a${IFS} 

So our payload will simply be :

1
%0acat${IFS}/flag.txt 

image

That was it for this challenge , see you in the next one :)

This post is licensed under CC BY 4.0 by the author.