среда, 9 декабря 2015 г.

One more useful PHP class for unserialize() bugs

In a hurry to share PHP common class for deserialization vulnerabilities.
It's FileCookieJar class of Guzzle project.

Look at its destructor https://github.com/guzzle/guzzle/blob/master/src/Cookie/FileCookieJar.php#L37-L61:
<?
    public function __destruct()
    {
        $this->save($this->filename);
    }
    /**
     * Saves the cookies to a file.
     *
     * @param string $filename File to save
     * @throws \RuntimeException if the file cannot be found or created
     */
    public function save($filename)
    {
        $json = [];
        foreach ($this as $cookie) {
            /** @var SetCookie $cookie */
            if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) {
                $json[] = $cookie->toArray();
            }
        }
        if (false === file_put_contents($filename, json_encode($json))) {
            throw new \RuntimeException("Unable to save file {$filename}");
        }
    }
?>
Who can construct valid exploit without hints? ;)
It's easy.

1 комментарий:

  1. Thanks for sharing, nice post!

    Chia sẻ các mẹ bí quyết cách nấu cháo khoai lang cho bé cho bé ăn dặm hay nấu trứng món ăn dặm cho bé với bài nấu cháo trứng gà với rau gì hay bột yến mạch có vai trò giúp bé khỏe mạnh với bài cách nấu cháo yến mạch cho bé hay cua biển nấu cháo như thế nào cháo cua biển nấu với rau gì hay cá chép rất bổ cho bé thì nấu như thế nào với bài cách nấu cháo cá chép cho bé con trai cũng rất bổ dưỡng cho bé mẹ tham khảo cách nấu cháo trai cho bé hay cách nấu cháo trứng cho bé ăn dặm với bài nấu cháo trứng gà với rau gì hay cháo tim heo nấu như thế nào với bài nấu cháo tim lợn với rau gì hay trẻ sơ sinh ngủ như thế nào với bài trẻ sơ sinh ngủ ít có ảnh hưởng gì đến sức khỏe của trẻ hay không.

    ОтветитьУдалить