Tags: pil python python3 

Rating:

# Full WriteUp
Full Writeup on our website: [http://www.aperikube.fr/docs/easyctf_2018_pixelly/](http://www.aperikube.fr/docs/easyctf_2018_pixelly/)

-----

# TL;DR

In this task we had to connect to [http://c1.easyctf.com:12489/](http://c1.easyctf.com:12489/) and to look at the source code.

The website proposed us to **upload an image**, which was **converted to an ascii art and evaluated** with eval.

The ascii art was made of the following chars:** -”~rc()+=01exh%** .

We identified that we could forge strings with chr() and number chr(110+10-1) and exec code with exec().

To get the flag **we had to evaluate “print(flag)” **width the following payload:

exec(chr(111+1)+chr(111+1+1+1)+chr(101+1+1+1+1)+chr(110)+chr(111+1+1+1+1+1)+chr(10+10+10+10)+chr(101+1+ 0%1)+chr(110-1-1)+chr(100-1-1-1)+chr(101+1+1)+chr(10+10+10+10+1))

We had to **convert the payload into an image with correct color tones for each char**.

By uploading the image, we got the flag.

Original writeup (http://www.aperikube.fr/docs/easyctf_2018_pixelly/).